Организация VPN-шлюза на базе OPNsense с фильтрацией трафика и IDS/IPS

Проблема

Малый и средний бизнес всё чаще открывает филиалы или переводит сотрудников на удалённую работу, и перед администратором встаёт задача связать офисы защищённым каналом. Покупка дорогих аппаратных межсетевых экранов с VPN и системами обнаружения вторжений не всегда оправдана бюджетом, а поднятие связки из отдельного Linux-сервера с OpenVPN, iptables и Suricata требует времени и глубоких знаний. Хочется получить единую платформу, где настройка туннеля, межсетевого экрана и IDS/IPS делается в веб-интерфейсе, а не через правку десятка конфигурационных файлов. OPNsense настройка в роли центрального VPN-шлюза решает эту задачу: это открытый дистрибутив на базе FreeBSD с современным интерфейсом, встроенными OpenVPN/IPsec, межсетевым экраном (pf) и системой предотвращения вторжений Suricata.

Решение

Развернём OPNsense на выделенном сервере или виртуальной машине и настроим его как основной шлюз для офиса. Создадим два интерфейса WAN (смотрит в интернет) и LAN (локальная сеть). Затем поднимем OpenVPN-сервер для удалённых клиентов, включим IDS/IPS на базе Suricata для анализа трафика на угрозы, а также настроим правила брандмауэра так, чтобы пропускать только нужный трафик и блокировать подозрительную активность. Вся документация, необходимая для углублённого изучения, доступна на официальном портале OPNsense Documentation, а конкретные разделы по VPN и IDS/IPS — в OpenVPN Setup Guide и Suricata Setup. Для понимания архитектуры межсетевого экрана полезна man-страница pf.conf(5).

Пошаговая инструкция

Шаг 1. Установка OPNsense и базовая настройка интерфейсов

  1. Скачайте ISO-образ с официального сайта OPNsense и запишите его на флешку. Установите систему на целевой сервер или ВМ, следуя мастеру (он копирует файлы и просит задать пароль root).
  2. После перезагрузки войдите в консоль (логин root). Вам будет предложено запустить мастер назначения интерфейсов. Укажите:
    • WAN (внешний интерфейс) тот, что подключён к провайдеру. Обычно получает IP по DHCP, но можно задать статический.
    • LAN (внутренний интерфейс) смотрит в локальную сеть. Задайте статический IP, например 192.168.1.1/24, и включите DHCP-сервер для раздачи адресов клиентам.
  3. В том же мастере задайте пароль для веб-интерфейса (пользователь admin) и перезагрузите машину.
  4. С любого ПК в сети LAN откройте браузер и зайдите на https://192.168.1.1. Войдите как admin с заданным паролем. Откроется панель управления Lobby.

Шаг 2. Настройка OpenVPN-сервера для удалённых клиентов

Мы создадим сервер с аутентификацией по TLS-сертификатам и выделим для VPN-клиентов отдельную подсеть.

  1. Перейдите в VPN → OpenVPN → Servers. Нажмите Add.
  2. Заполните поля:
    • Description: Corporate VPN
    • Server Mode: Remote Access (SSL/TLS)
    • Port: 1194
    • Protocol: UDP
    • IPv4 Tunnel Network: 10.10.10.0/24 (подсеть для VPN-клиентов)
    • IPv4 Local Network: 192.168.1.0/24 (чтобы клиенты видели офисную сеть)
    • DNS Servers: 192.168.1.1 (или любой внешний DNS)
  3. Прокрутите вниз, нажмите Save. Система сгенерирует Certificate Authority и сертификат сервера автоматически, если их ещё нет.
  4. Теперь создайте клиентские сертификаты. Перейдите в VPN → OpenVPN → Client Export. Выберите нужный сервер, в выпадающем списке выберите пользователя (создайте его через System → Access → Users, дав права Certificate). Нажмите Export и скачайте .ovpn-файл.
  5. Включите OpenVPN-сервер: VPN → OpenVPN → Servers, нажмите на иконку «play» рядом с сервером.
  6. На клиентской машине установите OpenVPN-клиент, импортируйте .ovpn-файл и подключитесь. Проверьте пинг до 192.168.1.1.

Подробнее о генерации сертификатов и экспорте клиентских конфигураций в официальной документации OPNsense: OpenVPN SSL/TLS.

Шаг 3. Настройка правил брандмауэра

По умолчанию все входящие подключения на WAN блокируются, но нам нужно разрешить OpenVPN.

  1. Перейдите в Firewall → Rules → WAN. Нажмите Add.
  2. Создайте правило:
    • Action: Pass
    • Protocol: UDP
    • Source: any
    • Destination Port Range: 1194
    • Description: Allow OpenVPN
  3. Нажмите Save, затем Apply Changes.

