Comment configurer le firewall de votre serveur Asterisk en 5 minutes

By | 21 janvier 2018 |
This entry is part 3 of 9 in the series Asterisk

Introduction

Bien que nous avons déjà configuré le firewall de notre box internet, nous allons ajouter une deuxième couche à ce filtrage en utilsant un firewall directment sur le serveur Asterisk.

Information sur notre serveur

Notre serveur Asterisk tourne sur un RaspberryPI avec la distribution Raspbian.

raspbian_version

La version de Raspbian

La version installée est celle des dépôts, comme annoncé dans l’introduction son installation se résume à « sudo apt-get install asterisk ».

Asterisk-version

Version d’Asterisk sous Raspbian

Les fichiers de configuration se trouve dans le répertoire /etc/asterisk/

Représentation de notre réseau

Asterisk-OVH Network

Topologie de notre réseau Asterisk

Filtrer le traffic

Notre serveur Asterisk doit pouvoir communiquer aussi bien avec des extensions locales (à droite) qu’externes (tout à gauche).
Nous allons filtrer le traffic en entrée et en sortie.

iptables

Afin de filter le traffic, nous allons utiliser iptables qui est préinstaller dans Raspbian.

Port(s) SIP

Nous allons garder le port standard pour le protocole SIP (5060) et son port alternatif (5962).
Pour les ports rtp nécessaire à l’audio, la configuration se trouve dans le fichier /etc/asterisk/rtp.conf, dans notre case de 30000 à 40001.

Stratégie

Nous allons bloquer tout le traffic entrant et sortant de notre RaspBerryPI pour n’autoriser qu’au cas par cas.

Interdire les connexions entrantes

# sudo iptables -t filter -P INPUT DROP
# sudo iptables -t filter -P FORWARD DROP

Interdire les connexions sortantes

# sudo iptables -t filter -P OUTPUT DROP

Vider les tables actuelles

# sudo iptables -t filter -F
# sudo iptables -t filter -X
# sudo iptables -t nat -F
# sudo iptables -t nat -X
# sudo iptables -t mangle -F
# sudo iptables -t mangle -X
# sudo iptables -t raw -F
# sudo iptables -t raw -X

Création d’une table pour autoriser le traffic entrant

# sudo iptables -N IN_AST
# sudo iptables -I INPUT 1 -j IN_AST

Création d’un table pour autoriser le traffic sortant

# sudo iptables -N OUT_AST
# sudo iptables -I OUTPUT 1 -j OUT_AST

Ajout de règles pour autoriser le traffic entrant

Comme sur le firewall de la BBOX,
nous allons autoriser le traffic pour les ports 5060 (alternatif 5962) et rtp pour l’audio

# sudo iptables -A IN_AST -p udp -s sip3.ovh.be –dport 5060 -m state –state NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A IN_AST -p udp -s sip3.ovh.be –dport 5962 -m state –state NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A IN_AST -p udp -s sip3.ovh.be –dport 30000:40001 -m state –state NEW,ESTABLISHED -j ACCEPT

Nous allons également autoriser tout le traffic en UDP et en provenance du réseau local (192.168.1.0/24)

# sudo iptables -A IN_AST -o eth0 -s 192.168.1.0/24 -p udp -j ACCEPT

Ajout de règles pour autoriser le traffic sortant

A la différence du firewall de la BBOX, nous devons aussi ajouter des règles pout le traffic sortant.

Le traffic à destination du réseau local (192.168.1.0/24)

# sudo iptables -A OUT_AST -o eth0 -d 192.168.1.0/24 -p udp -j ACCEPT

Le traffic vers le verveur OVH

# sudo iptables -A OUT_AST -o eth0 -d 91.121.129.0/24 -p udp –dport 5060 -j ACCEPT
# sudo iptables -A OUT_AST -o eth0 -d 91.121.129.0/24 -p udp –dport 5962 -j ACCEPT
# sudo iptables -A OUT_AST -o eth0 -d 91.121.129.0/24 -p udp –dport 30000:40001 -j ACCEPT

Series Navigation<< Comment configurer le firewall de votre BBOX3 pour AsteriskAsterisk, une configuration simple pour bien débuter >>

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.