Tuning apache 2.4: OPcache, SSL, MemCached …

 
 

Après s'être attelé à avoir un apache 2.4 fonctionnel sur notre serveur debian, on peut pousser un peu plus loin la configuration, notamment sur deux points:

  • la sécurité SSL
  • la gestion du cache OPCache
  • La mise en cache mémoire avec memcached

 

SECURITE SSL

Je considère ici que vous avez déjà un site opérationnel et que le mode SSL est déjà actif.
Afin d'assurer une sécurité correcte de votre site, il est nécessaire d'autoriser/interdire certains protocoles devenus obsolètes/dangeureux ainsi que certains cryptages. Dans votre VirtualHost, vous pouvez alors ajouter les lignes suivantes:

SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCompression off
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

  • La première lignes autorise tous les protocoles SSL/TLS sauf les versions 2 et 3. Si vous le souhaitez, vous pouvez interdire aussi le TLSv1, à voir avec les visites effectuées sur votre site (plusieurs versions d'android et d'internet explorer ne pourront plus accéder à votre site!)
  • La seconde ligne demande de respecter l'ordre de la Suite Cipher en ligne 4.
  • La troisième ligne parle d'elle même
  • La quatrième ligne correspond la liste des cryptages autorisés/interdits pour notre site.

Il est également possible d'ajouter deux commandes supplémentaires, tout en n'oubliant pas d'activer le module header a2enmod headers:

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set X-Frame-Options DENY

 

OPCACHE

La bonne nouvelle, c'est qu'OPcache est activé par défaut par debian lors de l'installation d'apache 2.4 / php 5.6.
Pour le vérifier je me suis inspiré d'un lien dans l'article de ce site pour le vérifier:

cd /var/www
wget https://raw.githubusercontent.com/rlerdorf/opcache-status/master/opcache.php

Il ne vous reste plus qu'à aller sur l'adresse suivante http://adresse_de_mon_serveur/opcache.php pour vérifier qu'OPcache est fonctionnel.

On peut encore améliorer les choses en ajoutant les lignes suivantes au fichier /etc/php5/mods-available/opcache.ini:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=1
opcache.fast_shutdown=1
opcache.enable_cli=1

Ne pas oublier de relancer le service lié: service php5-fpm restart

 

MEMCACHED

Si ce n'est déjà fait, installez les paquets suivants:

apt-get install memcached php5-memcached

On peut maintenant éditer le fichier /etc/memcached.conf et modifier/ajouter les paramètres suivants:

-m 128
# Custom – decrease wasted slab space
-f 1.05 -I 128k

Reste à redémarrer le serveur apache, service apache2 restart

Sources: