Description des paramètres
Configuration des services de serveur Web pour vous protéger contre les petites attaques, les inondations et les attaques par devinette de mot de passe. Ce type d'attaque est conçu pour augmenter la charge sur un service Web, consommer les ressources du serveur et provoquer un déni de service en raison de l'épuisement et du manque de ressources. Ce guide vous permet de configurer votre serveur pour obtenir une protection de base contre différents types d'attaques au niveau du serveur. Dans nos exemples de configuration, nous avons utilisé le système d'exploitation Centos 7.
Quelle est la différence avec le service de protection contre les attaques DDOS ?
Le service Protection contre les attaques DDOS est fourni sous la forme d'une adresse IP protégée, dont le trafic passe par des équipements spéciaux et protège contre les attaques moyennes et grandes conçues davantage pour désactiver les équipements réseau. Mais il ne protégera pas les services contre les inondations mineures, qui peuvent également causer des dommages, puisqu'il ne les reconnaît tout simplement pas en raison du petit nombre de robots qui accèdent au serveur Web. Dans le cas d'une approche correcte de la protection des serveurs, les deux règles sont appliquées, la protection contre les inondations et la protection contre les attaques DDoS. Nous décrirons ici comment configurer votre serveur Web pour le protéger des inondations.
Services Web
Selon le serveur Web que vous choisissez, il existe différentes méthodes et types de paramètres. Nous avons répertorié les services Web les plus populaires et décrit les paramètres de chacun.
Protection contre les attaques BruteForce
Ce type d'attaque augmente considérablement la charge sur le service web. L’attaquant fournit un lien vers le formulaire de connexion dans la zone d’administration du site et le lance sur plusieurs robots, qui commencent à deviner les mots de passe à l’aide des méthodes get et post. Dans les journaux, vous verrez des centaines, des milliers de requêtes provenant des mêmes adresses IP. Ils peuvent créer une charge importante et provoquer l'échec du service Web. Pour la protection, nous utiliserons le service Fail2Ban qui, si la limite de requêtes sur le même lien est dépassée dans les 10 minutes, bloquera l'adresse IP pendant un certain temps. D'après notre expérience et nos observations, avec ce type d'attaque, le service est capable de bloquer environ 5 000 adresses IP en peu de temps sans créer de charge sur le serveur.
Protection contre les attaques SYN Flood
Ce type d'attaque émule une requête d'un visiteur ordinaire d'un site web, mais contrairement à un vrai client, le bot, sans attendre une réponse du serveur, envoie une nouvelle requête au service web ; lorsqu'il y a plusieurs milliers de requêtes, le service se bloque et cesse de répondre aux demandes. Ce type d’attaque est très populaire car il ne nécessite pas de ressources importantes pour désactiver un serveur non protégé. Le service ddos deflate reflète parfaitement ce type d’attaque.
Définition des limites de connexion
Nous parlerons ici des règles de pare-feu : vous devez définir une limite sur le nombre de connexions à partir d'une adresse IP pour tous les services. Cette règle permettra d'éviter le débordement de pile, dont la limite est définie dans les paramètres du noyau. Nous réaliserons l'installation dans iptables sur Centos.
Protection contre les surcharges et augmentation de la charge moyenne
D'une manière ou d'une autre, il existe différents types d'attaques, et si les services de protection n'ont pas eu le temps de fonctionner ou si tous les filtres n'ont pas été définis, la charge sur le serveur lors de l'attaque augmentera et finalement vous perdrez l'accès au serveur, il cessera de répondre. Afin de ne pas perdre l'accès en cas d'attaque du serveur, nous vous recommandons de mettre en place un script qui, en cas de charge élevée, redémarrera les services nécessaires et effectuera d'autres actions.
Conclusion
Ce type de paramètre vous permettra de repousser la plupart des petites attaques DDoS sans perte de performances, et protégera également le site contre d'éventuelles devinettes de mot de passe. Ce réglage doit être effectué une seule fois. Après un certain temps, vous devez vérifier les fichiers journaux pour vous assurer que logrotate fonctionne et que les fichiers n'occupent pas plus de 5 à 10 mégaoctets. Si la taille est grande, le service Fail2Ban peut ne pas fonctionner correctement en raison de la grande quantité de données. Avec ce paramètre, même un serveur doté d'une petite quantité de ressources processeur et mémoire fonctionnera de manière stable. Vous recevrez également des notifications par e-mail et saurez toujours quelles adresses IP ont été bloquées et quand.