LINUX.ORG.RU

iptables, не работает правило

 


0

1

Граждане, прошу помощи!

Пытаюсь в CentOS 6.4 прикрутить на iptables типа защиту от спуффинга вида:

iptables -I INPUT 1 ! -i lo -m addrtype --src-type LOCAL -j DROP

правило применяется корректно, но пакеты с ip.src = 127.0.0.1 все равно пропускает....

Проверял с другой машины из scapy

send(IP(dst="10.10.111.55",src="127.0.0.1")/UDP(dport=220))

Заранее благодарен.

ЗЫ: Правило

iptables -I INPUT 1 -m addrtype --src-type LOCAL -j DROP

применяется и работает, проверял через пинг с локалхоста

ping 10.10.111.55 -I 127.0.0.1


Последнее исправление: cetjs2 (всего исправлений: 1)

Отладка iptables:

1. добавляй логирование с лимитом 10 пакетов в секунду, чтобы не переполнить лог

iptables ... -m limit --limit 10/s -j LOG

2. Смотри результат

tail -f /var/log/messages # redhat based disbrib
tail -f /var/log/syslog # debian based distrib
router ★★★★★
()

Пытаюсь в CentOS 6.4 прикрутить на iptables типа защиту от спуффинга вида:

Может тебе нужен rp_filter?

правило применяется корректно, но пакеты с ip.src = 127.0.0.1 все равно пропускает....

Проверял с другой машины из scapy

Как именно ты этот пакет ловил?

Deleted
()
Ответ на: комментарий от router

Да я tcpdump ловлю, и ничего плохого не вижу

[root@asterisk ~]# tcpdump -i eth0 src 127.0.0.1 -A -vvvvv -n
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:40:58.184754 IP (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto TCP (6), length 40)
    127.0.0.1.xinuexpansion4 > 10.10.111.55.9027: Flags [S], cksum 0x6c75 (correct), seq 0, win 8192, length 0
E..(....@.......

o7..#C........P. .lu........
StereoRu
() автор топика
Ответ на: комментарий от StereoRu

Ловил tcpdump (см. другой пост)

Он работает уровнем ниже, так что ловит пакеты до того как iptables их дропнет. На самом деле всё несколько сложнее, но смысл примерно такой.

Может вы посоветуете какието другие методы проверки.

Попробуй поймать неткатом.

И всё-таки посмотри на rp_filter.

Deleted
()
Ответ на: комментарий от Deleted

Тут еще момент: когда пакет попадает под действие правила, то счетчик в iptables -L -v увеличивается, здесь же он молчит.

Поделитесь плз чем Вы тестируете firewall. Мне ничего кроме scapy на ум не приходит, а я так подозреваю она лепит не валидные пакеты...

ЗЫ: про rp_filter почитаю, спасибо

StereoRu
() автор топика
Ответ на: комментарий от StereoRu

Тут еще момент: когда пакет попадает под действие правила, то счетчик в iptables -L -v увеличивается, здесь же он молчит.

А если следующим правилом сделать безусловный -j ACCEPT и посмотреть счётчик у него? Лично я вообще не уверен, попадает ли пакет в iptables, или отбраковывается раньше.

Поделитесь плз чем Вы тестируете firewall. Мне ничего кроме scapy на ум не приходит, а я так подозреваю она лепит не валидные пакеты...

ИМХО для TCP/UDP хватит и нетката.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Неплохая вещь netcat, но нет функции подмены IP источника, не подскажете чем можно выполнить сие действие?

StereoRu
() автор топика
Ответ на: комментарий от StereoRu
iptables -t raw -A PREROUTING -s ... -j TRACE

Если пакетов в логах не видно, значит их отсекли до этого ( типа rp_filter )

vel ★★★★★
()

Включите логирование марсианских пакетов, и после потестируйте машину на предмет отправки на неё этого самого:

send(IP(dst=″10.10.111.55″,src=″127.0.0.1″)/UDP(dport=220))

mky ★★★★★
()
Ответ на: комментарий от ktulhu666

-j LOG шлёт логи в syslog. Отправить их в отдельный файл - задача твоего демона syslog ( syslogd, rsyslogd, syslog-ng )

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