Quels services sont actifs, sont-ils tous nécessaires ?
Pour voir les services que nous avons actifs, vous pouvez utiliser le commande netstat. Par exemple depuis une connexion SSH :
root @ server1: ~ # netstat -aIl nous montre tous les services actifs et à l'écoute pour recevoir des utilisateurs ou des connexions, ici on en voit comme Apache (http) pour servir des pages Web, smtp service d'envoi d'e-mails, ftp pour télécharger des fichiers.
Vous pouvez arrêter un service s'il est inutile ou s'il prend beaucoup de mémoire ou de cpu, pour cela on peut voir la consommation avec la commande :
root @ server1: ~ # ps aux --sort cputime
Ici, nous pouvons voir Mysql, l'antivirus Clamav, Oui Pigeonnier est un serveur open source IMAP et POP3. Ici nous pouvons voir le processus exécuté par nous précédemment, il est important de ne pas confondre la colonne START qui a des dates et des heures, elle indique à quelle date ou heure l'opération a commencé.
Ensuite, pour arrêter un exemple de service Mysql :
/etc/init.d/mysql restart /etc/init.d/mysql stop /etc/init.d/mysql startExemple d'utilisation des commandes dans la sécurité des serveurs Linux, nous allons utiliser quelques commandes pour détecter et empêcher une attaque par déni de service qui sont les plus fréquentes.
UNE attaque par déni de service (attaque DoS) ou alors Attaques par déni de service distribué (attaque DDoS) il s'agit d'une tentative de rendre une ressource serveur indisponible pour ses utilisateurs.
1) Détecter l'attaque
Le principal symptôme est que le serveur devient très lent ou que les «services sont en panne», ils cessent de fonctionner en raison d'un nombre excessif de connexions générées, le serveur ne peut pas répondre.
Nous utiliserons le commande "netstat".
Il nous montre les connexions actives sur le port 80.
root @ server1 : ~ # netstat -an | grep: 80 | sorte
Ici, nous pouvons voir que l'une des IP actives qui interroge notre serveur a 5000 connexions, alors que l'on pourrait dire que la normale serait d'environ 20 ou 30 connexions par IP. On pourrait alors suspecter une attaque DDOS, puisque la consommation de ressources
2) La première chose sera de bloquer l'ip de l'attaquant avec Iptables
Iptables est le nom de l'outil de l'espace utilisateur grâce auquel l'administrateur peut définir des politiques de filtrage du trafic qui circule sur le réseau.
root @ server1: ~ # iptables -I INPUT -s 74,6,73,22 -j DROPAvec ça, ça plante.
3) Installer mod_evasive pour Apache
Mod Evasif est un module pour Apache qui est chargé de fournir un niveau de sécurité supplémentaire à notre serveur Web très puissant et personnalisable.
Dans l'exemple, nous le ferons pour Centos, mais il peut être adapté à n'importe quel Linux avec Apache.
Nous installons des dépendances à partir de ssh
root @ server1 : ~ # cd / usr / src root @ server1 : ~ # wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz root @ server1 : ~ # tar zxvf mod_evasive_1.10.1 .tar.gz root @ server1: ~ # cd mod_evasive root @ server1: ~ # apxs -cia mod_evasive20.c # pour Apache 1.3 la commande serait apxs -cia mod_evasive.c root @ server1: ~ # vi / etc / httpd / conf /httpd.conf # on édite la configuration root @ server1 : ~ # service httpd restart # on redémarre ApacheDans le /etc/httpd/conf/httpd.conf les lignes suivantes doivent être ajoutées.
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300Paramètres importants
- DOSPageCount : nombre de connexions qu'un utilisateur peut établir par seconde avant que son ip ne soit bloquée.
- Nombre de sites DOSS : combien de requêtes un utilisateur peut faire avant d'être bloqué.
- Période de blocage DOSB : combien de temps en secondes le blocage de cette IP va durer.