TL;DR: автор печалится о том, что в наступающем счастливом IPv6-будущем единственной приемлемой альтернативой огромным ботнетам IoT является старый добрый NAT на IPv6. К сожалению, конечно.
Давайте я сразу раскрою карты: мое мнение и примеры будут основаны на опыте работы в региональном операторе связи, у которого несколько десятков тысяч абонентов, физических и юридических лиц. Один регион присутствия, ЦФО.
Проблема
Она в том, что пользователям в их большинстве плевать на безопасность. Любой пользователь хочет пользоваться компьютером или смартфоном и не особо заморачиваться. Любые слова от оператора связи о том, что его компьютер участвует в атаках или делает что-то плохое пользователь не воспринимает серьезно.
Почему? Потому что нет последствий.
Я серьезно. Даже если злоумышленники через доступ в интернет от имени этого пользователя совершат что-то ужасное, повесить это на самого пользователя будет достаточно сложно.
В итоге любое сообщение от оператора о том, что у пользователя что-то не так, воспринимается попыткой заработать на нем, пользователе, дополнительного бабла.
Нужно ли решать эту проблему оператору?
И да, и нет. Когда видишь на графике, что порядка 20% твоих исходящих DNS-запросов есть участие в атаке DNS watertorture, то ты, конечно, хочешь это решить. Получаешь список зараженных машин, их будет не так уж много, но дальше ничего. Примеры:
1. Муниципальное учреждение. Системный администратор отсутствует как класс, кое-как работающие, насквозь зараженные компьютеры. Они платят за интернет, поэтому отключать их как-то странно, с точки зрения оператора.
2. Торговая точка. Доступ есть у огромного количества продавцов, явно кто-то умудрился занести заразу. Вылечить? Да, но бесплатно это никто делать не будет. Лишние расходы. Не, не надо.
Можно продолжать, таких историй множество. Отключать таких абонентов от сети? Ну это значит, что нужно наступить на горло собственной выручке.
А IPv6 причем тут?
Фанбои IPv6, которые в реале даже дуалстека не нюхали, обычно любят орать с пеной у рта о том, что «В IPv6 нинужин NAT!!!!111».
Увы, но даже в IPv4 мире нас спасает от потоков гавна только NAT. Вы хотите примеров? Их есть у меня.
Итак, мы берем и сканируем при помощи Router Scan свою внутреннюю сеть. Что получаем? Ну, в моем случае 739 уязвимых роутеров. Часть из них неправильно настроены. Часть их них имеет уязвимости в прошивке. Неважно. Важно другое, это 739 вкусных целей.
Когда придет IPv6 без NAT, который там совершенно ненужен, станет понятно, что огромное количество IoT устройств (с буквой S, обозначающей security), произведены в Китае дядей Ляо. Разработчики софта для этих устройств имели весьма отдаленное представление о безопасности. Оставляли открытыми telnet со слабым паролем. Ну и так далее.
И знаете, что будет дальше, когда IoT пойдет в массы в регионы? Когда любая Зинаида Семеновна сможет купить 5-10 устройств для своей отличной двухкомнатной хрущевки? IPv6 с белым адресом поможет этим устройствам верно трудиться на славу своего господина ботовода. А к тому моменту стараниями маркетологов Зинаида Семеновна для себя и деток сможет взять и 300-400 мегабит в секунду пропускной полосы. Прелесть!
Ну, надо просто использовать фаервол!
Да, гениальная идея! Я согласен, где подписать? Правда, один сложный момент. А кому его настраивать?
Пользователю? Который просто умеет нажать кнопку и «чтобы работало»? Пользователь не будет этого делать, DDoS с его устройств, как мы уже выяснили, не его проблема.
Оператору? У оператора и так полно головной боли. Поэтому самый удобный statefull-фаервол = NAT. Как бы странно это ни звучало и не выглядело. И да, конечно, оператор вынужден даже сейчас это использовать. У множества операторов на ACL стоит запрет на трафик по 13x порту в сторону пользователя.
Кроме того, фаервол подразумевает некий способ опознавания «свой-чужой». Ну хотя бы по source IP. Что невозможно в наших условиях интернет-кафе, 3G-LTE и вот этого всего.
Поэтому все эти прекрасные рекомендации «используйте фаервол, а не NAT» разбиваются об стенку реальности.
Может быть что-то еще?
Да, есть еще один вариант. Когда оператор закрывает собой Level 3 и становится Level 2 провайдером. Такие в России есть, но мало. И использует виртуальный роутер, то есть, контролирует весь трафик абонента, предоставляя ему некоторые способы это контролировать, например, через приложение на телефоне или веб-интерфейс.
Но это не самый простой вариант, именно поэтому тема vCPE в России не так быстро развивается.
В профильном Telegram-чате верно предположили, что рано или позно операторы начнут фильтровать SYN-пакеты в сторону абонента. Да, но это, безусловно, тупиковый вариант.
Автор будет рад выслушать любые предложения по этому поводу, конструктивную критику, а также новые пути решения. И да, кто-нибудь, обязательно напишите в комментариях, что в IPv6 не нужен NAT.
А есть еще офигительные истории?
Оставлю одну, напоследок. В какой-то момент срабатывает мониторинг и мы видим порядка 7 тысяч DNS-запросов из нашей сети наружу вместо обычных 1,5. Причина? Один из клиентов включил 4 китайские IP-камеры. Занавес.
Автор: prometheus_ru