En utilisant ce site, vous acceptez la Politique de confidentialité et les Conditions Générales de Vente.
Accepter
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact
En cours de lecture : Comment sécuriser votre serveur Nginx : étapes et exemples de code
Partager
Notification Voir mes signets
Dernières actualités
Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
Illustration d’un cerveau connecté à une intelligence artificielle, symbolisant la recherche contre Alzheimer
L’IA dévoile une cause possible d’Alzheimer et identifie une piste thérapeutique prometteuse
Intelligence Artificielle
Aa
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Aa
Recherche
  • News
  • Catégories
    • Actualités Numériques
    • Blockchain
    • Business Intelligence
    • Cybersécurité
    • Data
    • Développement Web
    • Hardware
    • Intelligence Artificielle
    • Mobile
    • Technologie
    • Web Design
    • Web Marketing
  • BBND
    • Qui sommes-nous
    • Initiatives
    • Réalisations
    • Formations
    • Recrutement
    • Contact
Suivez-nous
  • Personnaliser mes sujets d’intérêts
  • Mes signets
© 2023 BBND All Rights Reserved.
Le Blog de BBND – Actualités et nouvelles tendances du web > Tous les articles > Cybersécurité > Comment sécuriser votre serveur Nginx : étapes et exemples de code
CybersécuritéDéveloppement Web

Comment sécuriser votre serveur Nginx : étapes et exemples de code

Hamza L.
De Hamza L. 3 août 2022
Partager
7 min de lecture
Partager

La sécurité de votre serveur est cruciale pour protéger vos données et celles de vos utilisateurs. Si votre serveur est compromise, cela peut entraîner de graves conséquences pour votre entreprise ou votre organisation. Dans cet article, nous allons vous montrer comment sécuriser un serveur Nginx, en vous présentant différentes mesures de sécurité que vous pouvez mettre en place. Nous vous donnerons des exemples de code pour vous aider à configurer ces mesures sur votre serveur. Ces étapes vous permettront de renforcer la sécurité de votre serveur et de protéger vos données contre les menaces en ligne.


1. Mettre à jour Nginx et le système d’exploitation

Il est important de toujours utiliser la dernière version de Nginx et de votre système d’exploitation afin de profiter des dernières corrections de bogues et améliorations de sécurité. Pour mettre à jour Nginx sur Ubuntu, par exemple, vous pouvez utiliser la commande suivante :

sudo apt-get update
sudo apt-get upgrade nginx
2. Configurer le pare-feu

Vous devriez configurer un pare-feu pour empêcher les connexions non autorisées à votre serveur. Si vous utilisez Ubuntu, vous pouvez utiliser UFW (Uncomplicated Firewall) pour configurer facilement votre pare-feu. Voici comment autoriser les connexions entrantes sur les ports 80 et 443 (utilisés pour le HTTP et HTTPS) :

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
3. Utiliser HTTPS

Le HTTPS est le protocole de sécurisation des communications sur le web. Il est recommandé d’utiliser HTTPS sur votre site pour protéger les données de vos utilisateurs et vous assurer que votre site est authentique. Pour utiliser HTTPS sur votre serveur Nginx, vous aurez besoin d’un certificat SSL. Vous pouvez en obtenir un gratuitement avec Let’s Encrypt, ou en acheter un auprès d’une autorité de certification telle que Comodo ou Symantec.

Voici comment configurer HTTPS sur votre serveur Nginx :

server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;

# ... autres paramètres de configuration ...

}
4. Configurer l’accès par mot de passe

Vous pouvez configurer l’accès par mot de passe pour protéger certaines parties de votre site ou votre serveur entier. Voici comment configurer l’accès par mot de passe pour une zone protégée par un mot de passe dans votre fichier de configuration Nginx :

location /protected {
    auth_basic "Protected Area";
    auth_basic_user_file /path/to/.htpasswd;
}

Pour créer le fichier .htpasswd contenant les noms d’utilisateur et mots de passe, vous pouvez utiliser la commande suivante :

htpasswd -c /path/to/.htpasswd username
5. Désactiver le listing des répertoires

Par défaut, Nginx affiche le contenu des répertoires lorsqu’il ne trouve pas de fichier index. Cela peut être un problème de sécurité si vous avez des fichiers sensibles dans vos répertoires. Pour désactiver le listing des répertoires, ajoutez cette ligne à votre fichier de configuration Nginx :

autoindex off;
6. Limiter les requêtes de l’utilisateur

Vous pouvez limiter le nombre de requêtes que les utilisateurs peuvent envoyer à votre serveur pour prévenir les attaques par déni de service (DoS). Voici comment configurer une limite de 10 requêtes par seconde par IP :

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
server {
    # ... autres paramètres de configuration ...
    location / {
        limit_req zone=one burst=20;
    }
}
7. Activer la redirection HTTPS

Il est important de forcer l’utilisation de HTTPS sur votre site pour protéger les données de vos utilisateurs. Voici comment configurer une redirection automatique de HTTP vers HTTPS dans votre fichier de configuration Nginx :

server {
    listen 80;
    server_name example.com;
    https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;

    # ... autres paramètres de configuration ...
}
8. Activer le module HTTP Strict Transport Security (HSTS)

