Рейтинг:0

Адреса не всегда добавляются в набор (iptables)

флаг be

Мы используем iptables с ipset списки на границе нашей сети. Обычно это хорошо работает. Я обновил правила, чтобы увеличить активность, и обнаружил, что правило обновления набора не всегда приводит к успешному обновлению набора. Правило находится в ПРЕДВАРИТЕЛЬНАЯ МАРШРУТИЗАЦИЯ цепь калечить Таблица.

Это правило (от iptables -L -nv -t мангл):

SET all -- * * 0.0.0.0/0 0.0.0.0/0 match-set BlackHoleTargets dst ! match-set PrivateNets src add-set blackholescanners src

где BlackHoleTargets — набор hash:ip, в котором перечислены IP-адреса, которые не следует публиковать; PrivateNets — это набор hash:net, в котором перечислены внутренние (немаршрутизируемые) подсети, а blackholescanners — это набор hash:ip для захвата адресов машин, проверяющих неопубликованные адреса.

Я думал, что это работает хорошо — после сброса списка сканеров черных дыр он начинает быстро заполняться. Он имеет тайм-аут 12 часов и обычно содержит ~ 22 тыс. адресов. В настоящее время максимальный размер этого набора составляет 65536 элементов.

В рамках пересмотра правил мы ввели новое правило для серверов RDP с целью разрешения подключения только динамическому списку авторизованных клиентов. В рамках этого у нас есть правило для перехвата сеансов RDP, которые не авторизованы с помощью этого правила в фильтр Таблица ВПЕРЕД цепочка (выход из iptables -L -nv):

SET tcp -- * * 0.0.0.0/0 xxx.xxx.xxx.0/24 tcp dpt:3389 multiport sports 1024:65535 add-set UnrecognisedRDP src,dst

куда ххх.ххх.ххх.0/24 — это диапазон в нашей сети, а UnrecognisedRDP — это hash:net,net, установленный для отслеживания этих сеансов.

Я вижу записи в таблице UnrecognisedRDP, где адрес назначения указан в BlackHoleTargets — я ожидаю, что исходный адрес должен быть в blackholescanners, но это не так, и он также не соответствует списку PrivateNets.

Например, у нас есть несколько записей в таблице UnrecognisedRDP (для разных адресов назначения) для адреса, начинающегося с 192.241.217 (полный IP-адрес скрыт). Адрес источника не соответствует набору PrivateNet (который содержит следующие подсети: 10.0.128.0/20; 10.1.0.0/16; 10.0.0.0/20; 10.0.16.0/24; 10.192.0.0/10; 10.2.0.0/. 24; 10.129.1.0/24), поэтому я ожидаю, что исходный адрес в списке UnrecognisedRDP будет в наборе сканеров черных дыр, но это не так. Список сканеров черных дыр неполный (количество записей: 19356 maxelem 65536).

Я попытался добавить повторяющееся правило в фильтр Таблица ВПЕРЕД цепочка непосредственно над правилом, которое добавляет адреса в таблицу UnrecognisedRDP. После сброса набора UnrecognisedRDP я все еще находил записи, добавленные в набор UnrecognisedRDP, которые не были добавлены в набор сканеров черных дыр. Счетчики пакетов показывают, что сработали оба правила.

Итак, мой вопрос: почему правило с -j SET --add-set blackholescanners src успешно обновить набор?

флаг cn
Bob
Максимальный размер хеш-таблицы [ipset](https://ipset.netfilter.org/ipset.man.html) определяется при создании. Достигнут ли этот максимум и можно ли просто отбросить дополнительные записи сверх этого максимума?
Rob Lambden avatar
флаг be
Спасибо @Bob, но в этом сценарии набор неполный - я обновлю вопрос, чтобы включить эту важную информацию!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.