Выпуск дистрибутива для создания межсетевых экранов OPNsense 17.1


Представлен выпуск дистрибутива для создания межсетевых экранов OPNsense 17.1 (форк проекта pfSense). Исходные тексты компонентов дистрибутива, а также используемые для сборки инструменты, распространяются под лицензией BSD. Готовые сборки подготовлены в форме LiveCD и системного образа для записи на Flash-накопители (250 Мб).


Основные новшества:

-Обновление системных компонентов до FreeBSD 11 с дополнительной интеграцией патчей для повышения защищённости (ASLR, PIE, SEGVGUARD), разработанных проектом HardenedBSD;
-Реализация возможности удалённой установки по SSH. После загрузки установочного образа системе назначается IP 192.168.1.1 и запускается DHCP-сервер, что позволяет осуществить установку с подключенной к той же локальной сети клиентской системы, подключившись по SSH с логином "installer" и паролем "opnsense";
-Механизм безопасной установки обновлений расширен средствами для ведения полного лога всех изменений и новыми возможностями аудита установленных версий программ на предмет наличия в них известных уязвимостей;
-В состав включены новые плагины для FTP Proxy, Tinc VPN и Let’s Encrypt;
Возможность применения PAM для организации двухфакторной аутентификации (2FA over SSH);
-Переработана nano-сборка, оформленная в виде готового образа для карт памяти. Задействована утилита growfs для автоматической адаптации образа под размер носителя;
-Реализован режим изоляции туннелей IPsec;
-Добавлена поддержка mesh-маршрутизации для VPN;
-Расширены возможности по работе через нескольких провайдеров (правила межсетевого экрана, средства ограничения пропускной способности и captive portal могут совместно использоваться на нескольких WAN-интерфейсах);
-В RESTful API и систему плагинов включены средства для использования подключаемых наборов правил межсетевого экрана и дополнительных сервисов аутентификации;
-Добавлена поддержка PHP 7.0 и проведена оптимизация web-интерфейса.
Напомним, что целью ответвления OPNsense от проекта pfSense было желание сформировать полностью открытый дистрибутив, который мог бы обладать функциональностью на уровне коммерческих решений для развёртывания межсетевых экранов и сетевых шлюзов. В отличие от pfSense, проект позиционируется как неподконтрольный одной компании, развиваемый при непосредственном участии сообщества и обладающий полностью прозрачным процессом разработки, а также предоставляющий возможность использования любых своих наработок в сторонних продуктах, в том числе коммерческих. Из других отличий отмечается новый полностью открытый сборочный инструментарий, более жесткие критерии качества кода, возможность установки в форме пакетов поверх обычного FreeBSD, переписанный Captive Portal, перевод GUI на JavaScript-библиотеку Bootstrap и MVC-фреймворк Phalcon, повышенные требования к безопасности (GUI не должен вызывать операции, требующие root).

Среди возможностей OPNsense можно выделить средства балансировки нагрузки, web-интерфейс для организации подключения пользователей к сети (Captive portal), наличие механизмов отслеживанием состояний соединений (stateful firewall на основе pf), задание ограничений пропускной способности, фильтрация трафика, создание VPN на базе IPsec, OpenVPN и PPTP, интеграция с LDAP и RADIUS, поддержка DDNS (Dynamic DNS), система наглядных отчётов и графиков. Кроме того, в дистрибутиве предоставляются средства создания отказоустойчивых конфигураций, основанных на использовании протокола CARP и позволяющих запустить помимо основного межсетевого экрана запасной узел, который будет автоматически синхронизирован на уровне конфигурации и примет на себя нагрузку в случае сбоя первичного узла. Для администратора предлагается современный и простой интерфейс для настройки межсетевого экрана, построенный с использованием web-фреймворка Bootstrap.