LINUX.ORG.RU
решено ФорумAdmin

Идет трафик несмотря на запрет в iptables

 , ,


0

1

Народ, подскажите, в iptables зарезал весь трафик , кроме определенных портов:
sudo iptables -L -v -n --line-numbers

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 12
2        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
3        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 4
4       40  3475 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
5        2   100 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
6      205 16433 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
7        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
8        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
9      105 11550 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
10      26  2424 ACCEPT     udp  --  *      *       192.168.1.0/24       0.0.0.0/0            udp dpt:137
11      10  2176 ACCEPT     udp  --  *      *       192.168.1.0/24       0.0.0.0/0            udp dpt:138
12       0     0 ACCEPT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0            state NEW tcp dpt:139
13       1    52 ACCEPT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0            state NEW tcp dpt:445
14       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpts:56881:56889
15      60 14653 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:56881:56889
16       0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:58846
17     137 31524 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 544 packets, 85231 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       26  3172 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 state NEW
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 state NEW
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53 state NEW
5       19  1278 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53 state NEW

Но, tcpdump выдает:
sudo tcpdump -i eth0 port not 22 and host 192.168.1.2

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:55:38.423548 IP rpi2.http > DESKTOP-1AFPVU5.64262: Flags [F.], seq 2656156146, ack 169506830, win 245, length 0
10:55:38.424777 IP DESKTOP-1AFPVU5.64262 > rpi2.http: Flags [.], ack 1, win 252, length 0
10:55:40.186098 IP DESKTOP-1AFPVU5.53749 > 239.255.255.250.1900: UDP, length 174
10:55:41.186306 IP DESKTOP-1AFPVU5.53749 > 239.255.255.250.1900: UDP, length 174
10:55:42.186230 IP DESKTOP-1AFPVU5.53749 > 239.255.255.250.1900: UDP, length 174
10:55:43.186281 IP DESKTOP-1AFPVU5.53749 > 239.255.255.250.1900: UDP, length 174
10:56:07.602361 IP DESKTOP-1AFPVU5.64262 > rpi2.http: Flags [F.], seq 1, ack 1, win 252, length 0
10:56:07.602862 IP rpi2.http > DESKTOP-1AFPVU5.64262: Flags [.], ack 2, win 245, length 0
10:56:12.456646 ARP, Request who-has rpi2 (b8:27:eb:39:43:ef (oui Unknown)) tell DESKTOP-1AFPVU5, length 46
10:56:12.457023 ARP, Reply rpi2 is-at b8:27:eb:39:43:ef (oui Unknown), length 28
10:57:38.670914 IP DESKTOP-1AFPVU5.netbios-dgm > 192.168.1.255.netbios-dgm: NBT UDP PACKET(138)
10:57:40.184160 IP DESKTOP-1AFPVU5.53423 > 239.255.255.250.1900: UDP, length 174
10:57:41.184112 IP DESKTOP-1AFPVU5.53423 > 239.255.255.250.1900: UDP, length 174
10:57:42.184649 IP DESKTOP-1AFPVU5.53423 > 239.255.255.250.1900: UDP, length 174
10:57:43.184154 IP DESKTOP-1AFPVU5.53423 > 239.255.255.250.1900: UDP, length 174
10:57:43.453668 ARP, Request who-has rpi2 (b8:27:eb:39:43:ef (oui Unknown)) tell DESKTOP-1AFPVU5, length 46
10:57:43.454046 ARP, Reply rpi2 is-at b8:27:eb:39:43:ef (oui Unknown), length 28
10:59:40.176783 IP DESKTOP-1AFPVU5.52761 > 239.255.255.250.1900: UDP, length 174
10:59:41.176527 IP DESKTOP-1AFPVU5.52761 > 239.255.255.250.1900: UDP, length 174
10:59:42.176967 IP DESKTOP-1AFPVU5.52761 > 239.255.255.250.1900: UDP, length 174
10:59:42.679130 IP DESKTOP-1AFPVU5.56647 > 224.0.0.253.3544: UDP, length 40
10:59:43.177559 IP DESKTOP-1AFPVU5.52761 > 239.255.255.250.1900: UDP, length 174
10:59:44.950149 ARP, Request who-has rpi2 (b8:27:eb:39:43:ef (oui Unknown)) tell DESKTOP-1AFPVU5, length 46
10:59:44.950559 ARP, Reply rpi2 is-at b8:27:eb:39:43:ef (oui Unknown), length 28
11:00:18.836690 IP DESKTOP-1AFPVU5.netbios-ns > rpi2.netbios-ns: NBT UDP PACKET(137): QUERY; POSITIVE; RESPONSE; UNICAST
11:00:23.449602 ARP, Request who-has rpi2 (b8:27:eb:39:43:ef (oui Unknown)) tell DESKTOP-1AFPVU5, length 46
11:00:23.450014 ARP, Reply rpi2 is-at b8:27:eb:39:43:ef (oui Unknown), length 28
11:01:40.176160 IP DESKTOP-1AFPVU5.57259 > 239.255.255.250.1900: UDP, length 174
11:01:41.175447 IP DESKTOP-1AFPVU5.57259 > 239.255.255.250.1900: UDP, length 174
11:01:42.175884 IP DESKTOP-1AFPVU5.57259 > 239.255.255.250.1900: UDP, length 174
11:01:43.175284 IP DESKTOP-1AFPVU5.57259 > 239.255.255.250.1900: UDP, length 174

