sécuriser un serveur web
TRANSCRIPT
Sécuriser un serveur Web
JABBARI Taoufik
PLAN◉ Introduction◉ Mise en situation :
- CentOS.- Apache.
◉ Sécuriser CentOS◉ Sécuriser Apache.◉ Conclusion.
Introduction1
Mise en situation2
CENTOSUne distribution Linux principalement
destinée aux serveurs.
“
Très stableMises à jour fréquentesL’outil YUM
Grande communauté
APACHEUn serveur web gratuit et open source
destiné aux serveurs web.
“
Open-SourceSécurisé
ExtensibleGrande communauté
Sécuriser CentOS
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
Supprimer les programmes inutiles
Afficher la liste des programmes installé :
Pour désinstaller :
Protéger Centos
Yum list installed
Yum remove packageName
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
Pare-Feu
Pour consulter les règles courantes il faut taper la commande suivante :
Protéger Centos
iptables -L -v
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
PORTSENTRY
Cet utilitaire permet de bloquer en temps réel la plupart des scans de port connus :
Protéger Centos
YUM INSTALL PORTSENTRY
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
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
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
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
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
Securiser Apache
Installer Apache :
Document Racine :
Fichier de configuration :
Protéger Apache
YUM INSTALL APACHE
/var/www/html
/etc/httpd/conf/httpd.conf
Cacher la signature serveur :
Protéger Apache
Cacher la signature serveur :
Prise en compte de la nouvelle configuration :
Protéger Apache
ServerSignature Off ServerTokens Prod
Service httpd restart
Désactiver l’affichage des répertoires
Protéger Apache
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
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>
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.
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>
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
Des questions ?
Merci pour votre attention!
Travail effectué par :JABBARI Taoufik