Download - Sécuriser un serveur web
![Page 1: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/1.jpg)
Sécuriser un serveur Web
JABBARI Taoufik
![Page 2: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/2.jpg)
PLAN◉ Introduction◉ Mise en situation :
- CentOS.- Apache.
◉ Sécuriser CentOS◉ Sécuriser Apache.◉ Conclusion.
![Page 3: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/3.jpg)
Introduction1
![Page 4: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/4.jpg)
Mise en situation2
![Page 5: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/5.jpg)
CENTOSUne distribution Linux principalement
destinée aux serveurs.
![Page 6: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/6.jpg)
“
Très stableMises à jour fréquentesL’outil YUM
Grande communauté
![Page 7: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/7.jpg)
APACHEUn serveur web gratuit et open source
destiné aux serveurs web.
![Page 8: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/8.jpg)
“
Open-SourceSécurisé
ExtensibleGrande communauté
![Page 9: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/9.jpg)
Sécuriser CentOS
![Page 10: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/10.jpg)
Protection physique
Avant de faire quoi que ce soit , il est indispensable pour l’administrateur de désactiver les périphériques de données externes.
Protéger Centos
![Page 11: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/11.jpg)
Supprimer les programmes inutiles
Afficher la liste des programmes installé :
Pour désinstaller :
Protéger Centos
Yum list installed
Yum remove packageName
![Page 12: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/12.jpg)
Pare-Feu
Le pare-feu va filtrer tout le trafic en n’autorisant que les échanges permis par l’administrateur. Pour l’installer sous CentOS , il suffit d’utiliser la commande YUM :
Protéger Centos
SUDO YUM INSTALL IPTABLES
![Page 13: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/13.jpg)
Pare-Feu
Pour consulter les règles courantes il faut taper la commande suivante :
Protéger Centos
iptables -L -v
![Page 14: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/14.jpg)
Pare-Feu
Pour ajouter des règles il faut taper les lignes suivantes dans le fichier situé dans /etc/init.d/firewall :Pour le port 80 par exemple :
Pour Loop back :
Protéger Centos
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT
![Page 15: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/15.jpg)
PORTSENTRY
Cet utilitaire permet de bloquer en temps réel la plupart des scans de port connus :
Protéger Centos
YUM INSTALL PORTSENTRY
![Page 16: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/16.jpg)
FAIL2BAN
Fail2ban est un utilitaire qui se base sur les logs de la machine pour chercher des actions suspectes répétées (par exemple, des erreurs de mots de passe) dans un laps de temps donné. S’il en trouve, il bannira l’IP de l’attaquant via iptables.
Protéger Centos
YUM INSTALL FAIL2BAN
![Page 17: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/17.jpg)
RKHUNTER
Rkhunter est un utilitaire qui est chargé de détecter d’éventuels rootkits sur votre serveur. Il est relativement léger (s’exécute une fois par jour par défaut).Il est possible de spécifier un émail pour recevoir des alertes de RKHUNTER.
Protéger Centos
YUM INSTALL RKHUNTER
![Page 18: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/18.jpg)
Les fichiers LOG
◉/var/log/auth.log qui contient toutes les tentatives d’accès au serveur. ◉/var/log/message et /var/log/syslog contient les erreurs, bugs, informations, etc;◉/var/log/fail2ban est le log d’alerte de fail2ban. /var/log/rkhunter pour voir les rapports quotidien de Rkhunter.
Protéger Centos
![Page 19: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/19.jpg)
Les fichiers LOG
◉Pour ce simplifier la tâche , il est possible d’utiliser le programme logwatch qui permet de résumer plusieurs logs afin de ne vous retourner que des anomalies si possible. Cela évite un long et fastidieux travail de recherche.
Protéger Centos
YUM INSTALL LOGWATCH
![Page 20: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/20.jpg)
Quelques conseils :
◉ Interdire les utilisateurs sans mot de passe.◉ Toujours choisir de bons mots de passe.◉ Maintenir son système à jour (yum update).
Protéger Centos
![Page 21: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/21.jpg)
Securiser Apache
![Page 22: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/22.jpg)
Installer Apache :
Document Racine :
Fichier de configuration :
Protéger Apache
YUM INSTALL APACHE
/var/www/html
/etc/httpd/conf/httpd.conf
![Page 23: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/23.jpg)
Cacher la signature serveur :
Protéger Apache
![Page 24: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/24.jpg)
Cacher la signature serveur :
Prise en compte de la nouvelle configuration :
Protéger Apache
ServerSignature Off ServerTokens Prod
Service httpd restart
![Page 25: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/25.jpg)
Désactiver l’affichage des répertoires
Protéger Apache
![Page 26: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/26.jpg)
Désactiver l’affichage des répertoires
Prise en compte de la nouvelle configuration :
Protéger Apache
<Directory /var/www/html> Options -Indexes </Directory>
Service httpd restart
![Page 27: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/27.jpg)
Protection contre les attaques de type DDoS :
Protéger Apache
Limiter la taille de la requête HTTP :
<Directory "/var/www/myweb1/user_uploads"> LimitRequestBody 512000 </Directory>
![Page 28: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/28.jpg)
Protection contre les attaques de type DDoS :
Protéger Apache
Autres paramètres disponibles dans le fichier de configuration Apache pour se protéger contre ce type d’attaque :• TimeOut : Le temps maximum pour qu’un script s’éxecute.• MaxClients : Nombre de session maximum avec le serveur.• KeepAliveTimeout : Le temps pour que le serveur ferme la connection.• LimitRequestFields : Le nombre maximum de requetes HTTP reçus du client.
![Page 29: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/29.jpg)
Activer les fichiers LOG d’Apache
Protéger Apache
<VirtualHost *:80>DocumentRoot /var/www/html/example.com/ServerName www.example.comDirectoryIndex index.htm index.html index.phpServerAlias example.comErrorDocument 404 /story.phpErrorLog /var/log/httpd/example.com_error_log</VirtualHost>
![Page 30: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/30.jpg)
Quelques conseils :
◉ Il faut mettre à jour régulièrement Apache.◉ Il faut utiliser ses propres pages d’erreurs
personnalisés.◉ Effacer les logs chaque fin de mois grâce à CRON.◉ Désactiver les modules inutiles pour avoir plus de
contrôle.
Protéger Apache
![Page 31: Sécuriser un serveur web](https://reader036.vdocuments.site/reader036/viewer/2022062412/5871263f1a28abe4448b630f/html5/thumbnails/31.jpg)
Des questions ?
Merci pour votre attention!
Travail effectué par :JABBARI Taoufik