You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-03-24 11:18:14

Chico008
Member
Registered: 2022-12-14
Posts: 383

Warning de securité sur Dernière version Nightly

J'ai pris la dernire nightly dispo pour tester, et j'ai ce message sur la page principale

Web server root directory configuration is not safe as it permits access to non-public files. See installation documentation for more details.

je n'arrive pas trop a comprendre ce que je suis censé corriger.
surtout que j'ai rien changer depuis le debut que je fait des test avec glpi, et c'est la premiere fois que j'ai ce message

une idée de ce que je doit corriger ?
je trouve rien relatif a ce message dans la doc ou ailleur.

Offline

#2 2023-03-24 14:57:46

homebrewtainy
Member
Registered: 2020-04-04
Posts: 135

Re: Warning de securité sur Dernière version Nightly

Bonjour Chico008,

Tu trouveras la réponse dans ce PR de la DocInstall ... pas facile à trouver (depuis un rebond dans GitHub... bref)

https://glpi-install--74.org.readthedoc … web-server

J'ai un (tout petit) peu galéré, mais dès qu'il faut changer des années d'habitudes bien ancrées, on oublie souvent le fameux " RTFM "

:-)


Creuser, creuser... creuser.
GLPI 10.0.12 [ Linux el 9.2 PHP 8.2.x MariaDB 10.5 ] - reverse proxy HTTPS
GLPI Inventory 1.3.3 - Data Injection 2.13.3 - Treeview (Arborescence) 1.10.2

Offline

#3 2023-03-24 15:16:27

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

Ce serait le require all granted
mais de mon coté j'ai une authentification SSO avec GSSAPI, et un require valid user
ce qui fait qu'un anonyme hors de notre domaine n'accède pas au site de toute facon

et effectivement meme en cherchant dans la doc, j'avais pas trouver cette partie de conf apache hmm

J'ai quand meme essayer d'ajouter les location match, require all granted, et les rewrite, mais ca n'a rien changer, meme apres reboot du serveur et re-authentification, j'ai toujours le meme message qui apparait.

Last edited by Chico008 (2023-03-24 15:17:08)

Offline

#4 2023-03-24 15:28:35

homebrewtainy
Member
Registered: 2020-04-04
Posts: 135

Re: Warning de securité sur Dernière version Nightly

Yep,

Tu as bien vu que le DocumentRoot préconisé est :

 /var/www/glpi/public 

et non plus :

 /var/www/html/glpi/ 

Donc le tar doit être décompressé dans

 /var/www/ 

Creuser, creuser... creuser.
GLPI 10.0.12 [ Linux el 9.2 PHP 8.2.x MariaDB 10.5 ] - reverse proxy HTTPS
GLPI Inventory 1.3.3 - Data Injection 2.13.3 - Treeview (Arborescence) 1.10.2

Offline

#5 2023-03-24 15:50:50

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

de mon coté je decompresse mon tar dans /var/www

sur mon site le document root etait /var/www/glpi et ca marche
si je change pour mettre /var/www/glpi/public
en documentroot et en <directory ...>

si j'essaie d'accer au site, je suis rediriger sur http://site.glpi/front/central.php et je prend une erreur 404
avec un autre navigateur, je suis rediriger sur http://site.glpi/front/login.php et idem, erreur 404

edit : ok, c'est bon, j'avais oublier de remettre les location et rewrite >_<
par contre si je fait ca, les agents windows en place ne peuvent plus contacter le serveur pour remonter leurs inventaire
coté agent :
Fri Mar 24 14:54:21 2023][error] [http client] authentication required, no credentials available
[Fri Mar 24 14:54:21 2023][error] [http client] unexpected content, starting with: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
[Fri Mar 24 14:54:21 2023][error] No supported answer from server at http://site.glpi/plugins/glpiinventory/

y'a un truc qui doit clocher avec les locations match hmm

