1. Обзор
В этом учебном пособии мы рассмотрим, как можно настроить наши Linux-системы, чтобы предотвратить определение сканерами портов типов служб и портов в нашей системе.
Существуют различные способы защиты наших компьютеров от сканирования портов Nmap.
Мы рассмотрим iptables и системы обнаружения вторжений (IDS).
2. Использование iptables
В этом разделе мы создадим правила iptables для контроля трафика.
В основном мы будем фильтровать трафик, поступающий в нашу систему, на основе портов и IP-адресов источников.
Рекомендуется блокировать/закрывать все неиспользуемые порты.
Это убережет нас от возможных атак на эти порты.
2.1. Создание правил по умолчанию
Теперь рассмотрим некоторые необходимые правила по умолчанию.
Во-первых, нам нужно разрешить все ESTABLISHED-соединения и текущие сессии через iptables.
Для этого добавим две строки, разрешающие входящий и исходящий трафик на интерфейсе loopback:
Далее предоставим разрешение ESTABLISHED и RELATED на входящий трафик на хосте:
Затем разрешим ESTABLISHED исходящим соединениям.
В основном это ответы на уже установленные соединения:
Далее разрешим связи между внутренними и внешними соединениями:
Наконец, дропнем весь остальной недействительный трафик:
2.2. Пример правил для защиты от Nmap-сканирования
В этом разделе мы создадим правила для фильтрации и отсева идентифицированных Nmap-сканов.
Для начала добавим несколько базовых правил:
Эти правила, как правило, отбрасывают любой входящий трафик, содержащий любой из указанных флагов.
Мы можем настроить нашу систему на разрешение такого трафика из определенных или доверенных источников.
Кроме того, можно настроить пропуск такого трафика на определенных интерфейсах или портах.
В дальнейшем нам необходимо добавить еще несколько правил для усиления защиты нашей системы.
Добавим эти правила на выход
Теперь мы можем увидеть результаты при выполнении команды nmap:
Еще одно сканирование даст:
Из этого примера видно, что в состоянии фильтрации находится 991 TCP-порт.
Важно отметить, что состояние фильтрации является наиболее безопасным, так как не позволяет злоумышленнику получить информацию о том, какой сервис работает на данном порту.
После выполнения сканирования мы можем добавить специальные правила для портов, которые были определены как открытые:
Кроме того, мы можем явно блокировать трафик с целевого IP-адреса с помощью правил iptable, например:
Далее сохраним написанные нами правила iptable:
Наконец, мы можем восстановить эти настройки при загрузке при запуске:
3. Использование системы обнаружения вторжений
В этом разделе мы рассмотрим, как можно использовать IDS для защиты от сканирования Nmap.
Системы обнаружения вторжений – это технология сетевой безопасности, созданная для обнаружения возможных атак на целевое приложение.
IDS отслеживает и регистрирует трафик.
Мы можем настроить ее на выполнение определенных действий при обнаружении определенного трафика.
Некоторые IDS могут также работать как системы предотвращения вторжений (IPS).
Существуют различные сетевые IDS.
Например, наиболее часто используемыми являются Snort и Surricata.
Рассмотрим Snort более подробно:
- 🌐 Обнаружение вторжений с помощью Snort
- Snorter – простая установка Snort
- Как установить и использовать Snort в Ubuntu
- Snort 2.9.7 Формирование правил
- 🛡️ AgentSmith HIDS – обнаружение вторжений на основе хоста
- 🔎 Парсинг полезной информации из логов сервера Apache с помощью awk