Installazione e configurazione di un Firewall per Asterisk

Versione adatta alla stampaSend to friendPDF version

Per proteggere il nostro sistema da "gente" malintenzionata :) possiamo installare un firewall software che ci permette di gestire tutte le porte di cui abbiamo bisogno per far si che Asterisk funzioni alla perfezione.

Nel nostro caso installeremo iptables:

yum install iptables

Adesso creiamo un file di testo dove andiamo a definire le regole del nostro Firewall

nano /etc/sysconfig/iptables

e copiamo le seguenti linee:

# In maniera predefinita blocca tutto il traffico in entrata e ruotato
# Permetti tutto il traffico in entrata
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Porta Protocollo Dundi
-A INPUT -p udp --dport 4520 -j ACCEPT

# Porta IAX
-A INPUT -p udp --dport 4569 -j ACCEPT

# Porta SIP
-A INPUT -p udp --dport 5060 -j ACCEPT

# Porte RTP media (audio/video)
-A INPUT -p udp --dport 10000:20000 -j ACCEPT

# Permetti traffico SSH
-A INPUT -p tcp --dport 25000 -j ACCEPT

# Permetti ping della macchina
-A INPUT -p icmp --icmp-type ping -j ACCEPT

# Permetti tutto il traffico locale
-A INPUT -i lo -j ACCEPT

COMMIT

Se abbiamo installato Webmin ricordiamoci di abrire la porta relativa. Se per connetterci da remoto al nostro server linux usando SSH, abbiamo deciso di usare la porta 25000, dobbiamo configurarla in questo file (vedi sopra).

Una volta che abbiamo terminato salviamo il file e facciamo partire Iptables

Importante: Se stiamo lavorando con un server remoto accertiamoci che la configurazione sia corretta altrimenti rischiamo di non poter più accedere al server via SSH.

service iptables start

nel caso che già lo avevamo installato dobbiamo farlo ripartire con:

service iptables restart

Apparirà:

Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]

Se riceviamo un errore dobbiamo ricontrollare la configurazione per vedere dove ci siamo sbagliati.

Verifichiamo que tutto sia a posto:

iptables -L

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere            udp dpt:4520
ACCEPT     udp  --  anywhere             anywhere            udp dpt:iax
ACCEPT     udp  --  anywhere             anywhere            udp dpts:sip
ACCEPT     udp  --  anywhere             anywhere            udp dpts:ndmp:dnp
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:25000

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 

Questa è una configurazione di base e molto semplice. Per approfondire il tema vi consiglio di leggere questo manuale

Per terminare dobbiamo dire a Asterisk che utilizzi le porte UDP dalla 10000 alla 20000 per il trasporto di audio/video.

nano /etc/asterisk/rtp.conf

Togliamo (se è presente) il punto e virgola prima di [general]

e modifichiamo queste due linee:

rtpstart=10000
rtpend=20000

Salviamo il file e rinizializziamo Asterisk

/etc/init.d/asterisk restart

E' tutto

Condividi contenuti