Retour au blog

Comment sécuriser apache sur vps linux

Admin
Comment sécuriser apache sur vps linux

La sécurisation d'Apache sur un VPS Linux est essentielle pour protéger vos données et vos applications web. Dans cet article, nous allons explorer les différentes étapes et meilleures pratiques pour sécuriser votre serveur Apache.

Installation d'Apache

Avant de pouvoir sécuriser Apache, vous devez d'abord l'installer. Voici comment procéder sur un système basé sur Debian :

sudo apt install apache2

Une fois l'installation terminée, vous pouvez vérifier que le serveur Apache fonctionne correctement en accédant à votre adresse IP dans un navigateur web.

Configurer le pare-feu

Un pare-feu est l'une des premières lignes de défense pour sécuriser votre serveur. Voici les étapes pour configurer UFW (Uncomplicated Firewall) sur Ubuntu :

sudo ufw allow 'Apache Full'
sudo ufw enable

Ces commandes permettent d'autoriser le trafic HTTP et HTTPS sur votre serveur.

Vérifier l'état du pare-feu

Pour vérifier l'état de votre pare-feu, utilisez la commande suivante :

sudo ufw status

Configurer SSL avec Let's Encrypt

Pour sécuriser vos échanges, il est recommandé d'utiliser SSL. Let's Encrypt propose un moyen gratuit d'obtenir des certificats SSL. Voici comment procéder :

Installation de Certbot

Installez Certbot pour obtenir et gérer vos certificats SSL :

sudo apt install certbot python3-certbot-apache

Obtention d'un certificat SSL

Une fois Certbot installé, exécutez la commande suivante pour obtenir un certificat SSL :

sudo certbot --apache

Suivez les instructions à l'écran pour finaliser le processus. Certbot configurera automatiquement Apache pour utiliser SSL.

Configurer les permissions des fichiers

Les permissions des fichiers jouent un rôle crucial dans la sécurité de votre serveur. Il est essentiel de restreindre l'accès aux fichiers sensibles.

Permissions des fichiers

Utilisez les commandes suivantes pour définir des permissions appropriées :

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Désactiver les modules inutiles

Apache est livré avec de nombreux modules qui peuvent ne pas être nécessaires pour votre application. Désactiver les modules inutiles peut réduire la surface d'attaque.

Liste des modules activés

Pour voir les modules activés, utilisez :

apache2ctl -M

Désactiver un module

Pour désactiver un module, utilisez la commande suivante :

sudo a2dismod nom_du_module

Configurer les en-têtes HTTP de sécurité

Les en-têtes HTTP de sécurité aident à protéger votre site contre diverses attaques. Voici quelques en-têtes que vous pouvez ajouter :


    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "DENY"
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Ajoutez ces lignes à votre fichier de configuration Apache, généralement situé dans /etc/apache2/sites-available/000-default.conf.

Limiter l'accès à des adresses IP spécifiques

Vous pouvez restreindre l'accès à votre serveur web en autorisant uniquement certaines adresses IP. Par exemple, pour permettre l'accès uniquement à une adresse IP spécifique :

<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require ip 192.168.1.1
</Directory>

Activer la journalisation des accès

La journalisation est essentielle pour surveiller l'activité de votre serveur. Assurez-vous que la journalisation est activée dans votre fichier de configuration Apache :

CustomLog ${APACHE_LOG_DIR}/access.log combined

Analyser les journaux

Vous pouvez utiliser GoAccess pour analyser vos journaux d'accès de manière interactive. Installez-le avec :

sudo apt install goaccess

Effectuer des mises à jour régulières

Enfin, il est crucial de garder votre serveur à jour. Exécutez régulièrement les commandes suivantes pour mettre à jour Apache et les autres paquets :

sudo apt update
sudo apt upgrade

En appliquant ces mises à jour, vous vous assurez que votre serveur bénéficie des derniers correctifs de sécurité.

Conclusion

La sécurisation de votre serveur Apache sur un VPS Linux est un processus continu. En suivant ces étapes et en restant vigilant, vous pouvez protéger efficacement vos données et vos applications web.