Перейти к содержанию

Port Guard

os-portguard · Защита

Блокирует устройство по его MAC-адресу на файрволе - первая часть правил второго уровня для портов файрвола.

В меню

  • С установленным os-xgs-npu: XGS: Port Guard
  • Без os-xgs-npu: Firewall: Port Guard
Port Guard в веб-интерфейсе
Его страница в веб-интерфейсе, на английском.

Заблокированные устройства - это список MAC-адресов, каждый из которых - полный адрес или его первые три-пять байт, то есть все устройства одного производителя. Плагин ведёт по списку один MAC-алиас, portguard_blocked; OPNsense преобразует его в адреса IPv4 и IPv6, которые его таблицы ARP и NDP или обнаружение хостов видели у каждого устройства, и поддерживает их актуальными.

Правила плагин регистрирует при каждой перезагрузке фильтра: ничто от устройства из списка не проходит через файрвол ни на одном интерфейсе, и ничто не доходит до него через файрвол. Они стоят до правил интерфейсов, включая правило anti-lockout, и никогда не добавляются в собственные правила владельца. Ничего не блокируется, пока устройство не внесено в список и не применено.

OPNsense не позволяет плагину регистрировать правила Ethernet, поэтому два устройства за одним коммутатором по-прежнему достигают друг друга - их кадры никогда не доходят до файрвола, - и сопоставить по типу кадра пока нельзя. На Sophos XGS цель - правила в коммутаторе передних портов, чтобы заблокированное устройство останавливалось на порту; они ещё не написаны.

Возможности

  • По адресу или по производителю

    Полный MAC-адрес или его первые три-пять байт для всех устройств одного производителя.

  • Один MAC-алиас

    portguard_blocked, который OPNsense преобразует в адреса IPv4 и IPv6, использованные каждым устройством, и поддерживает актуальными.

  • Правила раньше остальных

    Регистрируются при каждой перезагрузке фильтра, на каждом интерфейсе, до правил интерфейсов и правила anti-lockout; никогда не записываются в правила владельца.

  • Увиденные устройства

    Устройства, которые файрвол видел за последние сутки, с интерфейсом, адресом и производителем, каждое - в одном щелчке от блокировки; сначала страница предупреждает, что это может быть используемое сейчас устройство.

  • Сводные карточки

    Сколько устройств из списка присутствует, сколько адресов pf блокирует сейчас, заблокированные пакеты и увиденные устройства.

Установка и обновление

Начиная с релиза os-xgs-npu, следующего за 0.1.0-alpha.7.1, XGS: Updates показывает его на вкладке Plugins — установленная копия обновляется там вручную, а отсутствующая там же устанавливается, — и готовые образы, собранные из этого релиза, содержат его; до тех пор он устанавливается и обновляется, как описано ниже. Ни одна запись cron не запускает обновление. Установить его на устройстве XGS или на любом другом OPNsense можно от root: из checkout репозитория командой sh install/install.sh, которая помещает страницу под XGS при os-xgs-npu и под Firewall без него и сохраняет настройки при повторном запуске; или из пакета релиза os-portguard-1.0.0.pkg, проверенного по SHA256SUMS и добавленного через pkg. Установленная так копия обновляется собственным self-update.py. Удаление плагина убирает его правила из pf; алиас portguard_blocked остаётся в Firewall: Aliases и ничего не блокирует. В репозитории плагинов OPNsense его нет.

Ограничения и то, что ещё не проверено

  • Запись алиаса со страницы (apply.php, который сохраняет config.xml).
  • Устройство, заблокированное через плагин.
  • Ещё не написано: блокировка между двумя устройствами за одним коммутатором, сопоставление по типу кадра (EtherType) и правила в коммутаторе Sophos XGS.
  • Устройство, меняющее свой MAC-адрес, например с частными адресами Wi-Fi, блокируется только под тем адресом, что внесён в список.
  • Пакет, собранный tools/make-package.sh и добавленный через pkg.
  • Установка на OPNsense без os-xgs-npu.
  • Обновление через вкладку Plugins или self-update.py: 1.0.0 - первый релиз, поэтому ни один ещё не опережал установленную копию.

Репозиторий

Первый выпуск: 2026-10-25

os-portguard Выпуски