Блокировка запросов ping и traceroute

Материал из Ай да Linux Wiki
Версия от 15:14, 21 июля 2019; Alexdebre (обсуждение | вклад) (→‎Ссылки)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

В некотором случае такие утилиты, как 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) диапазон используемых портов может быть иным.

Ссылки