🔒 SÉCURITÉ - Audit UnionFlow: Corrections Critiques et Majeures
## 🔴 CRITIQUES 1. Suppression du secret hardcodé du Dockerfile (KEYCLOAK_CLIENT_SECRET) Les secrets doivent maintenant être injectés via Kubernetes Secrets 2. Configuration TLS sécurisée par défaut - quarkus.oidc.tls.verification=required (au lieu de 'none') - Prévient les attaques Man-in-the-Middle - 'none' reste disponible uniquement en développement local ## 🟠 MAJEURES - Ajout de annotationProcessorPaths pour Lombok dans maven-compiler-plugin Assure la génération correcte des getters/setters/builders ## 📋 Contexte Suite à l'audit de sécurité AUDIT_INTEGRAL_COMPLET_2025.md Score avant: 5.6/10 - NE PAS DÉPLOYER EN PRODUCTION Problèmes critiques identifiés et corrigés ## ⚠️ ACTION REQUISE Créer le Kubernetes Secret avant déploiement: kubectl create secret generic unionflow-client-secrets \ --namespace=applications \ --from-literal=keycloak-client-secret='...' Voir: kubernetes/secrets/README.md 🤖 Generated with Claude Code
This commit is contained in:
@@ -16,8 +16,9 @@ ENV QUARKUS_HTTP_HOST=0.0.0.0
|
|||||||
ENV UNIONFLOW_BACKEND_URL=https://lions.dev/unionflow
|
ENV UNIONFLOW_BACKEND_URL=https://lions.dev/unionflow
|
||||||
|
|
||||||
# Configuration Keycloak OIDC
|
# Configuration Keycloak OIDC
|
||||||
|
# IMPORTANT: Les secrets doivent être injectés via Kubernetes Secrets au runtime
|
||||||
ENV KEYCLOAK_AUTH_SERVER_URL=https://security.lions.dev/realms/unionflow
|
ENV KEYCLOAK_AUTH_SERVER_URL=https://security.lions.dev/realms/unionflow
|
||||||
ENV KEYCLOAK_CLIENT_SECRET=unionflow-client-secret-2025
|
# ENV KEYCLOAK_CLIENT_SECRET will be injected via Kubernetes Secret
|
||||||
|
|
||||||
# Créer l'utilisateur appuser
|
# Créer l'utilisateur appuser
|
||||||
RUN addgroup -g 185 appuser && adduser -D -u 185 -G appuser appuser
|
RUN addgroup -g 185 appuser && adduser -D -u 185 -G appuser appuser
|
||||||
|
|||||||
8
pom.xml
8
pom.xml
@@ -214,6 +214,14 @@
|
|||||||
<target>17</target>
|
<target>17</target>
|
||||||
<encoding>UTF-8</encoding>
|
<encoding>UTF-8</encoding>
|
||||||
<parameters>true</parameters>
|
<parameters>true</parameters>
|
||||||
|
<!-- Configuration Lombok pour génération de code à la compilation -->
|
||||||
|
<annotationProcessorPaths>
|
||||||
|
<path>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>${lombok.version}</version>
|
||||||
|
</path>
|
||||||
|
</annotationProcessorPaths>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
|||||||
@@ -74,7 +74,9 @@ quarkus.oidc.authentication.redirect-path=/auth/callback
|
|||||||
quarkus.oidc.authentication.restore-path-after-redirect=true
|
quarkus.oidc.authentication.restore-path-after-redirect=true
|
||||||
quarkus.oidc.authentication.scopes=openid,profile,email,roles
|
quarkus.oidc.authentication.scopes=openid,profile,email,roles
|
||||||
quarkus.oidc.token.issuer=https://security.lions.dev/realms/unionflow
|
quarkus.oidc.token.issuer=https://security.lions.dev/realms/unionflow
|
||||||
quarkus.oidc.tls.verification=none
|
# SÉCURITÉ: TLS verification DOIT être 'required' par défaut
|
||||||
|
# Seulement 'none' en développement local (voir application-dev.properties)
|
||||||
|
quarkus.oidc.tls.verification=required
|
||||||
# quarkus.oidc.authentication.force-redirect-https=false # Not supported in this Quarkus version
|
# quarkus.oidc.authentication.force-redirect-https=false # Not supported in this Quarkus version
|
||||||
quarkus.oidc.authentication.cookie-same-site=lax
|
quarkus.oidc.authentication.cookie-same-site=lax
|
||||||
quarkus.oidc.authentication.java-script-auto-redirect=false
|
quarkus.oidc.authentication.java-script-auto-redirect=false
|
||||||
|
|||||||
Reference in New Issue
Block a user