Блокировка запросов ping и traceroute
В некотором случае такие утилиты, как ping и traceroute применяются в качестве простого метода для выявления доступных по сети хостов и для определения схемы подключения этих хостов к Internet. Обычно таким способом хакер находит удобные для атаки цели. Блокируя запросы этих утилит, можно удалить свой компьютер из перечня компьютеров, которые будут обнаружены хакером, и предотвратить вероятную атаку. Рассмотрим пример использования утилиты ping относительно обычного компьютера.
ping -c 1 192.168.1.102
PING 192.168.1.102 (192.168.1.102) from 10.5.5.108 : 56(84) bytes of data.
64 bytes from target.example.com (192.168.1.102): ICMP_seq=0 ttl=255 time=1.140 ms
- – - 192.168.1.102 ping statistics – - -
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/mdev = 1.140/1.140/1.140/0.000 ms
А теперь применим traceroute относительно того же компьютера.
traceroute 192.168.1.102 traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets 1 hacker-firewall.hack_er.edu (192.163.2.1) 2.892 ms 2.803 ms 2.746 ms 2 hacker-gateway.hack_er.edu (171.678.90.1) 3.881 ms 3.789 ms 3.686 ms {адреса нескольких промежуточных маршрутизаторов были удалены} 13 veloci.example.com (192.168.1.1) 168.650 ms 183.821 ms 173.287 ms 14 target.example.com (192.168.1.102) 122.819 ms 87.835 ms 104.117 ms
Утилита traceroute отправляет UDP-пакеты с установленным значением поля TTL (время жизни) начиная с 1. В каждом следующем пакете значение поля TTL будет увеличиваться на 1 до тех пор, пока не будут пройдены все маршрутизаторы между отправителем и получателем. Параметр -I сообщает о необходимости использования IСМР-пакетов, как показано ниже.
traceroute -I 192.168.1.102 traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets {адреса промежуточных маршрутизаторов тот же, что и в предыдущем листинге}
Запрет соединений с помощью iptables
Следующая команда iptables позволяет блокировать ping-запросы в виде ICMP-пакетов.
/sbin/iptables -A INPUT -s 0/0 -d 192.168.1.102 -р icmp --icmp-type echo-request -j DROP
Параметр -А указывает программе iptables о необходимости добавить правило в набор правил INPUT, в котором определяется способ обработки входящих сообщений. Согласно этой команде, при получении от хоста-отправителя (-s) с любым IP-адресом (0/0) ICMP-запроса (icmp-type echo-request), предназначенного хосту-получателю (-d) с IP-адресом 192.168.1.102 (наш компьютер) и с использованием указанного протокола (-р icmp), следует перейти (-j) к правилу DROP. В результате применения этого правила все поступающие на хост 192.168.1.102 эхо-запросы ICMP, независимо от отправителя, будут отбрасываться.
Теперь попытка установить соединение с хостом 192.168.1.102 посредством команды ping закончится неудачей.
ping -с 5 192.168.1.102
PING 192.168.1.102 (192.168.1.102) from 10.5.5.108 : 56(84) bytes of data
- – - 192.168.1.102 ping statistics – - -
5 packets transmitted, 0 packets received, 100% packet loss
Для блокирования уделенных запросов с помощью утилиты traceroute добавим правило для отбрасывания всех UDP-пакетов, поступающих на порты в диапазоне от 33435 до 33525.
/sbin/iptables -A INPUT -s 0/0 -d 192.168.1.102 -p udp --dport 33435:33525 -j DROP
Обратите внимание на то, как указан диапазон портов (33435 : 33525). При попытке хакером использовать traceroute, он получит следующий результат.
traoaroute 192.168.1.102
traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets
1 cracker-firewall.crack_er.edu (192.168.2.1) 2.892 ms 2.803 ms 2.746 ms
2 cracker-gateway.crack_er.edu (171.678.90.1) 3.881 ms 3.789 ms 3.686 ms
{пропущены записи о нескольких промежуточных маршрутизаторах}
12 cisco.example.com (254.192.1.20) 158.888 ms 161.422 ms 160.884 ms
13 veloci.example.com (192.168.1.1) 168.650 ms 183.821 ms 173.287 ms
14 * * *
15 * * *
Итак, мы успешно блокировали обмен потенциально опасными пакетами с нашим компьютером. Однако промежуточные хосты на пути доставки пакетов от хоста хакера к нашему хосту по-прежнему отвечают. В идеальном варианте следует настроить все контролируемые хосты на отбрасывание “разведывательных” пакетов.
Внимание: Заблокированные в примере порты являются стандартными портами, которые использует UNIX-утилита traceroute. В других версиях этой программы (например mtr) диапазон используемых портов может быть иным.