7.5. Вирусы и поддельные IP-адреса

Для управления доступом к определённым подсетям или даже конкретным узлам локальной сети можно внедрять более проработанные правила. Вы также можете запретить сомнительным службам, таким как троянские кони, черви и другие вирусы, связываться с их сервером. Например, некоторые троянские программы находят сетевые службы, сканируя порты в диапазоне от 31337 до 31340 (на языке взломщиков эти порты называются элитными). Так как эти нестандартные порты не использует ни одна легитимная служба, их блокировка резко снижает вероятность того, что потенциально заражённые узлы вашей сети смогут связываться с удалёнными серверами, управляющими вирусами.

iptables -A OUTPUT -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP
iptables -A FORWARD -o eth0 -p tcp --dport 31337 --sport 31337 -j DROP

Вы также можете блокировать те входящие извне соединения, исходящий адрес которых попадает в диапазон адресов вашей локальной сети. Например, если ваша сеть имеет адрес 192.168.1.0/24, вы должны задать правило для сетевого интерфейса, обращенного в Интернет (например, eth0), отбрасывающее любой пакет, приходящий на это устройство, с адресом попадающим в диапазон адресов вашей частной сети. Если, как рекомендуется, отключить пересылку пакетов в политике по умолчанию, остальные пакеты с поддельными IP-адресами, приходящие на внешний интерфейс (eth0) будут автоматически отбрасываться.

iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -j DROP

ЗамечаниеЗамечание
 

Назначения DROP и REJECT, указанные в добавленных правилах, действуют по-разному. REJECT запрещает доступ и возвращает пользователям, пытающимся обратиться к службе, ошибку connection refused (в соединении отказано). DROP отбрасывает пакет, никак не сообщая пользователям об этом. Администраторы могут быть свои соображения относительно использования этих назначений. Однако, чтобы не смущать пользователя и избежать попыток повторного подключения, рекомендуется использовать назначение REJECT.