Чтобы VPN-клиенты могли общаться с локальной сетью, на вкладке Firewall → Rules → OpenVPN создайте правило, разрешающее трафик от сети 10.10.10.0/24 в LAN net. Аналогично, если нужно выпускать клиентов в интернет через туннель, создайте правило, разрешающее трафик от VPN-подсети в WAN.

Шаг 4. Включение и настройка IDS/IPS (Suricata)

OPNsense включает Suricata, который может работать в режиме обнаружения (IDS) или предотвращения вторжений (IPS), блокируя вредоносный трафик прямо на лету.

  1. Перейдите в Services → Intrusion Detection → Administration.
  2. Поставьте галочку Enable Intrusion Detection и выберите интерфейсы, на которых будет работать Suricata (обычно WAN). Активируйте IPS mode, если хотите автоматически блокировать атаки.
  3. Нажмите Apply. Система загрузит и установит правила.
  4. Во вкладке Download выберите набор правил (например, ET OpenSnort VRT — они бесплатны для некоммерческого использования) и нажмите Download & Update Rules. Регулярное обновление правил настраивается во вкладке Schedule.
  5. В разделе Policy вы можете настроить отдельные правила: какие атаки детектировать и блокировать. По умолчанию используется сбалансированный набор.
  6. Логи срабатываний доступны в Services → Intrusion Detection → Alerts.

Официальная документация по Suricata в OPNsense: Intrusion Prevention System (IPS).

Шаг 5. Настройка GeoIP-блокировки (дополнительная защита)

Часто имеет смысл запретить подключения к WAN-интерфейсу из стран, откуда вы не ожидаете трафика (например, если все сотрудники находятся в России, заблокируйте остальной мир для SSH и RDP).

  1. Установите плагин os-etpro-telemetry и активируйте GeoIP через Firewall → Aliases → GeoIP.
  2. Создайте алиас (например, BlockedCountries) с перечнем стран, откуда запрещён доступ.
  3. В правилах WAN создайте правило Block с источником BlockedCountries и поместите его выше разрешающих правил.
  4. Примените изменения.

Подробнее: GeoIP Filtering.

Шаг 6. Настройка автоматических резервных копий конфигурации

OPNsense умеет сохранять полный дамп конфигурации в облако или на локальный сервер.

  1. Перейдите в System → Configuration → Backups.
  2. Включите автоматическое резервное копирование (например, ежедневно) и укажите удалённый FTP/SCP-сервер или Google Drive для хранения.
  3. Нажмите Save.

Теперь при сбое оборудования вы сможете развернуть новый экземпляр OPNsense и импортировать конфигурацию за пару минут.

Устранение распространённых проблем

СимптомВероятная причинаРешение
OpenVPN клиенты подключаются, но не видят локальную сетьНет правила в Firewall → Rules → OpenVPN, разрешающего доступ к LANДобавьте правило: Action=Pass, Source=10.10.10.0/24, Destination=LAN net.
Suricata блокирует легитимный трафик (например, SIP или почту)Срабатывает правило IPS из-за особенностей протоколаВ Services → Intrusion Detection → Alerts найдите сработавшее правило и добавьте его в исключения (Suppression) или отключите конкретную сигнатуру во вкладке Rules.
После перезагрузки пропадают настройки интерфейсовНе был нажат Apply Changes после изменений, либо жёсткий диск заполненУбедитесь, что после каждой правки вы нажимаете Apply. Проверьте свободное место: Reporting → System Information.
Не обновляются правила SuricataПроблема с DNS или доступом к серверам обновленийПроверьте, что OPNsense может разрешать имена: Interfaces → Diagnostics → DNS Lookup. Если нет настройте DNS-серверы в System → Settings → General.
Веб-интерфейс не открывается из LANНеправильно задан IP LAN-интерфейса, или включён блокирующий правило на LANВ консоли сервера выберите пункт 1) Assign Interfaces и проверьте, что LAN интерфейс верный и имеет правильный адрес.

OPNsense настройка в качестве VPN-шлюза даёт полноценный корпоративный стек без лицензионных отчислений: защищённый удалённый доступ, файрвол с детальной фильтрацией и система предотвращения вторжений, управляемые из единой веб-консоли. Такой шлюз можно развернуть за час на любом x86-совместимом компьютере с двумя сетевыми картами, получив функционал, сравнимый с дорогими проприетарными решениями. Единожды настроив резервное копирование конфигурации и автообновление правил, вы получаете практически не требующую ручного вмешательства платформу, способную защитить периметр небольшого офиса или филиала.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Популярные
Новые Старые

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Menu