Уточняем сетевые интерфейсы, и делим их на "внутренний" и "внешний".
...
- http|https для web сервисов (REST-API, административный интерфейс, клиентский интерфейс)
- UDP/1025-5067 и UDP/5069-65535 - для RTP/SIP трафика . Порт UDP/TCP/5080 должен быть закрыт для доступа снаружи
- порты, не попавшие в диапазон UDP/1025-65535, в зависимости от настроек параметра "listen_list" секции "[Kamailio Sbc]" файла /etc/ringme/main.cfg ( в случае использования дополнительных tcp/udp портов SIP)
- ssh tcp prort 22 (Для защиты от брутфорса 22го порта можно использовать fail2ban)
Пример настройки iptables для конфигурации системы на одном сервере (single node):
...
внешнего интерфейса с именем “ens18”
Code Block |
---|
root@somehost:/home/ucom4b# cat /etc/ |
...
iptables/ |
...
rules.v4 *filter |
...
:INPUT ACCEPT [0:0] |
...
:FORWARD ACCEPT [0:0] |
...
:OUTPUT ACCEPT [0:0] |
...
:kamailio - [0:0] |
...
:freeswitch - [0:0] |
...
:web - [0:0] |
...
# prepare |
...
-A INPUT -i lo -j ACCEPT |
...
-A INPUT -p icmp -j ACCEPT |
...
# accept out, established |
...
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT |
...
#main section |
...
-A INPUT -p tcp |
...
- |
...
m tcp --dport 22 -j ACCEPT |
...
-A INPUT -i |
...
ens18 -j kamailio |
...
-A INPUT -i |
...
ens18 -j freeswitch |
...
-A INPUT -i |
...
ens18 -j web |
...
# deny other |
...
-A INPUT -i ens18 -j REJECT --reject-with icmp-host-prohibited |
...
-A FORWARD -j REJECT --reject-with icmp-host-prohibited |
...
# |
...
-A kamailio -i |
...
ens18 -p tcp -m tcp --dport 5060 -j ACCEPT -m comment --comment "SIP traffic - TCP (disabled)" |
...
-A kamailio -i |
...
ens18 -p udp -m udp --dport 5060 -j ACCEPT -m comment --comment "SIP traffic - UDP" |
...
-A kamailio -i |
...
ens18 -p udp -m udp --dport 5068 -j ACCEPT -m comment --comment "SIP traffic - UDP" |
...
-A kamailio -j RETURN |
...
# |
...
5080 - freeswitch sip port, drop it, all another ports accept |
...
-A freeswitch -i |
...
ens18 -p tcp -m tcp --dport 5080 -j DROP |
...
-A freeswitch -i |
...
ens18 -p udp -m udp --dport 5080 -j DROP |
...
-A freeswitch -i |
...
ens18 -p udp -m udp --dport |
...
1025:65535 -j ACCEPT -m comment --comment "RTP |
...
" -A freeswitch -j RETURN |
...
# |
...
-A web -i |
...
ens18 -p tcp -m tcp --dport 80 -j ACCEPT -m comment --comment "HTTP" |
...
-A web -i |
...
ens18 -p tcp -m tcp --dport 443 -j ACCEPT -m comment --comment "HTTPS" |
...
-A web -j RETURN |
...
# |
...
COMMIT |