🛡️ Sécurisation d'Apache
Objectif : contrôler qui peut accéder à un site ou dossier Apache
Méthodes étudiées : 🔐 Basic Auth · 🏠 Restriction IP · 🏢 LDAP · 🔑 Certificat Client
1) 🔐 Authentification Basique (Basic Auth)
🎯 Principe
Protéger une ressource avec identifiant + mot de passe.
Les identifiants sont encodés en Base64 → utiliser HTTPS pour la sécurité.
🧪 Tester avec curl
curl --basic -u user:password https://example.com
⚙️ Configuration Apache
<Directory /var/www/nextcloud>
AuthType Basic
AuthName "nc_access"
AuthBasicProvider file
AuthUserFile "/var/www/users_list.txt"
Require valid-user
</Directory>
👤 Création du fichier utilisateur
htpasswd -c /var/www/users_list.txt monuser
2) 🏠 Restriction par Adresse IP
🎯 Principe
Limiter l’accès à certaines adresses IP.
<Directory /var/www/site>
Require ip 192.168.1.0/24
Require ip 127.0.0.1
</Directory>
| Exemple | Effet |
|---|---|
Require ip 127.0.0.1 | Accès seulement local |
Require ip 192.168.0.0/16 | Accès réseau interne |
3) 🏢 Authentification LDAP
🎯 Principe
Utiliser l’annuaire d’entreprise (LDAP / Active Directory).
AuthBasicProvider ldap
AuthLDAPURL ldap://ldaphost/o=entreprise.lab
→ L’utilisateur se connecte avec ses identifiants professionnels.
4) 🔑 Authentification par Certificat Client (SSL)
🎯 Principe
L’accès est autorisé uniquement si le client possède un certificat.
🛠️ Générer un certificat client
openssl x509 -req -CA root_ca.crt -CAkey root_ca.key -in client_req.csr -out client.crt
📦 Créer un fichier importable dans le navigateur
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
.p12= certificat + clé → importable dans Chrome / Firefox
✅ Tableau Récapitulatif
| Méthode | Utilisation | Mots-clés à retenir |
|---|---|---|
| Basic Auth | Login + mot de passe | AuthUserFile, Require valid-user |
| IP / Host | Restriction réseau | Require ip |
| LDAP | Comptes entreprise | AuthBasicProvider ldap |
| Certificat Client | Accès ultra sécurisé | .crt, .key, .p12 |
🎓 À Retenir
AuthType Basic→ Auth basiqueRequire valid-user→ Tous les comptes valides autorisésRequire ip→ Restriction par IPAuthBasicProvider ldap→ Auth via LDAP- Certificat client = méthode la plus sécurisée