Archives 2020
#
Script tueur de zombies
#!/bin/bash display_usage() { echo "This script search for zombie process and kill their parents" } display_usage ZOMBIES=$(ps -A -ostat,ppid | grep -e '[zZ]'| awk '{ print $2 }') if test -n "${ZOMBIES}" then echo "Zombies found : ${ZOMBIES}" echo "Do you want to kill the zombies ?" select yn in "Yes" "No"; do case $yn in Yes ) for ZOMBIE in ${ZOMBIES}; do echo "Killing ${ZOMBIE}" kill -9 ${ZOMBIE} done break;; No ) break;; esac done fi
#
Rendre Logwatch moins verbeux
Logwatch est un outil facile à mettre en place et efficace pour surveiller les logs système. Par contre, par défaut il envoie des emails tous les jours, et est assez verbeux. Pour être moins spammée, j’avais déjà paramétré dans dans /etc/logwatch/conf/logwatch.conf un envoi hebdo, et désactivé la surveillance des logs NTPD :
Service = "-XNTPD" Range ="between -7 days and -1 days"
Mais je recevais tout de même chaque semaine des mails de plus de 500 lignes, plein d’erreurs http, avec la liste des pages en erreur 404, par exemple. Et également la liste de toutes les IP ayant tenté de se connecter en ssh. Afin de le rendre moins verbeux, on peut déjà demander à n’avoir qu’un résumé des erreurs http. On a alors un total, par exemple:
Requests with error response codes 400 Bad Request SUMMARY - 8 URLs, total: 28 Time(s)
Pour cela, il faut créer le fichier /etc/logwatch/conf/services/http.conf, avec le contenu :
# Always show only summary for reply codes # Bad Request $http_rc_detail_rep-400 = 20 # Unauthorized $http_rc_detail_rep-401 = 20 # Forbidden $http_rc_detail_rep-403 = 20 # Not Found $http_rc_detail_rep-404 = 20 # Method Not Allowed $http_rc_detail_rep-405 = 20 # Internal Server Error $http_rc_detail_rep-500 = 20 # Service Unavailable $http_rc_detail_rep-503 = 20
Pour la section ssh, c’est moins facile, il n’existe pas de variable prédéfinie, il faut passer par des regexp. Je n’ai pas supprimé toutes les lignes contenant des IP afin de ne pas vider complètement la section “Users logging in through sshd”, mais j’ai réduit les sections contenant toutes les erreurs ssh et PAM en ajoutant dans /etc/logwatch/conf/ignore.conf :
###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT ##### # remove the lines like "5.39.218.148: 3 times" from the sshd section \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\s\d+\stime # remove the lines like "unknown (p1.plasa.com): 136 Time(s)" # from the ssh authentication failures \(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\):\s\d+\sTime # remove the PAM lines PAM reverse mapping
Je passe ainsi pour le logwatch de la même semaine de 465 lignes à 253, ce qui augmente beaucoup la lisibilité.
#
Les produits à base de savon noir
Tout d'abord, comme il s'agit de mon premier billet de l'année, je vous souhaite à tous une très bonne année 2020 ! Pleine de logiciels libres et de produits fait maison, et sans trop de GAFAM ! :D
On commence l'année en beauté avec une petite recette de produit ménager maison, ça faisait longtemps !