dans ma conf j'avais ajouter un <directory ...> specifique au glpiinventory qui ne demandait pas de passer par l'authentification sso.

Last edited by Chico008 (2023-03-24 15:58:00)

Offline

#6 2023-03-24 19:15:51

homebrewtainy
Member
Registered: 2020-04-04
Posts: 135

Re: Warning de securité sur Dernière version Nightly

Re bonjour / bonsoir Chico008,

Je sais que chaque installation a ces spécificités, mais pour ma part (avec un environnement de type RHEL 9.x) voilà le " walkthrough " de base :

curl -LO https://nightly.glpi-project.org/glpi/10.0-[latest-git].tar.gz

systemctl stop httpd.service php-fpm.service crond.service
systemctl --no-pager -l status httpd.service php-fpm.service crond.service

tar -xvzf 10.0-[latest-git].tar.gz -C /var/www/

cat > /var/www/glpi/config/local_define.php << ENDOFFILE
<?php
// Use system cron
define('GLPI_SYSTEM_CRON', true);

ENDOFFILE

chown -R root:root /var/www/glpi/
chcon -R system_u:object_r:httpd_sys_content_t:s0 /var/www/glpi/

chown apache:apache /var/www/glpi/config/
chcon system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/glpi/config/

chown -R apache:apache /var/www/glpi/files/
chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/glpi/files/

chown apache:apache /var/www/glpi/marketplace/
chcon system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/glpi/marketplace/

cat > /etc/httpd/conf.d/glpi.conf << ENDOFFILE
<VirtualHost *:80>
    ServerName glpi.domain.tld

    DocumentRoot /var/www/glpi/public

    <LocationMatch "(?i)^(?!/\.|\.php|/config/|/files/|(/(marketplace|plugins)/[^/]+)?(/node_modules/|/vendor/))(?<PATH>((/(marketplace|plugins)/[^/]+)?/public/.+|.+\.(html?|js|css|gif|jpe?g|png|svg|mp3|ogg|wav|mp4|ogm|ogv|webm|eot|otf|ttf|woff2?)|/(marketplace|plugins)/[^/]+/(?!composer\.json|package\.json|package-lock\.json).+\.json|.*/favicon.ico))$">
        # Use default handler for safe static files, and fallback to GLPI router when file not exists.
        Alias "/var/www/glpi%{env:MATCH_PATH}"
        FallbackResource /index.php
    </LocationMatch>

    <Directory /var/www/glpi/public>
        Require all granted

        RewriteEngine On

        # Redirect all requests to GLPI router, unless file exists.
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName sub-domain-for-agent.domain.tld
    DocumentRoot /var/www/glpi/marketplace/glpiinventory
</VirtualHost>

ENDOFFILE

chown -v root:root /etc/httpd/conf.d/glpi.conf
chcon -v system_u:object_r:httpd_config_t:s0 /etc/httpd/conf.d/glpi.conf

apachectl configtest

cat > /etc/cron.d/glpi << ENDOFFILE
# GLPI core
# Run cron to execute task even when no user connected
* * * * * apache /usr/bin/php /var/www/glpi/front/cron.php
ENDOFFILE

chmod 0644 /etc/cron.d/glpi
chown root:root /etc/cron.d/glpi
chcon system_u:object_r:system_cron_spool_t:s0 /etc/cron.d/glpi