Le HSTS est un en-tête HTTP qui indique aux navigateurs de ne pas envoyer de requêtes sur HTTP à votre site, mais uniquement sur HTTPS. Cela peut être utile pour prévenir les attaques de type man-in-the-middle. Pour activer le HSTS sur votre serveur Nginx, ajoutez cette ligne à votre fichier de configuration :

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
9. Activer la protection contre les attaques par injection de contenu

Les attaques par injection de contenu sont des techniques qui permettent à un attaquant de pirater votre site ou votre serveur en injectant du code malveillant dans les requêtes envoyées à votre serveur.

Pour protéger contre ces attaques, vous pouvez utiliser le module ngx_http_sub_module de Nginx. Ce module vous permet de configurer des règles qui vont remplacer ou supprimer certains caractères dangereux dans les requêtes envoyées à votre serveur. Voici comment l’utiliser dans votre fichier de configuration Nginx :

server {
    # … autres paramètres de configuration …
    location / {
        sub_filter '<script>' '<disabled>';
        sub_filter_once off;
    }
}

Cet exemple remplace tous les occurrences de <script> par <disabled> dans les réponses envoyées par votre serveur. Vous pouvez configurer d’autres règles de remplacement pour protéger contre d’autres types d’injections de contenu

En conclusion, il est important de prendre des mesures pour sécuriser votre serveur Nginx afin de protéger vos données et celles de vos utilisateurs. Nous avons vu différentes étapes que vous pouvez suivre pour renforcer la sécurité de votre serveur, comme mettre à jour Nginx et le système d’exploitation, configurer un pare-feu, utiliser HTTPS, configurer l’accès par mot de passe, désactiver le listing des répertoires, limiter les requêtes de l’utilisateur, activer la redirection HTTPS, activer le module HTTP Strict Transport Security (HSTS) et activer la protection contre les attaques par injection de contenu. En suivant ces étapes et en prenant d’autres mesures de sécurité adaptées à votre environnement, vous pouvez protéger efficacement votre serveur contre les menaces en ligne.

Vous devriez également aimer

Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants

Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?

Alerte : Un faux plugin de sécurité WordPress utilisé pour propager un malware

Data Smuggling avec les émojis : l’astuce méconnue d’Unicode

Tailwind CSS v4.0 : La révolution de la productivité Front-End

Partager cet article
Facebook Twitter LinkedIn Copier le lien Imprimer
Qu´en avez-vous pensé ?
Ennuyant0
Triste0
Révoltant0
Drôle0
Accablant1
Plaisant1
Malin1
Surprenant0
Waouh2
Article précédent La découverte d’un dépôt massif de noms de domaine suspects en .fr suscite la vigilance
Article suivant BlenderBot 3.0, le chatbot de Meta devenu complotiste en quelques jours
Laisser un avis

Laisser un avis Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Restez connecté

Facebook Like
Twitter Suivre
Instagram Suivre
Youtube S´inscrire
banner banner
Faites confiance à BBND
Développez tous vos projets digitaux grâce à une équipe d'experts
En savoir plus

Dernières actualités

Illustration représentant Rclone, un outil de synchronisation cloud en ligne de commande, avec une icône de cloud et flèches de transfert
Rclone : Guide complet pour synchroniser, sauvegarder et monter vos fichiers cloud
Technologie
Schéma comparatif entre IPMI, PiKVM et NanoKVM pour le contrôle à distance
IPMI, PiKVM ou NanoKVM : Quelle solution KVM choisir ?
Hardware
Des packages npm malveillants compromettent Cursor, volent des identifiants et cryptomonnaies, et déploient des chevaux de Troie. Détail des campagnes.
Une faille dans Cursor : plus de 3 200 développeurs infectés via des packages npm malveillants
Cybersécurité
Filament v3 laravel
Pourquoi Filament V3 change-t-il la donne pour les développeurs Laravel ?
Développement Web
//

Le blog BBND
Actualités et nouvelles tendances du numérique

Catégories news

  • Actualités Numériques
  • Blockchain
  • Business Intelligence
  • Cybersécurité
  • Data
  • Développement Web
  • Intelligence Artificielle
  • Hardware
  • Mobile
  • Technologie
  • Web Design
  • Web Marketing

Notre société

  • Qui sommes-nous
  • Initiatives
  • Réalisations
  • Formations
  • Recrutement
  • Contact

Liens utiles

  • Mentions légales
  • CGV
  • Politique de confidentialité

Nos services

  • Développement web/mobile/desktop
  • SEO
  • Stratégie de communication & Community management
  • Audit d’ergonomie
  • Solutions de cybersécurité
  • Outils de cybersécurité
  • E-droit & E-réputation
  • Innovation de service & Innovation technologique
  • Intelligence Artificielle & Business Intellligence
  • Design graphique
  • Jeux mobile
  • Motion design
  • Impression tout support
Le Blog de BBND – Actualités et nouvelles tendances du webLe Blog de BBND – Actualités et nouvelles tendances du web
Suivez-nous

© 2023 BBND. All Rights Reserved.

Un projet digital ?

Notre équipe d'experts couvre de larges domaines du numérique

Contactez-nous pour nous en faire part !

Supprimé de la liste de lecture

Annuler
Welcome Back!

Sign in to your account

Mot de passe perdu ?