Настройка встроенного в Elastix межсетевого экрана.
Вcтроенный в Эластикс Firewall основан на стандартной для Centos утилите управления межсетевым экраном - iptables.
Если вы ранее настраивали фаирвол , например через Webmin, необходимо сбросить все правила для iptables и назначить политики по умолчанию.Сделать это можно в командной строке.
iptables -F
iptables --policy INPUT accept
iptables --policy FORWARD accept
iptables --policy OUTPUT accept
После включения межсетевого экрана мы можем видеть ряд пронумеровыных разрешающих правил в цепочке INPUT iptables:
Эти правила описывают практически все протоколы и порты, которые использует Elastix для своего функционирования.
Самое первое правило разрешает прохождение пакетов для всех протоколов(ALL) на локальном интерфейсе (lo) с любого адреса(0.0.0.0/0) на любой адрес(0.0.0.0/0) в цепочке INPUT.Это правило должно иметь самый высокий приоритет (порядковый номер 1)
Если его не будет , то пакеты , какие бы правила не прописывали в дальнейшем - проходить не будут.
Следующие правила разрешают прохождение пакетов в цепочке INPUT для всех IP адресов на все IP адреса по следующим протоколам и портам:
2. icmp - пинг.
3. udp 5060 - протокол SIP
4. udp 5036 - протокол IAX2
5. udp 4569 - протокол IAX
6. udp 10000:20000 - голосовой трафик
7. udp 2427 - протокол контроля медиашлюзов
8. udp 53 - DNS
9. udp 69 - TFTP
10. tcp 25 почтовый протокол SMTP
11. tcp 110 почтовый протокол POP3
12. tcp 143 почтовый протокол IMAP
13. tcp 443 протокол HTTPS
14. tcp 993 шифрований почтовый протокол IMAPS
15. tcp 995 шифрованый почтовый протокол POP3S
16. tcp 5222 пртокол обмена мгновенными сообщениями XMPP
17. tcp 9090 сервер обмена мгновенными сообщениями OpenFire
(в этом списке был еще доступ по SSH и HTTP я их удалил случайно, чуть ниже добавим их обратно)
Правило номер 18 разрешает все TCP соединения для уже установленных сессий
Далее описаны правила , которые отбрасывают все пакеты, которые не прошли проверку по вышестоящим правилам.
Первое , что нужно сделать , при конфигурации межсетевого экрана - открыть доступ для служб администрирования только тому IP адресу или сети , с которого(ой) оно будет осуществляться.
К этим службам относятся SSH, HTTP, HTTPS.
Добавим , так как я его удалил(по умолчанию - оно есть , его нужно отредактировать) правило для доступа по SSH
В данном случае доступ разрешен только с одной машины (маска 32)
Сделаем тоже самое для HTTP и HTTPS
Вновь созданные правила появятся в самом низу, их надо при помощи стрелок передвинуть ВЫШЕ 2-х последних запрещающих правил, иначе они будут проигнорированы.
Второе , что нужно сконфигурировать - это отключить ненужные протоколы, предположим , что у нас работают только SIP клиенты.
Для этого можно все ненужные правила просто удалить, либо поставить в каждом правиле Target - DROP
В итоге мы получили сервер, на котором разрешен пинг, администрирование с 1-й машины и подключение SIP клиентов
Третье , что надо сделать- это разрешить подключатся по SIP протоколу только из доверенных сетей.
Для этого отредактируем правила для SIP и RTP
Нажимаем "Применить " - межсетевой экран готов.