You are not logged in.
Bonjour,
Je viens chercher une idée de solution concernant le nouveau point de sécurité "La configuration du dossier racine du serveur web n'est pas sécurisée car elle permet l'accès à des fichiers non publics".
Je viens de passer à la version 10.0.11 de GLPI (sur debian), tout fonctionne correctement et il me reste cette partie à faire. Avec la documentation et les différents forums, j'ai réussi à configurer comme indiqué le dossier racine. Mais voilà mon problème : la configuration fonctionne aussi avec une authentification SSO (kerberos dans mon cas), et je ne parviens pas à faire faire marcher kerberos en respectant la configuration sécurisé du dossier racine.
J'ai essayer de bidouiller (étant pas un grand expert du sujet) la configuration Apache en mixant la configuration à rajouter et celle de kerberos mais à chaque fois, l'authentification kerberos ne fonctionne plus.
Je poste donc ce message en espérant que quelqu'un aurait une idée ou exemple pour faire fonctionner kerberos et pouvoir avoir la configuration sécurisé du dossier racine.
Merci d'avance
Last edited by Emile (Yesterday 10:52:44)
Offline
Hello,
Pour ma part je suis sur Ubuntu server 22.04, j'ai réussi à faire fonctionner en HTTPS avec certificat mais impossible pour le SSO...
J'utilise GSSAPI et tester beaucoup de config mais rien n'y fait, j'ai toujours la fenêtre "pop-up" qui demande de m'authentifier.
J'aussi généré un keytab en HTTPS/ sur mon serveur AD.
Qu'as-tu utiliser pour ta config SSO ?
Offline
faire fonctionner en HTTPS avec certificat
Mon site GLPI est en http donc je ne sais pas si c'est différent pour fonctionner avec un SSO.
Alors je m'y connais peu, j'ai juste fait des recherches sur mon problème et dans mes fichiers de config et voici tout ce que j'ai pu trouver à propos de la config active du serveur :
La partie dans apache2.conf
<Directory /var/www/html/glpi>
AuthName "CLIENT GLPI Authentification"
AuthType Kerberos
# BrowserMatch Windows gssapi-no-negotiate
KrbAuthRealms NOM_DOMAINE
KrbServiceName HTTP
Krb5Keytab /etc/apache2/nom_fichier.keytab
KrbLocalUserMapping on
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthoritative on
Require valid-user
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Satisfy All
</Directory>
La partie (avec les lignes potentiellement utiles) de krb5.conf (fichier kerberos de config):
[libdefaults]
default_realm = NOM_DOMAINE
...
[realms]
NOM_DOMAINE = {
admin_server = adresse_serveur_AD
kdc = adresse_serveur_AD
auth_to_local = DEFAULT
}
...
[domain_realm]
.NOM_DOMAINE = NOM_DOMAINE
NOM_DOMAINE = NOM_DOMAINE
.nom_domaine = NOM_DOMAINE
nom_domaine = NOM_DOMAINE
la fenêtre "pop-up"
Je sais qu'elle est déjà survenu (pour je ne sais quel raison précise : peut être d'avoir vider le cache du navigateur, modifier la config d'apache2, ...) mais c'est rare. Je rentrais alors les identifiants à la main 2 fois de suite (oui 2 fois je ne saurais pourquoi) et ensuite j'accédais au site et je pouvais me déconnecter et retaper l'adresse et là kerberos fonctionne.
*********************************
Sinon grâce à ta question, je me suis repencher sur le problème en réalisant que j'avais pas compris réellement quelle config permet à mon site de tourner.
J'ai mis en commentaire la majorité du code possible afin de voir quels éléments sont indispensables, et je me suis rendu compte que les fichiers se trouvant dans /etc/apache2/sites-enabled n'étaient pas utilisés par le service apache2.
Mon prédécesseur avait mis une config avec les paramètres lié au site GLPI mais finalement cette partie n'est pas utilisé.
J'ai donc mis en commentaire le code non nécessaire du vrai fichier de config apache2.conf dont toutes les parties contenant <Directory /var/www/html.. > (et notamment la partie kerberos)
Je me demande du coup comment apache2 sait que le dossier racine du site est /var/www/html (sachant que mon site tourne toujours) avec dans ce répertoire un index.html redirigeant l'adresse vers http://ip_serveur/glpi
On dérive un peu sur mon problème initial mais je pense que comprendre ça pourrait m'aider à résoudre ce problème. Sachant qu'il faut que je redirige du coup sur le dossier public pour la configuration sécurisé du dossier racine indiqué dans les nouvelles normes de sécurité de la v10 de GLPI.
Last edited by Emile (2024-04-24 14:33:08)
Offline
Bon depuis, je suis passer en HTTPS (sur un serveur test), j'ai continué de chercher et trifouiller ma config mais rien n'y fait.
<VirtualHost *:443>
ServerName adresse_serveur
ServerAdmin adminglpi@localhost
DocumentRoot /var/www/html/glpi/public
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/glpi.crt
SSLCertificateKeyFile /etc/apache2/ssl/glpi.key
Alias "/glpi" "/var/www/html/glpi/public"
<Directory /var/www/html/glpi/public>
AuthName "CLIENT GLPI Authentification"
AuthType Kerberos
KrbAuthRealms NOM_DOMAINE
KrbServiceName HTTP
Krb5Keytab /etc/apache2/glpi.keytab
KrbLocalUserMapping on
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthoritative on
Require valid-user
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Satisfy All
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
<Directory /var/www/html/glpi/plugins/glpiinventory>
Require all granted
</Directory>
</VirtualHost>
Si quelqu'un aurait une idée de que ce j'ai mal fait !
Last edited by Emile (2024-04-29 12:49:09)
Offline
Avec énormément de tentative, j'ai par miracle réussi à faire fonctionner mon SSO tout en ayant la configuration du dossier racine sécurisé.
Voici au final ce que j'ai :
<VirtualHost *:443>
ServerName adresse_serveur
ServerAdmin adminglpi@localhost
DocumentRoot /var/www/html/glpi/public
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/glpi.crt
SSLCertificateKeyFile /etc/apache2/ssl/glpi.key
<Directory /var/www/html/glpi/public>
Options FollowSymLinks
AllowOverride None
Require all granted
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
Alias "/glpi" "/var/www/html/glpi/public"
<Directory /var/www/html/glpi/public>
AuthName "CLIENT GLPI Authentification"
AuthType Kerberos
KrbAuthRealms NOM_DOMAINE
KrbServiceName HTTP
Krb5Keytab /etc/apache2/glpi.keytab
KrbLocalUserMapping on
KrbMethodNegotiate on
KrbMethodK5Passwd on
KrbAuthoritative on
Require valid-user
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Allow from X.X.X.X
Satisfy All
</Directory>
<Directory /var/www/html/glpi/plugins/glpiinventory>
Require all granted
</Directory>
</VirtualHost>
Je passe donc en résolu ce sujet mais je reste preneur d'explication si quelqu'un comprend et saurai pourquoi il fallait faire cela.
Last edited by Emile (Yesterday 10:53:19)
Offline