LINUX.ORG.RU

Запрети приём icmp-пакетов на соответствующих интерфейсах.

ShadowMan
()

нужно запретит проход icmp пакетов например во фриибсд это делается так: ipfw add deny icmp from any to any

anonymous
()

Ну все-то не стоит, для пинга достаточно icmp-type 8 не принимать. Пинг посылает тип 8, а хост отвечает типом 0. Прикроешь 0 и сам ни кого не пропингуешь. Обычно 0,3,5,11 не закрывают.

lvi ★★★★
()

Спасибо
мне для линуха 2.4.х надо
мот где есть про это почитать ?
-----
ну и с трейсом вопрос открыт.....

anonymous
()

1) ping можно отключить с помощью iptables, как писалось выше, закрыв прием icmp-type 8. А еще можно так:
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Кусок доки из исходников ядра:
cat /usr/src/linux/Documentation/filesystems/proc.txt
---
icmp_echo_ignore_all and icmp_echo_ignore_broadcasts
----------------------------------------------------

Turn on (1) or off (0), if the kernel should ignore all ICMP ECHO requests, or
just those to broadcast and multicast addresses.

Please note that if you accept ICMP echo requests with a broadcast/multi\-cast
destination address your network may be used as an exploder for denial of
service packet flooding attacks to other hosts.
---

spirit ★★★★★
()

2) Как работает трасировка ? Посылаем какой-то пакет (icmp, udp,...) на нужный хост с TTL=1, от ближайшего router-а приходит ответ "Time to live exceeded", значит первый узел в цепочке найден - router такой-то. Потом все повторяем, только с TTL=2,3,4,... пока не доберемся до трасируемого хоста. (При переходе через маршрутизатор поле TTL уменьшается на 1).

Значит, чтоб твой комп не трассировался, надо чтоб он не уменьшал TTL транзитных пакетов. Такая вещь есть в iptables:
iptables -t mangle -A PREROUTING -o <исходящий_интерфейс> -j TTL --ttl-inc 1

Кусок доки по iptables (http://www.opennet.ru/docs/RUS/iptables/index.html#AEN1868):
---
iptables -t mangle -A PREROUTING -o eth0 -j TTL --ttl-inc 1
Увеличивает значение поля TTL на заданное число. Возьмем предыдущий пример, пусть к нам поступает пакет с TTL = 53, тогда, после выполнения команды --ttl-inc 4, на выходе с нашего
хоста, пакет будет иметь TTL = 56, не забывайте об автоматическом уменьшении поля TTL сетевым кодом ядра, т.е. фактически мы получаем выражение 53 + 4 - 1 = 56. Увеличение поля TTL может использоваться для того, чтобы сделать наш брандмауэр менее "заметным" для трассировщиков (traceroutes). Программы трассировки любят за ценную информацию при поиске проблемных участков сети, и ненавидят за это же, поскольку эта информация может использоваться крякерами в неблаговидных целях.

spirit ★★★★★
()

P.S. Только там похоже надо "-i <входящий интерфейс>" или вообще не указывать, кривоватые доки :-)

spirit ★★★★★
()

P.P.S. И еще один баг, торопился просто :-))
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

spirit ★★★★★
()

Вау !
Доступно и просто и как раз что надо !
ОГРОМНОЕ СПАСИБО.
Оч приятно что есть люди которые
могут поделится своими знаниями.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.