cat > /etc/logrotate.d/glpi << ENDOFFILE
# Rotate GLPI logs daily, only if not empty
# Save 14 days old logs under compressed mode
/var/log/glpi/*.log {
su apache apache
daily
rotate 14
compress
notifempty
missingok
create 644 apache apache
}
ENDOFFILE

chmod 0644 /etc/logrotate.d/glpi
chown root:root /etc/logrotate.d/glpi
chcon system_u:object_r:etc_t:s0 /etc/logrotate.d/glpi


systemctl start httpd.service php-fpm.service crond.service
systemctl --no-pager -l status httpd.service php-fpm.service crond.service

Après, mes frontaux pulbics sont toujours des reverse-proxy Apache qui font la réécriture en HTTPS et pointent vers leurs GLPI-Backend aussi sous Apache, en HTTP.

Les GLPI-Agent passent par une URL spécifique, tamisée par le reverse-proxy avant d'être envoyée au

DocumentRoot /var/www/glpi/marketplace/glpiinventory

my two cents


Creuser, creuser... creuser.
GLPI 10.0.12 [ Linux el 9.2 PHP 8.2.x MariaDB 10.5 ] - reverse proxy HTTPS
GLPI Inventory 1.3.3 - Data Injection 2.13.3 - Treeview (Arborescence) 1.10.2

Offline

#7 2023-03-27 08:46:43

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

On a pas de reverse de notre coté, et pour le site principal on fait du SSO

sur ma conf, j'ai un SSO activé pour le site principa, et un simple require all granted pour l'accès au plugins/glpiinventory par les agent, pas d'alias de site

sur ma conf apache, j'ai un directory correspondant au site, qui lui a une conf en SSO
et un autre directory, pour le plugins/glpiinventory, pour les agent, qui a un simple require all granted

problème, si je met la conf complète vers le public (avec les locationmatch, rewrite, etc), le site principal marche, mais les agents ne passent plus.
je suis pas asser calé en conf apache (j'avais deja galerer pour faire fonctionner le SSO + conf pour les agents.) pour faire cohabiter la nouvelle conf avec une qui marcherait avec mes agents, sans être obliger de redéployer tout les agents (ce qui n'est plus envisageable)

Offline

#8 2023-04-05 15:58:30

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

Je remonte un peu le sujet

Sortie de la 10.0.7 officielle tout a l'heure
installé et en fonction
mais toujours le warning, et toujours impossible de faire en sorte d'avoir le site sur le dossier ../public/ (avec l'index qui fait routeur avec SSO)
et la partie agent qui tape dans le plugins.

soit j'ai les 2, mais le warning
soit j'ai le site sans warning, mais les agents ne peuvent plus contacter le serveur pour remonter leur inventaires.

rappel de ma conf

document root / var/www/glpi
une directive directory sur ce dossier avec conf SSO

une directive sur el dossier /plugins/glpiinventory/ sans SSO pour les agents.

Si quelqu'un a une solution, je suis preneur.

Offline

#9 2023-04-05 17:03:30

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

Solution trouvé via demande sur le Github

AliasMatch "^/(plugins/glpiinventory/(index\.php)?)$" "/var/www/glpi/$1"

a mettre avant les Directory ou Location

Offline

#10 2023-04-05 18:23:51

homebrewtainy
Member
Registered: 2020-04-04
Posts: 135

Re: Warning de securité sur Dernière version Nightly

Bonsoir Chico008,

Désolé de ne pas avoir pu aider pour la SSO... sujet pas pratiqué dans mon périmètre.

Le principale est que la solution soit apparue, mais je n'aurai pas pensé à un regex AliasMatch !.


Creuser, creuser... creuser.
GLPI 10.0.12 [ Linux el 9.2 PHP 8.2.x MariaDB 10.5 ] - reverse proxy HTTPS
GLPI Inventory 1.3.3 - Data Injection 2.13.3 - Treeview (Arborescence) 1.10.2

Offline

#11 2023-04-06 09:11:13

Chico008
Member
Registered: 2022-12-14
Posts: 383

Re: Warning de securité sur Dernière version Nightly

de mon coter si j'avais pas de reponse j'allais tenter un lien symbolique du dossier public vers le dossier plugins
en theorie ca marcherait aussi (apache pouvant suivre les liens symbolique si on lui indique), mais du coup pas tester car l'alias fonctionne.

n'etant pas a l'aise avec les regex et la conf apache avancée, je l'aurais pas trouver.

Offline

Board footer

Powered by FluxBB