Запрет адресов IPv6

16

В настоящее время я привык использовать такие инструменты, как fail2ban, чтобы удерживать нежелательный трафик от моих серверов путем запрета адресов IPv4: слишком много неправильных записей журнала на IP, запрет IP.

Однако, когда мир завершит переход на IPv6, запрет отдельных адресов, вероятно, больше не будет работать, так как «обычный» ботнет-компьютер или злоумышленник имеет достаточно много адресов IPv6?

Если я хочу заблокировать пользователей IPv6, что будет лучшим способом для этого? Использовать определенную маску IP или что-то еще?

Как насчет «эвристического масштабирования», когда вы получаете несколько отдельных попаданий внутри IPv6, а затем блокируете весь блок?

Для меня важнее смягчить угрозу. Если некоторые бедные настоящие пользователи принадлежат к одному и тому же блоку с заблокированными IP-адресами, тогда проблема между этими людьми и их провайдером заключается в том, чтобы очистить этот сетевой блок.

Микко Охтамаа
источник

Ответы:

6

Бан для per / 128 не масштабируется, когда для атаки используется подсеть размером / 64. В итоге вы получите 2 ^ 64 записей в таблице, что может привести к отказу в обслуживании.

Конечные пользователи всегда будут получать / 56 за глобальную политику назначения адресов. Предприятия всегда будут получать / 48 на глобальный адрес

Смотрите: https://tools.ietf.org/html/rfc6177 / 128 никогда не следует назначать серверу / пользователю, минимальное назначение другому объекту (клиенту server / vps) должно быть / 64. Минимальное назначение сайта должно быть / 56. Выдача / 128s в корне нарушена и должна рассматриваться как ошибка конфигурации.

Поэтому я рекомендую временный бан для per / 64, учитывая, что типичный конечный пользователь будет иметь доступ только к 2 ^ 8 / 64s, он не должен вводить слишком много записей в таблицу запретов.

Вилко Баан Хофман
источник
1
Блокировка всего /64из-за одного проблемного IP приведет к блокировке законных пользователей.
kasperd
1
Да, но только если они находятся на одном сайте. Так что да, пользовательская VLAN может быть заблокирована внутри одного здания. Или все виртуальные машины, принадлежащие клиенту, если одна из виртуальных машин ведет себя неправильно в облаке. Назначение / 64 нескольким пользователям для серверов является проблематичным по многим причинам, это не работает. Но атака типа «отказ в обслуживании» при блокировке на / 64 намного ниже, чем на / 128.
Уилко Баан Хофман
10

Любой ответ на ваш вопрос будет включать в себя некоторое количество догадок. Развертывания IPv6 все еще достаточно мало, чтобы мы просто еще не знали, как именно будет выглядеть сценарий угрозы.

Большое количество адресов IPv6 внесет множество изменений в сценарий угрозы, который вам придется рассмотреть.

Прежде всего, при использовании IPv4 для злоумышленника вполне возможно сканировать номер порта по умолчанию для какой-либо уязвимой службы по всем 3700 миллионам маршрутизируемых адресов IPv4. Такие нецелевые атаки невозможны с IPv6. Те атаки, которые вы все еще видите, должны быть более целенаправленными. Означает ли это, что нам придется многое изменить в нашей обработке атак, еще неизвестно.

Основной целью запрета IP-адресов на основе сообщений журнала будет уменьшение шума в журналах и в некоторой степени снижение нагрузки на систему. Это не должно служить защитой от подвигов. Злоумышленник, который знает слабость, будет внутри до того, как сработает запрет, поэтому для защиты от него вы должны исправлять уязвимости - как и всегда.

Запрет отдельных IPv6-адресов может быть достаточным для уменьшения шума в журналах. Но это не дано. Весьма вероятно, что злоумышленник может использовать новый IP-адрес из диапазона, доступного ему для каждого соединения. Если злоумышленники будут вести себя так, что запрет отдельных IPv6-адресов не только будет неэффективным, но вы даже можете непреднамеренно вызвать DoS-атаку на себя, используя всю свою память для правил брандмауэра.

Вы не можете знать длину префикса, доступного каждому злоумышленнику. Блокировка слишком короткого префикса вызовет DoS-атаку, охватывая также законных пользователей. Блокировка слишком длинного префикса будет неэффективной. В частности, попытки перебора пароля, вероятно, будут использовать большое количество клиентских IPv6-адресов.

Чтобы быть эффективными против злоумышленников, переключающих IPv6-адреса при каждом запросе, и чтобы уменьшить использование памяти, вы должны блокировать диапазоны, и из-за того, что вы заранее не знаете длины префикса, вы должны динамически регулировать длину префикса.

Эвристику можно придумать уже сейчас. Насколько хорошо они будут работать, мы пока не знаем.

Одна эвристика будет для каждой длины префикса определять пороговое значение количества IP-адресов, необходимых для блокировки префикса этой длины. И блокировка должна применяться только определенной длины, если более длинный префикс не будет достаточным. Другими словами, вам нужно достаточно индивидуально заблокированных IP-адресов в каждой из двух половин, чтобы фактически инициировать блок.

Например, можно решить, что для блокировки / 48 должно быть 100 заблокированных IP-адресов в каждом из двух / 49, составляющих / 48. Чем длиннее префикс, тем меньше должно быть количество IP-адресов, необходимых для его блокировки, но в каждом случае они должны быть распределены по обеим половинкам.

kasperd
источник
1
Спустя почти 5 лет какое-либо пересмотр IPv6 и Fail2ban?
Пол
2

Вы должны придерживаться запрета отдельных адресов.

Не определено, сколько адресов будет дано конечным пользователям. Некоторые интернет-провайдеры могут указывать целую подсеть, а другие - только один адрес.

Пьер-Ив Гилье
источник
Тот же ответ на ваш второй вопрос. Поскольку вы не можете знать, какие настройки сети определены с другой стороны, вы можете заблокировать множество пользователей.
Пьер-Ив Гильер