Plongez dans un univers web inégalé avec nos solutions d'hébergement innovantes !

Explorez des options fiables, sécurisées et performantes adaptées à tous vos besoins en ligne.

Toutes nos solutions d'hébergement web

Découvrez une puissance inégalée avec nos serveurs VPS innovants et sur mesure !

Expérimentez la liberté et la puissance avec nos VPS, conçus pour élever vos projets à de nouveaux sommets !

Tous nos serveurs VPS

Optimisez vos bots avec notre hébergement dédié, puissant et sur mesure !

Expérimentez une gestion fluide et une performance optimale avec notre hébergement pour bots.

Toutes nos offres de bot

Nouvelle offre BoxGaming

Découvrez notre toute nouvelle offre, disponible dans nos datacenters en France et aux États-Unis. Avec une seule offre, vous pouvez changer de type de serveur à tout moment.

Découvrir l'offre
Boostez vos serveurs de jeux avec notre hébergement spécialisé et performant !

Plongez dans une expérience gaming ultime avec notre hébergement optimisé et puissant !

Toutes nos offres Minecraft

Comment atténuer une attaque DDoS sur son site web avec Nginx

Découvrez comment utiliser le serveur web Nginx pour bloquer certaines attaques DDoS grâce à une configuration sécurisée. Cette approche aidera votre serveur à se prémunir contre des attaques DDoS fréquentes. En améliorant la configuration de Nginx, vous pouvez protéger votre serveur contre divers types d'attaques.

OuiHeberg propose une protection Anti-DDoS gratuite contre certaines attaques ciblées. En utilisant nos serveurs VPS ou dédiés, vous bénéficiez d'une protection Anti-DDoS sans frais supplémentaires. Néanmoins, les capacités de mitigation, les méthodes employées et le filtrage peuvent varier selon le lieu que vous sélectionnez.

Prérequis

  • Nginx : Assurez-vous que Nginx est installé sur votre serveur.
  • Connaissances de base : Vous devez être à l'aise avec les commandes Linux de base et savoir comment accéder aux fichiers de configuration de Nginx.
  • Serveur VPS ou dédié : Un serveur virtuel privé ou dédié, ou une machine virtuelle sur votre hôte local.
  • Protection DDoS : Votre hébergeur doit fournir une forme de protection DDoS pour pouvoir atténuer les attaques plus sophistiquées.
  • Linux : Toute distribution compatible avec Nginx.

Limitations

Ce guide n'est pas une solution complète pour se défendre contre toutes les attaques DDoS. Il contribuera probablement à atténuer certaines attaques courantes et à maintenir votre serveur opérationnel. Toutefois, pour certaines attaques DDoS complexes, il est nécessaire que votre hébergeur fournisse une protection DDoS adéquate pour les bloquer et les prévenir. Cette configuration ne peut pas protéger contre toutes les formes d'attaques sur votre serveur ; elle est conçue pour prévenir et bloquer certains types d'attaques, mais ne sera pas efficace sans la protection DDoS de votre fournisseur.

Avertissement

OuiHeberg vous déconseille d'appliquer cette configuration directement sur votre serveur de production sans l'avoir testée au préalable. Nous déclinons toute responsabilité pour les problèmes éventuels que cela pourrait causer. Assurez-vous de suivre les bonnes pratiques en matière de sécurité serveur et effectuez des sauvegardes avant toute modification, au cas où une restauration serait nécessaire. Veuillez consulter la documentation de Nginx concernant la protection DDoS pour bien comprendre le fonctionnement.

Renforcer Nginx pour prévenir les attaques DDoS

Pour protéger Nginx contre les attaques DDoS et renforcer sa résistance aux attaques courantes, il est nécessaire d'implémenter diverses stratégies d'atténuation et de prévention. Voici comment configurer Nginx pour améliorer sa sécurité :

1. Mettre à jour Nginx

Vérifiez que vous utilisez la version stable la plus récente de Nginx afin de profiter des correctifs de sécurité et des améliorations les plus récents.

2. Limiter les connexions

