Блок-лист на pfSense и OPNsense подключается штатными средствами, без дополнительных пакетов: алиас типа URL Table (IPs) скачивает список атакующих IP по ссылке, а одно правило на WAN блокирует входящий трафик с этих адресов. Ниже пошаговая настройка для обеих систем, отличия в частоте обновления и как проверить, что список загрузился.
Что понадобится
- pfSense или OPNsense с доступом к веб-интерфейсу.
- Токен блок-листа KIPBan: создаётся в кабинете, раздел «Блок-лист», по одному на устройство. Что входит в список и сколько он стоит, описано в статье о блок-листе для периметра.
- Внешние адреса вашего офиса и VPN в белом списке KIPBan: они вырезаются из блок-листа.
Обеим системам нужен формат plain.txt: по одному адресу IPv4 или IPv6 на строку.
https://api.kipban.ru/feed/<ТОКЕН>/plain.txt
Блок-лист на pfSense
Шаг 1. Алиас URL Table
- Firewall → Aliases → вкладка URLs → Add.
- Name:
kipban. Type: URL Table (IPs). - В поле URL вставьте адрес
plain.txtс вашим токеном, в списке рядом выберите частоту обновления в днях, например 1. - Save, затем Apply Changes.
У pfSense есть ограничение: частота обновления URL Table задаётся в днях, и проверку, пора ли обновить алиас, система делает раз в сутки. Штатно список будет обновляться не чаще раза в день. Если нужно обновлять его каждые 15–30 минут, используйте пакет pfBlockerNG: он умеет скачивать списки по более частому расписанию.
Шаг 2. Правило блокировки на WAN
- Firewall → Rules → WAN → Add (со стрелкой вверх, чтобы правило встало в начало списка).
- Action: Block. Address Family: IPv4+IPv6. Protocol: Any.
- Source: Single host or alias →
kipban. Destination: any. - Description:
KIPBan blocklist. Save, затем Apply Changes.
Правило должно стоять выше разрешающих правил для проброшенных портов, иначе трафик с адресов из блок-листа успеет пройти по ним.
Шаг 3. Проверка
Diagnostics → Tables → в списке выберите kipban. Появится содержимое алиаса: адреса из блок-листа. Сработавшие блокировки видны в Status → System Logs → Firewall, если в правиле включено логирование.
Блок-лист на OPNsense
Шаг 1. Алиас URL Table
- Firewall → Aliases → +.
- Name:
kipban. Type: URL Table (IPs). - Content: адрес
plain.txtс вашим токеном. - Refresh Frequency: задайте интервал обновления. OPNsense позволяет обновлять алиас чаще раза в сутки, разумно выставить несколько часов. Меньше 5 минут ставить нельзя: чаще сервер список не отдаёт.
- Save, затем Apply.
Шаг 2. Правило блокировки на WAN
- Firewall → Rules → WAN → +.
- Action: Block. TCP/IP Version: IPv4+IPv6. Protocol: any.
- Source:
kipban. Destination: any. - Description:
KIPBan blocklist. Save, перетащите правило в начало списка, Apply changes.
Шаг 3. Проверка
Firewall → Diagnostics → Aliases → выберите kipban: появится загруженный список адресов. Если он пустой, проверьте, что адрес с токеном открывается с самого межсетевого экрана и что у OPNsense есть исходящий доступ к api.kipban.ru по HTTPS.
Что важно знать
- Один токен на устройство. Токен работает не больше чем с двух внешних адресов в час, например основного и резервного канала.
- Не чаще раза в 5 минут. На более частые запросы сервер отвечает ошибкой 429, а если список не изменился, отвечает 304 без данных.
- Адрес с токеном — секрет. Если он утёк, выпустите новый адрес в кабинете и замените его в алиасе.
- Блок-лист не заменяет защиту серверов. Он отсекает уже известных атакующих. Новых ловят агенты KIPBan на серверах, и те же адреса потом попадают в блок-лист.
Подробно об алиасах написано в документации pfSense и OPNsense. Инструкция для роутеров MikroTik есть в статье о блок-листе на MikroTik.
Вопросы про блок-лист на pfSense и OPNsense
Почему pfSense обновляет список только раз в сутки?
У алиаса URL Table в pfSense частота обновления задаётся в днях, и система проверяет, не пора ли обновить алиасы, раз в сутки. Для более частого обновления используйте пакет pfBlockerNG или OPNsense, где интервал можно задать в часах.
Нужен ли pfBlockerNG для блок-листа KIPBan?
Нет, штатного алиаса URL Table достаточно. pfBlockerNG нужен, только если вы хотите обновлять список чаще раза в сутки.
Блокирует ли алиас IPv6-адреса?
Да. Формат plain.txt содержит и IPv4, и IPv6, а алиас URL Table (IPs) принимает оба. В правиле выберите IPv4+IPv6.