Почему идет данный трафик, несмотря на запрет:
17 137 31524 DROP all -- * * 0.0.0.0/0 0.0.0.0/0



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

Попробуй вместо правила в строке 17 сделать запрещающую политику по умолчанию для вх. соединений. Чтобы было в Input не policy ACCEPT, а policy DROP.

rumgot ★★★★★
()

И кстати, правильно ли я понимаю, что правила 14-16 разрешают весь вх. tcp/udp траффик?

rumgot ★★★★★
()

Где эти правила прописаны и где был запущен tcpdump? Если на компьютере в локальной сети, то все, что ты видишь это мультикаст, т.е. пакеты на NIC интерфейс стучится. Думаю в последнем правиле(там где DROP) счетчики пакетов и байтов будет инкрементятся на каждый новый прибывающий пакет. Чтоб избежать получения мультикаст пакетов, нужно настроить vlan на роутере соответствующим образом.

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

Они разрешают траффик для указанных диапазонов портов

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

Почему идет данный трафик, несмотря на запрет:
17 137 31524 DROP all  — * * 0.0.0.0/0 0.0.0.0/0

Значения второго и третьего числа растут? Потому как tcpdump покажет все пакеты на сетевом интерфейсе.

Aber ★★★★★
()

tcpdump разве не ниже iptables (ближе сетевому интерфейсу) работает?

Vlad-76 ★★★★
()
Ответ на: комментарий от targitaj

Я не сильно большой спец в iptables, мне надо чтобы весь трафик был запрещен, кроме указанных мной портов. Данный конфиг работает четко, кроме того, что не режет указанный трафик

romask
() автор топика

последнее правило DROP означает, что пакет который дошел до этого правила и матчится будет дропнут. цифры слева показывают сколько пакетов было дропнуто

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от romask

попробуйте удалить правило
6 205 16433 ACCEPT tcp  — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
перегрузить файерволл и подключиться к компу по ssh. Если не получиться то правило DROP работает.

После ребута файерволла ssh соединение оборвется, так что этот эксперимент только с консоли делайте, проверку с удаленной машины.

Vlad-76 ★★★★
()

Почему идет данный трафик

10:56:07.602361 IP DESKTOP-1AFPVU5.64262 > rpi2.http: Flags [F.], seq 1, ack 1, win 252, length 0

Потому что это исходящий трафик

10:56:07.602862 IP rpi2.http > DESKTOP-1AFPVU5.64262: Flags [.], ack 2, win 245, length 0

Подпадает под 9 правило.

Но как уже написали, tcpdump перехватывает пакеты до того, как они дойдут до iptables.

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

норм концепция. Все что не разрешено - дропать.
точно правила писать - это уже нюансы.

Vlad-76 ★★★★
()

«Но, tcpdump выдает:» - настройте фильтр tcpdump так чтобы фильтр пропускал двусторонний обмен пакетами как если бы firewall по Вашему мнению не работал. И увидите, что несмотря на наличие приведенных пакетов двустороннего обмена пакетами IP-IP не происходит.
Пакеты в систему попадают, но до сервиса (процесса), который на порту работает - они не доходят и соответственно в обратку нет ответов.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 3)
Ответ на: комментарий от romask

Значит все у Вас работает как надо. tcpdump открывает грубо говоря сетевой интерфейс на самом низком уровне, при желании при помощи tcpdump Вы можете увидеть ethernet ФРЕЙМЫ QinQ (тегируемые с инкапсуляцией тегов) с MAC адресами, поддержка dot1q драйвером сетевухи важна.

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от romask

Значит apt install ufw. Работает отлично.

anonymous
()

tcpdump выдаёт входящий трафик ДО каких-либо преобразований, поэтому вы будете видеть всё, что приходит на интерфейс. Независимо от DROP. Это нормально. Если хотите видеть, что сдропнулось - сделайте -j LOG где надо перед дропом.

Слегка сторонний, но связанный момент: учитывая, что есть автопропуск ESTABLISHED,RELATED - можете наткнуться и на то, что после изменения правил в сторону уменьшения числа разрешённых направлений какой-то трафик всё равно будет лезть - в таком случае надо таблицу conntrack чистить от уже установленных соединений, правила для которых убраны.

AlexAT
()

1. Как уже сказано выше, tcpdump покажет трафик на интерфейсе. Это до всяких netfilters...

2. Смысл в OUTPUT добавлять какие-либо разрешающие правила, когда и так политика по умолчанию ACCEPT.

3. Обычно, в самом простом варианте, фаервол настраивают так: для цепочки ACCEPT - по умолчанию делается DROP/REJECT, разрешается established/related, и делается accept для нужных сервисов (портов/протоколов), если надо, то еще и с фильтрацией адреса источника.

4. У вас несколько унтерфейсов на машине? Каким то она смотрит в инет, каким то в локалку? Если так, то разве не проще разрешить все для локального интерфейса, как и для loopback (если конечно же в вашей локалке нет врагов!).

5. Если ваш сервак за роутером, то вообще фаервол не нужен - все должно быть на роутере.

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

и 17 ое правило у вас действительно должно работать.

И праила 10-13 не проще ли привязать непосредставенно к «локальному» интерфейсу?

samson ★★
()
Последнее исправление: samson (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.