суббота, 3 августа 2013 г.

Port knocking over ICMP

Debian

icmp 113 байт (случайные данные)+8 байт (icmp заголовок)+ 20 байт (ip заголовок) ttl для пакета более 88 сек.

# Если пришёл icmp пакет длиной не 141 байт, то добавляем его ip в таблицу BLOCK для блокировки
iptables -A INPUT -p icmp --icmp-type echo-request -m length ! --length 141 -m recent --name BLOCK --set
# Если пришел icmp пакет длиной 141 байт и временем жизни более 65, то добавляем его ip в таблицу OPEN
iptables -A INPUT -p icmp --icmp-type echo-request -m length   --length 141 -m ttl --ttl-gt 65 -m recent --name OPEN  --set
# Разрешаем доступ к порту SSH (22) для ip из таблицы OPEN в течении 20 секунд после добавления в таблицу
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name OPEN  --rcheck --seconds 30 -j ACCEPT
# Блокируем доступ к порту SSH (22) для ip из таблицы BLOCK в течении 60 секунд после добавления в таблицу
iptables -A INPUT -p tcp --dport 22 -m recent                      --name BLOCK --rcheck --seconds 60 -j DROP



Проверка...

C:\Users\User>ping 192.168.2.5 -n 1 -l 113 -i 89
Обмен пакетами с 192.168.2.5 по с 113 байтами данных:
Превышен интервал ожидания для запроса.
Статистика Ping для 192.168.2.5:
    Пакетов: отправлено = 1, получено = 0, потеряно = 1
    (100% потерь)
C:\Users\User>

**** Списки, создаваемые модулем recent из iptables не сохраняются при перезагрузке и хранятся в папке /proc/net/xt_recent/* (см. man iptables)

http://virtualpath.blogspot.ru/2011/04/iptables-mail-http.html

Mikrotik

http://habrahabr.ru/post/186488/