2 astuces sur l'utilisation de certificats pour faire du HTTPS sur apache2

1/ Si vous voulez démarrer automatiquement votre serveur sans devoir saisir la passphrase à chaque fois :
 

cp a.key temp
openssl rsa -in temp -out a.key

 
2/ Les vhost apache2 et les certificats SSL
Vous ne pouvez pas avoir plusieurs certificats SSL (simples pour 1 domaine unique) différents sur un même serveur apache, même avec plusieurs VHOST. La raison est simple : le canal SSL est monté en tout premier. Or, l’échange HTTP dans le tunel SSL se fait en second lieu. Malheureusement pour nous, c’est lors de cet échange HTTP initial que apache va voir les entêtes lui indiquant le domaine demandé et ainsi fournir le bon VHOST.
Or un certificat SSL de base est donné pour un domaine précis xxx.com. Si vous installez ce certificat, toutes les requêtes HTTPS seront servies avec ce certificats. Or vous aurez sans doute des VHOST sur des domaines différents genre yyy.com. Pas de bol erreur HTTPS en vue.
Solution : il n’y en à pas 36, soit prendre un certificat plus évolué (plus cher donc) soit ruser. Pour ruser, il va falloir utiliser des IP logiques et demander à apache (et la partie réseau de votre serveur) de servir ses IP. Ainsi pas de confusion possible si vous associez chaque domaine avec un certificat à une IP différente (même si elles aboutissent toutes sur le même serveur, la différence sera faite en fonction de l’IP attaquée).
Un exemple de configuration d’IP logique sur la partie serveur (le plus dur a retrouver pour moi :p )
 

# The primary network interface
auto eth0
iface eth0 inet static
address XX.XXX.134.160
netmask 255.255.255.0
network 88.191.134.0
broadcast XX.XXX.134.255
gateway XX.XXX.134.1
# Service IP
auto eth0:0
iface eth0:0 inet static
address XX.XXX.232.46
netmask 255.255.255.255

Voila, j’espère que c’est clair, vu l’heure je suis fatigué, mais tant que j’ai le courage de mettre mes notes au propre…

Sécuriser son serveur c'est aussi le surveiller : quelques bon outils

Un serveur sécurisé c’est une chose, mais il faut aussi le surveiller. Pour cela 2 outils sympa :

  • Monit qui permet de surveiller des process, les relancer en cas de crash ou surconsommation de ressource ainsi que notifier un admin par mail par exemple. Très simple, très efficace.
  • Logwatch : parce que analyser ses logs est important mais qu’il est difficile de le faire correctement avec les fichiers log nombreux et peu « user friendly » ce logiciel permet de faire une synthèse facilement analysable sous forme de rapport journalier par exemple.

Voici un article qui présente ces deux outils et une manière simple de les mettre en oeuvre : http://www.journaldunet.com/developpeur/outils/tutoriel-pratique/monit-et-logwatch-deux-outils-complementaires-de-monitoring-de-serveur.shtml
Un autre bon article sur le monitoring (encore alsacreations) mais plus général :
http://www.alsacreations.com/tuto/lire/613-Monitoring-serveur.html
 
Ne pas oublier non plus les outils de surveillance (plus statistiques) du genre cacti. Evidemment c’est pas du nagios, mais l’objectif est de faire simple ! Cela reste du « petit serveur ».
 
J’ai du utiliser plus exactement d’autres articles mais le précédent est une bonne entrée en matière. Une bonne recherche google fera le reste. J’ai la flemme de retrouver tous mes liens ! Même si je fais une poussée d’écriture ce soir pour enfin noter tout mon travail et faire en sorte qu’il reste facilement consultable (contrairement à la montagne de marque page que j’ai !)