Je liste ici quelques outils qui peuvent être utiles pour administrer son serveur perso.
Généralement, pour faire des manipulations sur le serveur, on s'y connecte à distance. D'où la nécessité d'un serveur ssh :
# aptitude install openssh-serveur
Pour plus de sécurité, ne pas autoriser une connexion ssh du root. Pour cela, modifier le fichier de config de ssh /etc/ssh/sshd_config. Mettre l'option PermitRootLogin en no.
Voir aussi Accès à distance
NTP (Network Time Protocol) est un protocole qui permet de synchroniser, via un réseau informatique, l'horloge locale d'ordinateurs sur une référence d'heure.
Pour synchroniser l'heure du serveur avec un serveur de temps sur Internet, on utilise le programme ntp :
# aptitude install ntp
Bien que la configuration par défaut corresponds à la majorité des utilisateurs, ntp peut se configurer dans le fichier /etc/ntp.conf. En cas de modification, il faut relance le démon :
# /etc/init.d/ntp restart
Fail2ban permet de bloquer automatiquement des adresses IP qui présentent beaucoup d'échec dans les fichiers de log.
# aptitude install fail2ban
Fail2ban se configure dans le fichier /etc/fail2ban/jail.conf.
DenyHosts est complémentaire à Fail2ban pour SSH uniquement. Les IP qui tentent plusieurs connexions SSH en échec seront ajoutées dans le fichier /etc/hosts.deny donc définitivement bloqué.
# aptitude install denyhosts
DenyHosts est configurable dans le fichier /etc/denyhosts.conf (qui est bien documenté).
Voir Iptables
On peut automatiser la mise à jour des paquets avec cron-apt :
# aptitude install cron-apt
Le fichier de configuration est /etc/cron-apt/config. À modifier à votre convenance. Par défaut, cron-apt utilise apt-get pour mettre à jour le système. Si vous utilisez aptitude, modifier l'option APTCOMMAND.
APTCOMMAND=/usr/bin/aptitude MAILTO="user@mon-domain" MAILON="upgrade"
L'outil cron-apt (comme son nom le sous-entend) est lancé par cron. Par défaut, il se lance tous les jours à 4h du matin. Vous pouvez le modifier dans le fichier config cron /etc/cron.d/cron-apt.
Logcheck est un petit utilitaire qui va scanner les fichiers de log pour détecter toutes éventuelles anomalies. Pour l'installer :
# aptitude install logcheck
Pour configurer logcheck, voir le fichier /etc/logcheck/logcheck.conf. Changer éventuellement l'option SENDMAILTO.
Par défaut, logcheck surveille uniquement les fichiers de log /var/log/syslog et /var/log/auth.log. Éditer le fichier /etc/logcheck/logcheck.logfiles pour ajouter d'autres fichiers de log.
Logcheck se lance toute les heures. Pour tester sans attendre, lancer la commande suivante :
# su -s /bin/bash -c "/usr/sbin/logcheck -o -t" logcheck
Sources :
http://nyquist.life.free.fr/dotclear/index.php?post/2008/10/13/Logcheck
http://www.debian.org/doc/manuals/securing-debian-howto/ch4.fr.html#s-log-alerts
RkHunter est un programme Unix qui permet de détecter les rootkits, portes dérobées et exploits.
Pour l'installer sous Debian, faite :
# aptitude install rkhunter
L'utilisation est super simple.
Mise à jour de la base :
# rkhunter --update
Vérification de l'ensemble du système :
# rkhunter --check
# rkhunter --update # rkhunter --propupd
Pour ne pas avoir à taper ces commandes à chaque mise à jour, éditer le fichier /etc/default/rkhunter et activer l'option APT_AUTOGEN :
APT_AUTOGEN="yes"
Voir Monit
Voir munin.
Bwbar est un petit outil qui permet de générer l'utilisation de la bande passante en temps réel. Pour l'installer :
# aptitude install bwbar
Ensuite éditer le fichier de configuration /etc/default/bwbar
Voir backup-manager
Voir Apt-cacher-ng