Блокировка запросов ping и traceroute: различия между версиями
Langator (обсуждение | вклад) м |
Langator (обсуждение | вклад) м |
||
Строка 2: | Строка 2: | ||
Рассмотрим пример использования утилиты ping относительно обычного компьютера. | Рассмотрим пример использования утилиты ping относительно обычного компьютера. | ||
− | + | <source lang="bash"> 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. | 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 | 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 – - - | - – - 192.168.1.102 ping statistics – - - | ||
1 packets transmitted, 1 packets received, 0% packet loss | 1 packets transmitted, 1 packets received, 0% packet loss | ||
− | round-trip min/avg/max/mdev = 1.140/1.140/1.140/0.000 ms | + | round-trip min/avg/max/mdev = 1.140/1.140/1.140/0.000 ms</source> |
А теперь применим traceroute относительно того же компьютера. | А теперь применим traceroute относительно того же компьютера. | ||
− | + | traceroute 192.168.1.102 | |
+ | |||
traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets | 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 | 1 hacker-firewall.hack_er.edu (192.163.2.1) 2.892 ms 2.803 ms 2.746 ms | ||
Строка 21: | Строка 23: | ||
Утилита traceroute отправляет UDP-пакеты с установленным значением поля TTL (время жизни) начиная с 1. В каждом следующем пакете значение поля TTL будет увеличиваться на 1 до тех пор, пока не будут пройдены все маршрутизаторы между отправителем и получателем. Параметр -I сообщает о необходимости использования IСМР-пакетов, как показано ниже. | Утилита 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 | traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets | ||
{адреса промежуточных маршрутизаторов тот же, что и в предыдущем листинге} | {адреса промежуточных маршрутизаторов тот же, что и в предыдущем листинге} | ||
Строка 29: | Строка 32: | ||
Следующая команда iptables позволяет блокировать ping-запросы в виде ICMP-пакетов. | Следующая команда iptables позволяет блокировать ping-запросы в виде ICMP-пакетов. | ||
− | + | <source lang="bash">/sbin/iptables -A INPUT -s 0/0 -d 192.168.1.102 -р icmp --icmp-type echo-request -j DROP</source> | |
Параметр -А указывает программе 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, независимо от отправителя, будут отбрасываться. | Параметр -А указывает программе 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, независимо от отправителя, будут отбрасываться. | ||
Строка 35: | Строка 38: | ||
Теперь попытка установить соединение с хостом 192.168.1.102 посредством команды ping закончится неудачей. | Теперь попытка установить соединение с хостом 192.168.1.102 посредством команды ping закончится неудачей. | ||
− | + | <source lang="bash"> 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 | 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 – - - | - – - 192.168.1.102 ping statistics – - - | ||
5 packets transmitted, 0 packets received, 100% packet loss | 5 packets transmitted, 0 packets received, 100% packet loss | ||
− | + | </source> | |
Для блокирования уделенных запросов с помощью утилиты traceroute добавим правило для отбрасывания всех UDP-пакетов, поступающих на порты в диапазоне от 33435 до 33525. | Для блокирования уделенных запросов с помощью утилиты traceroute добавим правило для отбрасывания всех UDP-пакетов, поступающих на порты в диапазоне от 33435 до 33525. | ||
− | + | <source lang="bash">/sbin/iptables -A INPUT -s 0/0 -d 192.168.1.102 -p udp --dport 33435:33525 -j DROP</source> | |
Обратите внимание на то, как указан диапазон портов (33435 : 33525). При попытке хакером использовать traceroute, он получит следующий результат. | Обратите внимание на то, как указан диапазон портов (33435 : 33525). При попытке хакером использовать traceroute, он получит следующий результат. | ||
− | + | <source lang="bash"> traoaroute 192.168.1.102 | |
+ | |||
traceroute to 192.168.1.102 (192.168.1.102), 30 hops max, 38 byte packets | 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 | 1 cracker-firewall.crack_er.edu (192.168.2.1) 2.892 ms 2.803 ms 2.746 ms | ||
Строка 54: | Строка 59: | ||
13 veloci.example.com (192.168.1.1) 168.650 ms 183.821 ms 173.287 ms | 13 veloci.example.com (192.168.1.1) 168.650 ms 183.821 ms 173.287 ms | ||
14 * * * | 14 * * * | ||
− | 15 * * * | + | 15 * * *</source> |
Итак, мы успешно блокировали обмен потенциально опасными пакетами с нашим компьютером. Однако промежуточные хосты на пути доставки пакетов от хоста хакера к нашему хосту по-прежнему отвечают. В идеальном варианте следует настроить все контролируемые хосты на отбрасывание “разведывательных” пакетов. | Итак, мы успешно блокировали обмен потенциально опасными пакетами с нашим компьютером. Однако промежуточные хосты на пути доставки пакетов от хоста хакера к нашему хосту по-прежнему отвечают. В идеальном варианте следует настроить все контролируемые хосты на отбрасывание “разведывательных” пакетов. | ||
Строка 60: | Строка 65: | ||
'''''Внимание:''''' Заблокированные в примере порты являются стандартными портами, которые использует UNIX-утилита tcaceroute. В других версиях этой программы (например mtr) диапазон используемых портов может быть иным. | '''''Внимание:''''' Заблокированные в примере порты являются стандартными портами, которые использует UNIX-утилита tcaceroute. В других версиях этой программы (например mtr) диапазон используемых портов может быть иным. | ||
− | + | == Ссылки == | |
− | + | [http://securos.org.ua/iptables-pravila-blokirovki-zaprosov-ping-i-traceroute/ securos.org.ua] | |
− | + | [[Категория:Руководства]] [[Категория:Безопасность]] [[Категория:Iptables]] |
Версия 18:43, 15 апреля 2011
В некотором случае такие утилиты, как 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-утилита tcaceroute. В других версиях этой программы (например mtr) диапазон используемых портов может быть иным.