Administration système : mes utilitaires favoris …
Dans le précédent article (15 jours déjà !), j’ai mentionné un outil qui j’installe maintenant systématiquement sur les serveurs dont j’ai à connaître le sort : DenyHost, le bien nommé !
Sous debian, un simple apt-get install denyhost permet de protéger votre serveur des tentatives d’attaques par force brute (attaque par dictionnaire, ou encore « thwart attacks » dans la langue de la perfide Albion… voire en deçà de l’Atlantique).
DenyHost s’installe donc dans le système en tant que daemon qui scrute les logs SSH, et bloque l’accès pour une adresse I.P. qui aura connu un certain nombre de tentatives de connexion échouées.
En option, il permet également de répercuter l’adresse I.P. du malfaisant auprès d’un serveur centralisé qui se chargera de la répercuter à des clients (DenyHost) qui auront validé cette option dans leur configuration, bloquant ainsi, par anticipation, toute tentative de connexion émanant d’un tel triste sire !
Pour en terminer, il faut quand même dire que le mécanisme de blocage utilise la logistique plus qu’éprouvée du tcp-wrappers, laquelle se base sur ses deux fichiers de configuration antonymes /etc/hosts.deny et /etc/hosts.allow : Toute adresse I.P. figurant dans /etc/hosts.deny sera bannie alors que celles figurant dans /etc/hosts.allow seront autorisées.
La syntaxe de ces fichiers est on ne peut plus simple : un service (ou tous) suivi d’une adresse I.P. par ligne !
exemple : sshd:127.0.0.1, et vous bloquez votre accès local SSH…
En conséquence, et pour que DenyHost fonctionne, il faut que le serveur OpenSSH ait été compilé avec le support tcp_wrappers, ce qui est bien heureusement le cas avec Debian (OUF !!!).
Pour ma part, à la mise en service, je mets dans /etc/hosts.allow les adresses I.P. des machines à partir desquelles je suis susceptible de me connecter, ce qui m’évite bien des désagréments…
Et pour en terminer avec le petit panorama des outils que j’affectionne dans le cadre de mes missions d’administration à distance, j’en citerai ici deux autres : LogCheck et AptiCron qui me permettent de recevoir par mail des alarmes concernant d’éventuels problèmes ou la disponibilité de mises à jour à effectuer.
Apticron est un pur produit Debian qui permet de recevoir un mail d’information dès qu’une mise à jour est disponible (notamment pour les mises à jour de sécurité pour les Debian stables), et comme il procède aussi au téléchargement du paquet en souffrance, si bien qu’il suffit d’un simple coup de SSH suivi d’un apt-get upgrade && apt-get clean pour résoudre le problème.
Quant à logcheck, il scrute périodiquement les logs système et, après avoir passé ses règles de filtrage envoie des mails aux doux titres du style ‘System Events‘ ou encore ‘Security Events‘ avec les lignes n’ayant pas matché les expressions rationnelles : celà permet d’avoir une idée de l’activité sur le serveur, sans avoir l’obligation d’avoir une connexion SSH ouverte en permanence !
Après l’installation du paquet Debian correspondant (apt-get install logcheck), il n’y a pratiquement rien à ajouter , si ce n’est à peaufiner quelques règles pour supprimer des messages récurrents qui peuvent sembler bénins ; le paquet est par défaut configuré comme ‘serveur’ (on peut en effet configurer logcheck selon 3 niveaux : workstation, server et paranoid), dans une échelle croissante de verbosité.
Pour rajouter une règle, il suffit de créer un nouveau fichier dans /etc/logcheck/ignore.NIVEAU.d/ dans lequel on aura soin d’écrire l’expression rationnelle correspondant au message à filtrer.
Par exemple, sur mon serveur personnel, j’avais en permanence des messages de ntpdate qui m’ennuyaient, n’y voyant pas d’intérêt réel à les recevoir. Du coup, j’ai donc créé un nouveau fichier /etc/logcheck/ignore.server.d/ntpdate_local (j’ai rajouté _local pour éviter d’interférer avec une éventuelle mise à jour paquet !), contenant l’expression suivante :
^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ntpdate\[[0-9]+\]: step time server [0-9.]{7,15} offset -?[0-9.]+ sec$
et le tour est joué : plus de messages lors de la synchronisation !
Bonne admin !!!!
Catégories : Administration système · Mots-clés: Administration système, sécurité