31
Sécuriser un serveur Web JABBARI Taoufik

Sécuriser un serveur web

Embed Size (px)

Citation preview

Page 1: Sécuriser un serveur web

Sécuriser un serveur Web

JABBARI Taoufik

Page 2: Sécuriser un serveur web

PLAN◉ Introduction◉ Mise en situation :

- CentOS.- Apache.

◉ Sécuriser CentOS◉ Sécuriser Apache.◉ Conclusion.

Page 3: Sécuriser un serveur web

Introduction1

Page 4: Sécuriser un serveur web

Mise en situation2

Page 5: Sécuriser un serveur web

CENTOSUne distribution Linux principalement

destinée aux serveurs.

Page 6: Sécuriser un serveur web

Très stableMises à jour fréquentesL’outil YUM

Grande communauté

Page 7: Sécuriser un serveur web

APACHEUn serveur web gratuit et open source

destiné aux serveurs web.

Page 8: Sécuriser un serveur web

Open-SourceSécurisé

ExtensibleGrande communauté

Page 9: Sécuriser un serveur web

Sécuriser CentOS

Page 10: Sécuriser un serveur web

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

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

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

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

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

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

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

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

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

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

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

Securiser Apache

Page 22: Sécuriser un serveur web

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

Cacher la signature serveur :

Protéger Apache

Page 24: Sécuriser un serveur web

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

Désactiver l’affichage des répertoires

Protéger Apache

Page 26: Sécuriser un serveur web

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

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

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

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

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

Des questions ?

Merci pour votre attention!

Travail effectué par :JABBARI Taoufik