GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sécuriser votre serveur ISPConfig 3 contre l'attaque SSL caniche

Version 1.2 
Auteur :Till Brehm 
 Suivez howtoforge sur Twitter
Publié   2014-10-16

Dans le guide suivant, je décrirai les étapes pour sécuriser votre serveur contre la récente attaque SSL de caniche. J'utiliserai un serveur parfait ISPConfig 3 sur Debian 7 pour mes exemples, mais les mêmes étapes fonctionneront également sur toute autre distribution Linux. Un serveur d'hébergement ISPConfig par défaut exécute les services suivants :Webserver (Nginx ou apache), serveur de messagerie (Postfix et Dovecot / Courier), Serveur FTP (pure-ftpd) qui offrent des connexions SSL/TLS et sont des cibles potentielles pour une attaque caniche.

Je suppose que vous êtes connecté à votre serveur en tant qu'utilisateur root. Si vous travaillez sur Ubuntu et que vous n'êtes pas connecté en tant que root, ajoutez "sudo" à toutes les commandes ou exécutez "sudo -" pour devenir un utilisateur root.

Serveur Web Apache

Pour sécuriser un serveur web apache, la ligne

Protocole SSL tous -SSLv2 -SSLv3

doit être ajouté dans chaque vhost SSL sur le serveur. Si le paramètre SSLProtocol n'est pas explicitement défini dans un vhost, le paramètre global est appliqué. Dans le cas d'un serveur ISPConfig 3, le paramètre SSLProtocol peut être défini globalement car les vhosts ne remplacent pas ce paramètre. Sur un serveur Debian ou Ubuntu, ouvrez le fichier /etc/apache2/mods-available/ssl.conf dans un éditeur

nano /etc/apache2/mods-available/ssl.conf

faites défiler vers le bas jusqu'à ce que vous voyiez les lignes :

# activer uniquement les protocoles sécurisés :SSLv3 et TLSv1, mais pas SSLv2
SSLProtocol all -SSLv2

et changez-les en :

# activer uniquement les protocoles sécurisés :mais pas SSLv2 et SSLv3
SSLProtocol all -SSLv2 -SSLv3

Puis redémarrez apache

redémarrage du service apache2

Serveur Web Nginx

Pour un serveur Web nginx, la ligne

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ;

doit être ajouté dans chaque section SSL server { }. Si le paramètre SSLProtocol n'est pas explicitement défini dans une section de serveur { }, le paramètre global de la section http { } est appliqué. Dans le cas d'un serveur ISPConfig 3, le paramètre SSLProtocol peut être défini globalement dans la section http { } car les sections du serveur { } ne remplacent pas ce paramètre. Sur un serveur Debian ou Ubuntu, ouvrez le fichier /etc/nginx/nginx.conf dans un éditeur

nano /etc/nginx/nginx.conf

et ajoutez la ligne :

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 ;

après la ligne :