Employez le module limit_conn pour restreindre le nombre de connexions provenant d'une même adresse IP. Ceci aide à prévenir les attaques DDoS qui tentent de saturer votre serveur avec un grand nombre de connexions simultanées.

http {
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=1r/s;

    server {
        limit_req zone=req_limit_per_ip burst=5;
        # Autres configurations du serveur...
    }
}

3. Gestion des listes blanche et noire des IP

Utilisez les directives allow et deny pour autoriser des adresses IP fiables et bloquer celles qui sont malveillantes.

http {
    # Autoriser les adresses IP de confiance
    allow 192.168.1.0/24;
    deny all;
    # Autres configurations du serveur...
}


4. Installer un pare-feu applicatif web (WAF)

Intégrez des modules tiers tels que ModSecurity avec Nginx pour détecter et bloquer le trafic HTTP malveillant.

5. Activer HTTPS

Utilisez HTTPS pour chiffrer les communications entre les clients et le serveur, ce qui prévient l'interception des données et les attaques de type homme du milieu.

6. Désactiver les modules non utilisés

Désactivez les modules Nginx dont vous n'avez pas besoin pour réduire la surface d'attaque et optimiser les performances.

./configure --without-http_autoindex_module --without-http_ssi_module

7. Optimiser la configuration de Nginx

Ajustez les paramètres de configuration de Nginx, comme les processus de travail, les connexions de travail et les délais d'attente, en fonction des ressources matérielles de votre serveur et du volume de trafic anticipé.

8. Surveillance et journalisation

Examinez régulièrement les logs du serveur pour repérer toute activité suspecte et mettez en place des systèmes d'alerte afin d'informer les administrateurs en cas d'attaques potentielles.

9. Utiliser des services de protection DDoS

Envisagez de recourir à des services ou appliances spécialisés en protection DDoS en amont de Nginx, comme Cloudflare, AWS Shield ou Akamai.

10. Effectuer des sauvegardes régulières

Veillez à sauvegarder fréquemment les données essentielles pour minimiser les impacts en cas d'attaques réussies.

N'oubliez pas que la sécurité est un processus continu. Il est essentiel de se tenir informé des dernières menaces et des meilleures pratiques en matière de sécurité pour protéger efficacement votre serveur contre les attaques potentielles.

Configuration de protection DDoS pour Nginx

Voici une configuration que vous pouvez ajouter à votre fichier nginx.conf pour renforcer la sécurité :

# Définir une zone pour suivre les connexions de chaque IP

