Sécurisation du serveur apache<
Ce post décrit brièvement quelques précautions basiques à prendre pour sécuriser votre serveur apache. En particulier, il décrit comment utiliser le module mod_security pour installer une liste noire d’IP.
Sécurisation via les fichiers de configuration
    Le dossier /etc/apache2/sites-available/ contient les dossiers de configuration des hôtes et des hôtes virtuels apache (voir les posts : installation d’un serveur apache et créer un hôte virtuel). On édite ces fichiers pour ajouter les directives suivantes :
  
- 
      Empêcher le serveur de lire le répertoire à la racine du serveurOrder Deny,Allow Deny from all Options None AllowOverride None 
- 
      Empêcher le serveur de lire les fichiers .htaccessAccessFileName .httpdoverride Order allow,deny Deny from all Satisfy All 
En savoir plus : Documentation ubuntu francophone « sécuriser un serveur apache »
Sécurisation via le module modsecurity
          ModSecurity est un module d’Apache spécialisé dans la sécurité qui joue le rôle de pare-feu applicatif :
  (image tux-planet.fr).
(image tux-planet.fr).
        
On installe le module par :
sudo apt-get install libapache2-modsecurity
        
        
          Le fichier de configuration du module se trouve dans le dossier /etc/modsecurity/ en version “recommandée” (mais non active). On commence par copier le fichier de configuration basique :
        
cp modsecurity.conf-recommended modsecurity.conf
        
        
          puis on édite modsecurity.conf pour ajouter quelques règles élémentaires :
        
- 
              Activer le blocage des requêtes détectées par les règles mises en place SecRuleEngine On 
          (si l’option est laissée à DetectionOnly, le modules se contentera de journaliser les erreurs rencontrées.
        
- 
            Ajout d’une signature personnalisée(pour empêcher l’utilisation de la description de votre configuration à des fins d’attaque) SecServerSignature "Tuxette OS" Pour que cette règle soit active, il faut de plus éditer le fichier /etc/apache2/conf.d/securityet choisir l’optionServerTokens="Full".</li>
- 
                Création d’une liste noire (pour bloquer les IP indésirables : je pêche mes IP indésirables via l’utilisation du plugin wordpress “Limit Login Attempts”)
 
 SecAction “phase:1,pass,nolog,setvar:tx.remote_addr=/%{REMOTE_ADDR}/”
 SecRule TX:REMOTE_ADDR “@pmFromFile blacklist.txt” “deny,status:403
 
 Une fois cette règle ajoutée, il faut créer un fichier/etc/modsecurity/blackllist.txtcontenant les IPs entourées du caractère “/” :</p>/1.2.3.4/ </ol>
- Documentation Ubuntu francophone sur “modsecurity” ;
- Tutoriel modsecurity sur tux-planet ;
- Manuel de référence modsecurity.
Enfin, le module est activé par :
sudo a2enmod mod_security
sudo service apache2 reload
              
              
                et les logs peuvent être consultés dans le fichier /var/log/apache2/modsec_audit.log. On peut créer un deuxième fichier de log plus condensé avec l’activation des lignes suivantes dans le fichier modsecurity.conf :
              
SecDebugLog /var/log/apache2/modsecurity_debug.log SecDebugLogLevel 0
                .
 En savoir plus :
              
</div>
 
  
  