Sécurisez vos backends – apache, nginx, php, memcache

Voilà, on a une config avec Varnish qui est capable d’encaisser la totalité du trafic sans broncher (ça me fait penser que je dois terminer la traduction d’un article qui explique comment bien optimiser Apache).
Évidemment seul Varnish est censé pouvoir être accessible de l’extérieur et les backends doivent ne pouvoir être accédés que depuis Varnish lui même.

Dans mon cas, tout se trouve sur la même bécane et donc tout ce qui est backend doit écouter sur localhost/127.0.0.1 uniquement.

Apache

Dans le fichier ports.conf il suffit de modifier la directive Listen

Listen 8888
# devient simplement
Listen 127.0.0.1:8888

Et c’est tout ce qu’il y a a faire, l’étoile de chaque virtual host peut rester étoile tant que ça lui plaira ;-)

<VirtualHost *:8888>

Nginx

Là c’est dans chaque section server que vous devrez faire la modification (pour faire des modifications en masse dans des fichiers différents pensez à ce petit article).

listen 8888;
#en
listen localhost:8888;

Php

Si vous avez pris le script que je fourni pour spawn-fcgi-php, alors c’est déjà établi sur localhost par le paramètre du daemon suivant :

-a 127.0.0.1 # binds to the loopback device

Sinon à vous de l’ajouter dans les paramètres de votre spawner ;-)

Memcached

Le paramètre suivant au démarrage fera en sorte qu’il n’écoute que sur localhost ;-)

-l 127.0.0.1

Conclusion

Il y a surement moyen de faire mieux, mais déjà fermer la plupart des ports au public et de faire tout tourner exclusivement en local est beaucoup sûr.

Si vous avez un gros DOS, au pire vous plantez Varnish (ou Varnish plante seul) le temps que ça se calme et vous le relancez quand l’orage est passé.
Tout le reste ne subira aucune avarie, au contraire, Varnish ne forwardant plus rien ils s’ennuieront ferme.

Ah oui pour relancer un serveur automatiquement pensez à Monit

Cela donne

Posted in Hosting by El Gnap at January 7th, 2012.
Tags: , , , , , ,

Comments are closed.