http {
    limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
    # Définir une zone pour suivre les requêtes de chaque IP
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;

    server {
        listen 80;
        server_name exemple.com;

        # Limiter le taux de requêtes
        limit_req zone=req_limit_per_ip burst=20;

        # Limiter le nombre maximum de connexions d'une seule IP
        limit_conn conn_limit_per_ip 20;

        # Refuser les requêtes avec de grands corps de requête pour atténuer certains types d'attaques
        client_body_buffer_size 1k;
        client_header_buffer_size 1k;
        client_max_body_size 1k;
        large_client_header_buffers 2 1k;

        # Activer la compression Gzip pour économiser de la bande passante
        gzip on;
        gzip_comp_level 5;
        gzip_min_length 256;
        gzip_proxied any;
        gzip_vary on;

        # Ajouter des en-têtes de sécurité pour renforcer la protection
        add_header X-Content-Type-Options "nosniff";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Frame-Options "SAMEORIGIN";
        add_header Referrer-Policy "same-origin";
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

        # Bloquer les User-Agents vulnérables courants
        if ($http_user_agent ~* (wget|curl) ) {
            return 403;
        }

        # Bloquer l'accès aux fichiers cachés
        location ~ /\. {
            deny all;
        }

        # Bloquer l'accès à certains types de fichiers
        location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|^#.*#$|\.php_ {
            deny all;
            return 403;
        }

        # Mettre en liste blanche votre IP pour l'accès à l'administration
        location /admin {
            allow votre_ip_admin;
            deny all;
        }

        # Interdire l'accès à certains répertoires
        location ~ /(system|vendor) {
            deny all;
            return 403;
        }

        # Proxy pour transférer les requêtes à votre serveur d'application
        location / {
            proxy_pass http://votre_serveur_backend;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}
 

Cette configuration accomplit les actions suivantes :

  • Limitation du taux : Restreint chaque adresse IP à 10 requêtes par seconde avec une rafale autorisée de 20 requêtes.
  • Limitation des connexions : Limite chaque adresse IP à un maximum de 20 connexions simultanées.
  • Limitation de la taille du corps des requêtes : Restreint la taille des corps de requête pour atténuer les attaques qui envoient de grandes quantités de données.
  • Compression Gzip : Active la compression gzip pour économiser la bande passante.
  • En-têtes de sécurité : Ajoute des en-têtes pour renforcer la sécurité.
  • Blocage des User-Agents vulnérables : Bloque les requêtes provenant de User-Agents couramment utilisés pour des activités malveillantes.
  • Blocage des fichiers cachés : Interdit l'accès aux fichiers et répertoires cachés.
  • Liste blanche pour l'accès admin : Autorise uniquement votre adresse IP à accéder à la zone d'administration.
  • Interdiction d'accès à certains répertoires : Bloque l'accès à des répertoires sensibles tels que system et vendor.
  • Proxy Pass : Transfère les requêtes à votre serveur d'application.

Veillez à adapter cette configuration selon vos besoins spécifiques, notamment les noms de domaine, les adresses du serveur backend et les adresses IP pour l'administration. De plus, surveillez régulièrement les logs de votre serveur et ajustez les configurations en fonction de l'évolution des menaces.

Comment intégrer cette configuration dans Nginx

Voici les étapes à suivre pour ajouter cette configuration :

  1. Localisez le fichier nginx.conf : Selon votre installation, le fichier nginx.conf peut être situé à différents emplacements, tels que /etc/nginx/nginx.conf, /usr/local/nginx/conf/nginx.conf ou /etc/nginx/sites-available/default.

  2. Ouvrez le fichier nginx.conf : Utilisez un éditeur de texte ou un éditeur en ligne de commande comme nano, vim ou emacs pour ouvrir le fichier.

  3. Ajoutez la configuration dans le bloc http : À l'intérieur du bloc http, qui définit les paramètres du serveur HTTP, insérez la configuration fournie. Ce bloc se trouve généralement près du début du fichier nginx.conf.

  4. Insérez la configuration fournie : Collez l'ensemble de la configuration précédente à l'intérieur du bloc http. Assurez-vous de remplacer les valeurs par défaut telles que exemple.com, votre_ip_admin et votre_serveur_backend par vos informations spécifiques.

  5. Enregistrez et fermez le fichier : Après avoir intégré la configuration, enregistrez les modifications et fermez l'éditeur.

  6. Vérifiez la configuration de Nginx : Avant de redémarrer Nginx, il est recommandé de tester la configuration pour détecter d'éventuelles erreurs de syntaxe en exécutant :

    nginx -t

    Si tout est correct, un message indiquera que le test du fichier de configuration est réussi.

  7. Redémarrez Nginx : Pour appliquer les modifications, redémarrez Nginx avec la commande :

    sudo service nginx restart

    Si vous n'utilisez pas systemd, vous devrez peut-être employer une autre commande pour redémarrer Nginx.

En suivant ces étapes, vous intégrerez la configuration proposée à votre serveur Nginx, renforçant ainsi sa sécurité grâce à la protection DDoS et à d'autres mesures de sécurité. Ce guide vous aidera à prévenir les attaques DDoS sur Nginx en le configurant correctement.


OuiHeberg s'engage à vous offrir les meilleures solutions pour sécuriser vos services en ligne. N'hésitez pas à nous contacter pour toute question ou assistance supplémentaire.



OuiHeberg SARL logo
Nom de l'auteur
OUIHEBERG SARL
Catégories
Tutoriels
Date
19/09/2024

Les plus de l'article