Правило межсетевого экрана отклоняет трафик, которому оно соответствует. Оно не отклоняет каждое использование соединения, которое разрешает, и именно в этом зазоре терпят неудачу большинство политик против несанкционированных туннелей. Блокировка портов клиента, популярного пять лет назад, оставляет нетронутым всё, что идёт через 443, и ничего не говорит об устройстве, способном переписать собственные маршруты. Стройте контроль вокруг полномочий и назначений, а затем читайте потоки, которые вы действительно разрешаете.

Почему список портов — не политика

Порты — понятие транспортного уровня, и несколько туннельных технологий вообще их не используют. Другие намеренно делят порт с обычным веб-трафиком, потому что именно этот порт гарантированно пропускают. Правило, привязанное к историческому порту, поэтому перечисляет горстку реализаций, а не класс поведения. Оно и стареет плохо: в тот момент, когда провайдер меняет значения по умолчанию, список описывает прошлое.

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

Номера протоколов и порты — разные пространства имён

GRE присвоен номер протокола IP 47. Это не TCP-порт 47 и не UDP-порт 47, и фильтр, написанный для порта, его не затрагивает. ESP и AH находятся на номерах протоколов 50 и 51 с тем же свойством. Инкапсулированный трафик может также прятаться внутри разрешённого соединения, поэтому категория или сигнатура может помочь, но никогда сама по себе не удостоверяет цель. Уверенность и охват относятся к конкретному продукту и выпуску, а не к концепции.

nft list ruleset | grep -nE 'gre|esp|ah|47|50|51'
cat /proc/net/protocols | head -20
ss -tn state established '( dport = :443 )'

Первая команда показывает, что вы действительно написали; вторая показывает таблицу протоколов, которую знает стек; третья показывает, сколько сеансов используют веб-порт прямо сейчас. Ни одна из них не говорит, для чего эти сеансы. Перехват TLS — отдельное решение с собственными издержками для доверия, конфиденциальности и совместимости с клиентами. Это не предварительное условие для отказа в именованном назначении и не гарантия распознавания туннелей.

Управляйте полномочиями, которые есть у устройства

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

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

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

conntrack -L | awk '{print $1, $4, $5}' | sort | uniq -c | sort -rn | head
ip -br addr show
ip route show default

Долгоживущий зашифрованный сеанс или большой объём байтов не является доказательством злоупотребления: резервные копии, инструменты поддержки и связи между площадками выглядят одинаково. Ограничьте сбор рамками расследования и сохраняйте найденное в рамках процесса, которому оно принадлежит.

Сделайте исключения явными

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

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

Непроверенное исключение — это дыра с номером заявки. Исключение с именем, причиной и датой пересмотра — это решение.

Принимайте с письменным планом, а не с лозунгом

Приёмка состоит из двух половин: одобренная работа по-прежнему выполняется, а конкретные запрещённые случаи терпят неудачу в авторизованном тесте. Обе нужно записать до изменения и повторить после него.

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

Результат — собственная граница выхода с известным списком остаточного риска. Утверждение, что несколько закрытых портов положили конец несанкционированному использованию VPN, — это не оно.

Похожие статьи