bonjour
j'aimerais reprendre dans ce post l'ensemble des éléments nécessaires à bien sécuriser son asterisk. Il y a sur le forum plein d'infos là -dessus, mais je vise à faire quelque chose de complet, sous forme de pointeurs vers d'autres articles quand c'est possible - c'est trop de temps de faire un article détaillé, mais vous saurez ou regarder.
Il convient de connaitre un peu linux pour le comprendre, et à défaut, google est votre ami.
L'idée est de mettre à jour ce message au fil du temps. N'hésitez pas à suggèrer d'autres points
Cdlt
J.
1/ la réalité du danger
Chaque IP est scannée par des robots entre 10 et 20 fois par jour, pour trouver un serveur voip. Un des packages les plus utilisés est sipvicious, mais il y en a d'autres. Une fois que le robot a trouvé un serveur qui réponde, il passe en mode bruteforce pour trouver un username, puis un password. Au mieux, il ne trouver rien, et pendant plusieurs jours votre bande passante est saturée, dégradant la qualité du service, au pire, il trouve un user/pass, je ne vous décris pas la suite...
Les attaques peuvent aussi venir de clients utilisant normalement le service, et recherchant des appels gratuits, des employés, etc...
2/ En premier
Mettez votre asterisk derrière un firewall, et n'ouvrez pas le port 5060 - c'est le plus sur. Vous n'avez pas besoin d'ouvrir le 5060 si vous vous enregistrez / connectez à un fournisseur de VOIP. Votre serveur va lancer les paquets qui ouvriront le firewall. Les seuls éléments nécéssaires alors sont: régler correctement (quand c'est possible) la durée de vie de l'ouverture du port UDP - généralement, 30s ou 60s. Pour maintenir le port ouvert, utilisez l'option qualify=yes et descendez qualifyfreq à une valeur inférieure à celle de fermeture auto du port
3/ En premier (c'est aussi important que le 2....)
lisez, et comprenez le fichier: README-SERIOUSLY.bestpractices.txt - il est sous la racine des sources, à défaut: http://bit.ly/NFnvga
en particulier, le "Proper Device Naming", "Secure Passwords".
4/ Sécurisez les autres applis (ssh, pas de telnet, http), en appliquant les best practices pour chaque appli, et en les tenant à jour
5/ Dans tous les cas, et surtout si votre asterisk est accessible depuis l'extérieur
Mettre en place des règles IPTABLES sérieuses. Pour cela, cet article du forum est pas mal: http://www.asterisk-france.org/conte...quer-les-scans
mais j'adore celui là : https://blog.ls20.com/securing-your-...with-iptables/
les points intéressants dans ce message sont le filtrage par useragent, le filtrage des dos.
Idéalement, le mieux si vous avez des postes nomades, est de passer par un vpn:
http://www.asterisk-france.org/conte...n-de-vpn-pptpd
6/ Si vous avez bien implémenté les règles iptables, presqu'aucun scanner ne viendra troubler votre tranquillité. Cependant, de temps en temps, l'un deux arrivera à passer => installez fail2ban:
http://www.asterisk-france.org/conte...-avec-fail2ban
pour ssh et asterisk
7/ Bien sur, évitez les mots de passe trop faciles; freepbx vous propose un module de détection des mots de passe faibles, utilisez le.
8/ faites un petit script shell qui compte le nombre de minutes sur votre asterisk, par heure (par exemple) et qui vous notifie par email au delà d'une certaine limite. vous pourrez toujours arreter les frais en cas de soucis, plutôt que de s'en appercevoir après plusieurs jours
9/ Allowguest=no, alwaysreject=yes
allowguest autorise un client sans user ni mot de passe à passer des appels => TRES DANGEREUX
alwaysreject permet de renvoyer la meme erreur, que ce soit le username ou le password qui soit incorrect. cela complique les attaques bruteforce
10/ Positionner le contexte par défaut
dans la section general de sip, rajouter une ligne
context=contexctquinexistepas
de façon à positionner le contexte par défaut pour les appels entrants à un contexte inexistant. les contextes corrects seront spécifiés au niveau de chaque trunk/peer
11/ Inclusions de contextes
Bien vérifier les inclusions de contextes, de manière à ne pas donner des droits excessifs à des postes qui n'en ont pas l'usage
12/ un article qui résume tout ca:
http://www.star2billing.com/securing-asterisk/
13/ On peut aussi bloquer les IP par origine géographique
http://www.asterisk-france.org/threa...P-des-scanners
Voila... ca ne vous garantira jamais à 100%, mais ne pas appliquer ces conseils vous garanti à 100% d'être pirtaté !!!