http{

puis redémarrez nginx :

redémarrage du service nginx

Serveur de messagerie Postfix

Pour forcer postfix à ne pas fournir les protocoles SSLv2 et SSLv3, exécutez ces commandes :

postconf -e 'smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3'
postconf -e 'smtpd_tls_protocols=!SSLv2,!SSLv3'
postconf -e 'smtp_tls_protocols=!SSLv2,!SSLv3'

Cela ajoutera les lignes :

smtpd_tls_mandatory_protocols =!SSLv2,!SSLv3
smtpd_tls_protocols =!SSLv2,!SSLv3
smtp_tls_protocols =!SSLv2,!SSLv3

dans le fichier /etc/postfix/main.cf. Exécutez ensuite cette commande pour appliquer la nouvelle configuration :

redémarrage postfixé du service

Serveur Dovecot IMAP / POP3

Dovecot prend en charge les paramètres du protocole SSL dans la version 2.1 et les versions ultérieures. La première étape consiste donc à déterminer quelle version de colombier vous utilisez. La commande est :

pigeonnier --version

sur mon serveur j'ai obtenu le résultat suivant :

[email protected] :~# dovecot --version
2.1.7
[email protected] :~#

ce qui indique que mon serveur prend en charge les paramètres ssl_protocol.

Modifier le fichier de configuration du colombier

nano /etc/dovecot/dovecot.conf

et ajoutez la ligne

protocoles_ssl =!SSLv2 !SSLv3

juste après la ligne ssl_key, votre fichier devrait ressembler à ceci :


ssl_key =ssl_protocols =!SSLv2 !SSLv3

et enfin redémarrez dovecot pour appliquer les changements :

redémarrage du colombier de service

Serveur Courier POP3 / IMAP

Le serveur de courrier imap et pop3 offre des connexions via le protocole SSLv3 par défaut, nous devons donc également le reconfigurer. Les fichiers de configuration du courrier se trouvent dans le dossier /etc/courier/. Commençons d'abord par le fichier de configuration du démon IMAP :

nano /etc/courier/imapd-ssl

Ajoutez ou remplacez les lignes suivantes :

IMAPDSTARTTLS=OUI
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Modifiez ensuite le fichier de configuration du démon POP3 :

nano /etc/courier/pop3d-ssl

Ajoutez ou remplacez les lignes suivantes :

POP3STARTTLS=OUI
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Redémarrez enfin les démons de messagerie :

service courier-imap-ssl redémarrage
service courier-pop-ssl redémarrage

FTP avec pure-ftpd

Sécuriser pure-ftpd sur Debian et Ubuntu est un peu plus compliqué car le script /usr/sbin/pure-ftpd-wrapper de Debian ne prend pas en charge le commutateur -J qui est utilisé par pure-ftpd pour définir les protocoles ssl. La première étape consiste donc à ajouter la prise en charge de l'option -J dans le script wrapper. Cela ne fonctionnera pas dans Debian 6 car la version pure-ftpd de Debian 6 est trop ancienne et n'a pas de paramètre pour les protocoles SSL. Ainsi, la seule option pour les utilisateurs de Debian 6 sera de passer à Debian 7. Ouvrez le fichier

nano /usr/sbin/pure-ftpd-wrapper

et faites défiler jusqu'à la ligne

'TLS' => ['-Y %d', \&parse_number_1],

et ajoutez cette nouvelle ligne juste après :

'TLSCipherSuite' => ['-J %s', \&parse_string],

Enfin, nous créons un fichier de configuration qui contient les protocoles SSL que nous voulons autoriser :

echo 'HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3'> /etc/pure-ftpd/conf/TLSCipherSuite

pour appliquer les modifications, redémarrez pure-ftpd. Sur mon serveur, j'utilise pure-ftpd avec mysql, donc le nom du démon est pure-ftpd-mysql au lieu de juste pure-ftpd.

redémarrage du service pure-ftpd-mysql

le résultat devrait ressembler à ceci :

[email protected] :~# service pure-ftpd-mysql restart
Redémarrage du serveur ftp :en cours d'exécution :/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql .conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log - E -u 1000 -A -B
[email protected] :~#

l'option -J a donc été ajoutée avec succès à la séquence de démarrage du démon.

  • Attaque caniche SSL
  • ISPConfig

Linux
  1. Comment joindre votre serveur Linux au projet de pool NTP

  2. Comment évaluer ou vérifier la vitesse de votre serveur DNS sous Linux ?

  3. Comment ajouter une adresse IP supplémentaire à votre serveur Ubuntu 18.04

  4. Comment sécuriser le serveur PostgreSQL

  5. Comment sécuriser votre serveur Ubuntu avec le pare-feu CSF

Comment changer le nom d'hôte du serveur dans Ubuntu

Comment faire un transfert SSL de Tomcat à Tomcat sur CentOS

Comment sécuriser le serveur LEMP avec Let's Encrypt Free SSL sur Ubuntu 18.04 VPS

Comment masquer la version de votre serveur NGINX.

Comment changer le fuseau horaire sur le serveur Ubuntu 18.04 ?

Comment sécuriser SSH avec Fail2Ban