
Surveille les journaux d'authentification Asterisk et bannit automatiquement les IP avec des tentatives de connexion échouées répétées en utilisant iptables, avec des seuils configurables et une liste noire persistante.
SIPCheck est un outil qui surveille l'authentification des utilisateurs d'Asterisk et bannit automatiquement si un utilisateur (ou un bot) tente de s'enregistrer ou d'effectuer des appels en utilisant des mots de passe incorrects.
Contrairement à Fail2Ban, SIPCheck gère non seulement l'attaquant, mais aussi les clients en qui vous avez confiance. Ainsi, si vous avez des utilisateurs SIP qui ont prouvé leur fiabilité, ils ne seront pas bannis même si nous recevons un mauvais mot de passe, car cela signifierait que de nombreux clients SIP derrière cette IP pourraient être bannis également.
Pour cette raison, nous avons repensé cette application à partir de zéro avec plusieurs fonctionnalités par rapport aux anciennes versions.
sipcheck.conf, vous pouvez contrôler le nombre de tentatives avant de bannir l'accès, le temps pendant lequel les attaquants resteront dans le pare-feu et le temps pendant lequel les utilisateurs suspects seront surveillés.SIPCheck nécessite d'être exécuté sur le même système qu'Asterisk. (il pourrait fonctionner sur un autre système mais le pare-feu sera utilisé sur le même système où il s'exécute). SIPCheck nécessite des privilèges root pour pouvoir insérer et supprimer des règles dans le pare-feu.
SIPCheck 3 fonctionne avec Python 3 et les bibliothèques définies dans requirements.txt
/etc/asterisk/manager.conf doit contenir un utilisateur gestionnaire comme celui-ci (changez les variables utilisateur et mot de passe) :
Vous devez créer un nouvel utilisateur de l'Interface de gestion Asterisk.
[CHANGETHISUSER]
secret = CHANGETHISPASSWORD
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.255
read = security
write = system
Une fois cet utilisateur créé/modifié, vous devez recharger la configuration du gestionnaire :
asterisk -rx 'manager reload'
# Téléchargement du dépôt GitHub
git clone https://github.com/sinologicnet/sipcheck.git /opt/sipcheck
cd /opt/sipcheck
# Mise à jour des dépôts
apt-get update
# Installation de PIP pour Python3
apt-get install python3-pip
# Installation des bibliothèques requises
pip3 install -r requirements.txt
# Copie de l'exemple de fichier de configuration vers le fichier officiel
cp sipcheck.conf.sample sipcheck.conf
# Éditer ce fichier pour configurer SIPCheck
nano sipcheck.conf
# Rendre sipcheck.py exécutable
chmod 777 sipcheck.py
# Insérer le script dans systemd
cp /opt/sipcheck/sipcheck.service /etc/systemd/system/
systemctl enable sipcheck
# Démarrer l'application
systemctl start sipcheck
# Vérifier que tout fonctionne correctement
tail -f /var/log/sipcheck.log
2020-03-14 19:25:51,309 INFO: -----------------------------------------------------
2020-03-14 19:25:51,309 INFO: Starting SIPCheck 3 ...
2020-03-14 19:25:51,309 INFO: + Added 185.53.88.49,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,309 INFO: BL: Detected attack from IP: '185.53.88.49' (Banning address)
2020-03-14 19:25:51,312 INFO: + Added 195.154.28.205,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,312 INFO: BL: Detected attack from IP: '195.154.28.205' (Banning address)
2020-03-14 19:25:51,313 INFO: + Added 92.246.85.154,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,313 INFO: BL: Detected attack from IP: '92.246.85.154' (Banning address)
2020-03-14 19:25:51,315 INFO: + Added 113.141.67.163,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,315 INFO: BL: Detected attack from IP: '113.141.67.163' (Banning address)
2020-03-14 19:25:51,317 INFO: + Added 192.227.132.19,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,317 INFO: BL: Detected attack from IP: '192.227.132.19' (Banning address)
2020-03-14 19:25:51,319 INFO: + Added 45.143.220.240,1584140431 into blacklist again from the time: 1584140431
2020-03-14 19:25:51,319 INFO: BL: Detected attack from IP: '45.143.220.240' (Banning address)
2020-03-14 19:25:51,321 INFO: + Added 45.143.221.59,1584200178 into blacklist again from the time: 1584200178
2020-03-14 19:25:51,321 INFO: BL: Detected attack from IP: '45.143.221.59' (Banning address)
2020-03-14 19:25:51,322 INFO: + Added 192.3.140.204,1584200178 into blacklist again from the time: 1584200178
2020-03-14 19:25:51,322 INFO: BL: Detected attack from IP: '192.3.140.204' (Banning address)
2020-03-14 19:25:51,324 INFO: + Added 185.221.135.138,1584200178 into blacklist again from the time: 1584200178
2020-03-14 19:25:51,324 INFO: BL: Detected attack from IP: '185.221.135.138' (Banning address)
2020-03-14 19:25:51,326 INFO: + Added 45.143.220.25,1584200178 into blacklist again from the time: 1584200178
2020-03-14 19:25:51,326 INFO: BL: Detected attack from IP: '45.143.220.25' (Banning address)
2020-03-14 19:25:51,331 INFO: + Added 10.10.10.10 into whitelist during one year
2020-03-14 19:25:51,332 INFO: + Added 10.10.12.12 into whitelist during one year
2020-03-14 19:25:51,341 INFO: protocol version: '5.0.0'
2020-03-14 19:25:51,342 INFO: Sending awaiting actions
2020-03-14 19:47:09,842 WARNING: Received anonymous INVITE from IP 91.212.38.210
2020-03-14 20:47:14,776 INFO: TL: Expired time for 91.212.38.210
2020-03-14 21:14:17,786 WARNING: Received wrong password for user Administrator from IP 45.234.152.38
2020-03-14 21:50:28,963 WARNING: Received wrong password for user administrator from IP 45.234.152.38
2020-03-14 22:07:02,806 WARNING: Received wrong password for user 10 from IP 45.234.152.38
2020-03-14 22:14:18,490 INFO: TL: Expired time for 45.234.152.38
2020-03-14 22:24:22,969 WARNING: Received anonymous INVITE from IP 45.143.220.220
2020-03-14 22:43:22,100 WARNING: Received wrong password for user 11 from IP 45.234.152.38
2020-03-14 23:19:42,874 WARNING: Received wrong password for user 100 from IP 45.234.152.38
2020-03-14 23:24:26,489 INFO: TL: Expired time for 45.143.220.220
2020-03-14 23:27:28,488 WARNING: Received anonymous INVITE from IP 45.143.220.214