Pour faire de mon RPI un serveur web, j’ai,opté pour l’installation d’une distribution RASPBIAN stable que vous pouvez trouver ici : http://www.raspberrypi.org/downloads
J’ai choisi ensuite d’utiliser lighttpd + php + mysql :
On donne ensuite les droits d’écriture au groupe :
Pour copier les répertoires (et en exclure) provenant d’un autre serveur web accessible en ssh :
Pour traduite la ligne ci-dessus, j’ai copié le /var/www de mon ancien serveur (en excluant rep1 et rep2) dans le /var/www de mon RPI (utilisateur pi et IP=ip_rpi)
Afin de ne pas perdre la connexion de votre RPI, on peut utiliser le script de reconnexion. Ajouter >/dev/null 2>&1 à la fin de la ligne crontab pour éviter l’envoi de mail si votre RPI à tendance à le faire systématiquement.
Sécurisation minimale
J’ai choisi de n’ouvrir que deux ports de communication pour limiter les tentatives d’intrusion. Le port 80 sera ouvert par lighttpd et le 1234 pour le ssh. Pas de ftp qui n’est pas assez sécurisé à mon goût ….
- SSH : changement du port d’écoute
Dans /etc/ssh/sshd_config indiquer le port 1234 (par exemple)
Relancez le serveur ssh :
ou
Avant de vous déconnecter, vérifiez bien que ssh est lancé sur le bon port :
Cette commande doit retourner une sortie semblable à :
- Installation de fail2ban
Le web regorge de tutoriels de configuration de cet excellent logiciel qui permet de bannir pour un temps, les IP qui tentent de « rentrer » dans votre RPI.
- Installation de logwatch
Renseigner le fichier /etc/logwatch/conf/logwatch.conf avec votre adresse mail :
Logwatch est fait pour fonctionner avec Apache … il va falloir l’adapter pour Lighttpd.
En premier :
On crée un fichier lighttpd.conf dans /usr/share/logwatch/default.conf/logfiles/, en prenant comme modèle le fichier par défaut pour un serveur web.
On modifie le fichier lighttpd.conf
pour indiquer le chemin vers les fichiers de logs de lighttpd. Par défaut, la variable « LogDir » est /var/log/.
En deuxième :
On procède de la même façon qu’à l’étape précédente, mais cette fois-ci dans le répertoire /usr/share/logwatch/default.conf/services/
Éditez ce nouveau fichier lighttpd
.conf pour obtenir ceci au début du fichier :
En troisième
C’est la dernière étape …
Il faut créer un fichier « lighttpd » identique au fichier « http » dans le répertoire /usr/share/logwatch/scripts/services :
Et voilà, rien à modifier dans ce fichier.
Si vous souhaitez tester, voila ce qu’il faut rentrer dans votre console :
Il envoie tous les matins un résumé des logs de connexion au serveur si vous avez correctement configuré le fichier /etc/cron.daily/00logwatch en remplaçant la ligne :
par
- Installation de rkhunter
Il détecte la présence de rootkit. Il envoie également un rapport tous les matins.
- Installation de Portsentry et configuration comme sur cet excellent site :http://www.isalo.org/wiki.debian-fr/index.php?title=Portsentry
Il va détecter et bloquer les scan de ports