Installation d'un serveur dédié Debian Wheezy - Sécurisation
Quelques éléments sur la sécurisation. Attention, les serveurs type Kimsuffi sont très régulièrement ciblés. Cette page ne saurait être suffisante en tant que telle, elle ne doit servir que de complément à la sécurisation de votre serveur.

Apache

Protection d'accès

La protection la plus simple s'appuie sur l'utilisation des fichiers .htaccess. Elle est affaiblie par le fait que les mots de passe y sont échangés en clair, il est donc important d'en limiter l'usage aux connexions https.
Il convient au préalable de vérifier que dans les fichiers des virtualhosts (default  et default-ssl) du dossier /etc/apache2/sites-available, la directive AllowOverride soit fixée à All pour le dossier /var/www. De même, vérifier que le module rewrite est bien activé (a2enmod rewrite).

On commence par créer un dossier pour y stocker le fichier des mots de passe (ce n'est pas impératif, mais il faut veiller à ce que ce fichier ne soit pas directement accessible...). On crée ensuite un utilisateur.

mkdir /home/mespasswd
cd /home/mespasswd
htpasswd -c .htpasswd nomUtilisateur
chmod 444 .htpasswd

Si on veut ajouter d'autres utilisateurs, on n'utilisera plus le paramètres -c.

On crée ensuite dans le dossier que l'on veut protéger le fichier .htaccess qui peut avoir la forme suivante (veiller à bien mettre le chemin réel complet dans AuthUserFile) :

AuthName "Page d'administration protégée, veuillez vous identifier"
AuthType Basic
AuthUserFile "/home/mespasswd/.htpasswd"
Require valid-user

Comme pour .htpasswd, on met .htaccess en lecture seule :

chmod 444 .htaccess

De manière générale, il faut éviter de conserver les noms par défaut, puisqu'ils sont systématiquement ciblés par les facheux. On pourra renommer le .htpasswd en .mesMotsDePasse, il faudra alors naturellement mettre à jour la variable AuthUserFile.

Tout ceci étant dit, si on a accès aux fichiers de configuration Apache (ce qui est bien sûr le cas pour un serveur dédié), on préférera éviter l'usage du fichier .htaccess et on lui préférera une configuration directe dans les fichiers default et default-ssl. Par exemple en ajoutant :

(...)
<Directory /var/www/siteAProteger/>
    AuthType Basic
    AuthName "Page d'administration protégée, veuillez vous identifier"
    AuthUserFile /home/mespasswd/.htpasswd
    Require valid-user
</Directory>
(...)

Quelques configurations complémentaires

User-agent: *
Disallow: /

ServerSignature Off
ServerTokens Prod

<Directory />
    Order Deny,Allow
    Deny from all
    Options None
    AllowOverride None
</Directory>
AccessFileName .httpdoverride
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT



fleche-gauche.pngfleche-droite.png

Date de dernière mise à jourJan 23, 2014