L’essentiel à installer pour son serveur web
A force d'installer et de réinstaller des serveurs sous Ubuntu j'ai fini par me rédiger un aide mémoire sur tout ce qu'il y a à installer et configurer pour arriver à un serveur prêt à la production. C'est cet aide mémoire plus détaillé que je souhaite partager avec vous dans cet article. C'est pour moi le minimum à faire en terme de sécurité et de fonctionnalités, à vous de faire le reste en fonction de vos besoins.
Changer le port SSH
L'accès SSH est une des portes d'entrée les plus critique de votre système, inutile donc de faciliter la vie des pirates en gardant le port par défaut. Le fichier à modifier se trouve dans /etc/ssh/sshd_config (choisir de préférence le port à partir de 1024). Pour tester le nouveau port ne fermez pas votre session SSH en cours mais ouvrez en une nouvelle, en cas d'erreur vous pourriez toujours la corriger.
Firewall
Le firewall Iptables est installé par défaut sur Ubuntu. Pour le configurer le plus simple est d'utiliser des scripts shell qui suivront des règles prédéfinies (ouverture ou fermeture de port) au démarrage de la machine.
Installation webmin
Webmin vous permet de réaliser la plupart des tâches courantes d'administration de manière plus conviviale que la ligne de commande. Un paquet debian est téléchargeable sur le site Webmin. Comme précédemment il faut changer le port par défaut dans le menu de configuration de Webmin.
Installation serveur LAMP (Linux Apache MySQL PHP)
Après avoir éventuellement mis à jour le fichier sources.list et lancé une mise à jour des dépôts avec apt-get update installez les paquets apache2, mysql-server, php5, php5-mysql, phpmyadmin et postfix (pour pouvoir envoyer des e-mails).
Concernant apache
Si vous avez des sites à fort trafic la première chose à changer dans la configuration est le nombre de processus qu'apache est autorisé à ouvrir qui lui permettra de tenir un nombre de requêtes important. Une optimisation simple et qui peut vous faire gagner en performance est l'activation des modules « deflate » et « headers » pour permettre la compression des pages envoyés au client. Enfin je vous conseille l'activation du « server-status » (juste quelques lignes à dé-commenter dans la config) qui vous permettra de suivre en temps réel les requêtes envoyées au serveur.
APC
Alternative PHP Cache est un module open source qui augmente les performances de PHP en pré-compilant le code et en gérant la mise en cache des pages. Il est très simple à installer et à configurer. Une petite interface sous la forme d'un unique fichier PHP est fournie et vous permet d'administrer ce qui est mis en cache.
Fail2ban
C'est un service qui bannira toute adresse IP temporairement via iptables qui serait suspectée de tentative d'intrusion grâce aux fichiers log. Très utile pour éviter les attaques de types brute force en SSH par exemple.
Rédigé en bépo sur clavier azerty, ça m'a pris des plombes … ![]()
Aucun trackbacks pour l'instant