GLPI Security: Hardening and Best Practices

Complete security checklist for GLPI in production: public folder, HTTP headers, TLS, permissions, updates, monitoring and hardening.

GLPI in production without hardening is an easy target. This checklist covers the critical security points every administrator should verify.

Security checklist

1. DocumentRoot in the public folder

The web server (Apache/Nginx) must point to /var/www/glpi/public, not to /var/www/glpi. Without this, internal files are accessible via URL.

2. Remove installation files

rm -f /var/www/glpi/install/install.php

3. Change default passwords

Immediately change the passwords for: glpi, tech, normal, post-only. Consider disabling unused accounts.

4. Mandatory HTTPS

Configure SSL/TLS and redirect HTTP to HTTPS. Use Let's Encrypt for free certificates.

5. Security headers

Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header set Content-Security-Policy "default-src 'self'"

6. Directory permissions

  • /var/www/glpi: read for www-data
  • /var/lib/glpi: read+write for www-data
  • /etc/glpi: read for www-data, no web access
  • /var/log/glpi: write for www-data, no web access

7. Keep it updated

Apply security patches as soon as they are available. Use the CVE Scan module to monitor vulnerabilities.

8. Backup and DR plan

See our backup and disaster recovery guide.

9. Monitoring

Monitor GLPI with Zabbix or Grafana: availability, performance, authentication errors (brute force attempts).

10. Strong authentication

Implement SSO with Azure AD + MFA. Disable local login for users who use SSO.

Frequently Asked Questions

The most common are: installation files not removed, public folder not configured as DocumentRoot, default credentials not changed and outdated version with known CVEs.

Since GLPI 10, the web server DocumentRoot must point to /var/www/glpi/public (not /var/www/glpi). This prevents direct access to internal GLPI files.

The NexTool CVE Scan module automatically checks CVEs of the installed version and audits 17 security points of the environment.

Not natively in the core. Plugins like MFA (TICGAL) add multi-factor authentication via TOTP. Alternatively, use SSO with Azure AD/Okta which already has MFA.

Need help?