FreePBX настройка модуля Firewall и intrusion detection
Всем привет. Расскажу про настройку firewall в FreePBX так как часто вижу некорректно настроенный firewall или вообще не настроенный.
Есть два типа настройки. 1 тип когда полностью мы блочим все подключения по SIP кроме тех что разрешены. 2 тип когда мы даем лимитировано подключаться по SIP, но если лимиты превышены или идет неадекватная активность, то блочим.
Настроим первый вариант, когда запрещаем все что не разрешено.
Connectivity - firewall - Main - Responsive Firewall
Отключаем responsive firewall, в данном конфиге он не нужен
Connectivity - firewall - Main - Interfaces
Для интерфейса который всегда смотрит в интернет ставим зону internet. Для интерфейсов до провайдера ( beeline или МТС/МГТС ) которые часто транк отдают через vlan. Можете оставить Trusted или Local
Connectivity - firewall - Main - Networks
Основная часть где мы добавляем сети в исключения и назначаем им зоны. Local зона только для абонентов которые находятся в одной сети с freePBX. Trusted зона только для IP операторов у которых покупали транки ( городские номера). Other зона для всего остального (удаленщиков, аутсорсеров и др).
Connectivity - firewall - Services - Services
Настраиваем какие зоны могут получать сервисы с нашей АТС. При такой настройке если ваш IP или сеть добавлены в networks, то проблем в работе с АТС не должно быть никаких.
Connectivity - firewall - Services - Extra services
Отключаем все что не используется при работе с АТС, если же вы используете перечисленные сервисы, то назначаете им зоны с которыми они могут работать вместо параметра Reject
Если вам нужно открыть на freePBX определенный порт или диапазон, это, то самое место, где это можно сделать. Аналогично назначим зоны, которые могут работать с этим портом.
Обязательно нажимайте на зеленую галочку, если изменяете зоны, иначе не применится!
Safe mode - Обязательно оставляем включенным. Эта опция спасет вас, если вы ошибетесь в конфиге и потеряете связь с АТС. Достаточно будет отправить машину 2 раза в перезагрузку, чтобы она перешла в safe mode и вы могли поправить настройки firewall.
Responsive LetsEncrypt rules - Нужно для получения и продления сертификатов lets Encrypt. Если не будете использовать, тогда отключайте.
Reject Packets - Настройка, которая отвечает за наш вариант работы firewall, все что не разрешено, то запрещено.
Intrusion Decetion Service - Включаем, чтобы при загрузке freepbx работал fail2ban.
Intrusion Decetion Sync Firewall - Переводит режим работы fail2ban на совместную работу с модулем firewall. Изначально отключено и fail2ban работает сам по себе со своими исключениями игнорируя настройки модуля firewall.
Add etc/hosts as Trusted - Все хосты которые перечислены в /etc/hosts добавлять в зону Trusted. Оставляйте по дефолту.
Connectivity - firewall - Main - Intrusion Detection
После того как переключили с legacy Intrusion Decetion Sync Firewall, нужно настроить импорт из модуля firewall зон, чтобы fail2ban синхронизировался. Обязательно прожимаем значок обновления рядом с зонами, все исключения из firewall должны загрузиться ниже. Не забываем внизу справа нажать Save intrusion Detection.
На этом первый вариант настройки завершен.
Настроим второй вариант. Когда подключения лимитированы количеством попыток и соединений.
Connectivity - firewall - Main - Responsive Firewall
Включаем responsive firewall с параметрами лимитов по умолчанию.
Connectivity - firewall - Services - Services
Назначаем зоны local и other, но не включаем зону internet, иначе RF не будет работать. Такая настройка позволит подключаться всем по SIP, но с ограничениями и возможностью быть забаненым. Защита сработает даже на легитимных пользователей у которых что-то заглючило и они сгенерировали сессий больше чем в лимитах.
Обычно второй вариант используют для вариантов когда много удаленных пользователей с динамическими IP.
Все остальные настройки так же как и в первом варианте. На этом настройка firewall на freepbx закончена.