ne-vlezay80 Posted September 16, 2018 · Report post Собственно, имеется suricata со следующими правилами: #pass tls any any -> any any (pcre: "/play.google.com/i"; tls_sni;nfq_set_mark:0x8/0xffffffff; sid:2466;) #pass tls any any -> any any (pcre: "/google.com/i"; tls_sni;nfq_set_mark:0x8/0xffffffff; sid:2465;) #pass tls any any -> any any (pcre: "/gstatic.com/i"; tls_sni;nfq_set_mark:0x8/0xffffffff; sid:2467;) #pass tls any any -> any any (pcre: "/googleservice.com/i"; tls_sni;nfq_set_mark:0x8/0xffffffff; sid:2467;) pass tls any any -> any any (pcre: "/youtube.com/s"; tls_sni;nfq_set_mark:0x2/0xffffffff; sid:2455;) pass tls any any -> any any (pcre: "/googlevideo.com/s"; tls_sni;nfq_set_mark:0x2/0xffffffff; sid:2456;) pass http any any <> any any (content: "tactical-market.ru"; http_header;nfq_set_mark:0x4/0xffffffff; sid:2457;) pass http any any <> any any (content: "voent.org"; http_header;nfq_set_mark:0x4/0xffffffff; sid:2458;) pass http any any <> any any (content: "h-mag.ru"; http_header;nfq_set_mark:0x4/0xffffffff; sid:2459;) pass tls any any <> any any (content: "voent.org";tls_sni;nfq_set_mark:0x4/0xffffffff; sid:2460;) pass tls any any <> any any (content: "h-mag.ru";tls_sni;nfq_set_mark:0x4/0xffffffff; sid:2461;) rejectboth tcp any any <> any any (content: "GET http://";content: "Host: "; sid:2462;) pass http any any <> any any (content: "302";http_stat_code;content: "ivrn.net";http_header;nfq_set_mark:0x64/0xffffffff; sid:2463;) pass ssh any any <> any any (nfq_set_mark:0x6/0xffffffff; sid:2464;) #reject tls any any <> any any (content:"www.youtube.com"; tls_sni;nfq_set_mark:0x2/0xffffffff; sid:2456;) #ytimg.com iptables: Chain PREROUTING (policy ACCEPT 228K packets, 138M bytes) pkts bytes target prot opt in out source destination 11 3630 RETURN all -- * * 0.0.0.0 255.255.255.255 127K 121M RETURN all -- eth1 * 0.0.0.0/0 0.0.0.0/0 187 11489 RETURN all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 10365 2323K RETURN all -- vpns0.10 * 0.0.0.0/0 0.0.0.0/0 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 rpfilter invert LOG flags 0 level 4 prefix "IP SPOOFING: " 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 rpfilter invert 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 -m ipv4options --flags 7 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 -m ipv4options --flags 3 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 -m ipv4options --flags 9 0 0 MARK all -- * * 0.0.0.0/0 0.0.0.0/0 match-set dpi_detect dst MARK xset 0x40/0xfe 0 0 MARK all -- * * 0.0.0.0/0 0.0.0.0/0 match-set dpi_detect src MARK xset 0x40/0xfe Chain INPUT (policy ACCEPT 107K packets, 45M bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 120K packets, 93M bytes) pkts bytes target prot opt in out source destination 241K 185M DPI all -- * * 0.0.0.0/0 0.0.0.0/0 120K 93M DPI_SH all -- * * 0.0.0.0/0 0.0.0.0/0 2063 123K TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU Chain OUTPUT (policy ACCEPT 109K packets, 24M bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 229K packets, 116M bytes) pkts bytes target prot opt in out source destination Chain DPI (1 references) pkts bytes target prot opt in out source destination 0 0 RETURN all -- * * 198.18.0.0/15 192.168.0.0/15 0 0 RETURN all -- * * 192.168.0.0/16 198.18.0.0/15 0 0 RETURN all -- * * 192.168.0.0/16 192.168.0.0/16 121K 93M NFQUEUE all -- * * 0.0.0.0/0 0.0.0.0/0 mark match ! 0x1/0x1 NFQUEUE num 0 Chain DPI_SH (1 references) pkts bytes target prot opt in out source destination 3542 2688K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 connmark match 0x8/0xfe 53 45450 CONNMARK all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x8/0xfe CONNMARK xset 0x8/0xfe 0 0 CONNMARK all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x4/0xfe CONNMARK xset 0x4/0xfe 8 9366 CONNMARK all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x2/0xfe CONNMARK xset 0x2/0xfe 24094 27M CLASSIFY all -- * * 0.0.0.0/0 0.0.0.0/0 connmark match 0x2/0xfe CLASSIFY set 1:11 0 0 CLASSIFY all -- * * 0.0.0.0/0 0.0.0.0/0 connmark match 0x4/0xfe CLASSIFY set 1:12 0 0 SET all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x64/0xfe add-set dpi_detect src 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x64/0xfe LOG flags 0 level 4 prefix "INFOROOM DPI: " ip6tables: Chain PREROUTING (policy ACCEPT 314 packets, 60079 bytes) pkts bytes target prot opt in out source destination 0 0 RETURN all eth1 * ::/0 ::/0 6722 5704K RETURN all ppp0 * ::/0 ::/0 2 112 RETURN all vpns0.10 * ::/0 ::/0 0 0 LOG all * * ::/0 ::/0 rpfilter invert LOG flags 0 level 4 prefix "IP6 SPOOFING: " 0 0 DROP all * * ::/0 ::/0 rpfilter invert Chain INPUT (policy ACCEPT 15 packets, 984 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 299 packets, 59095 bytes) pkts bytes target prot opt in out source destination 23065 13M DPI all * * ::/0 ::/0 11539 6450K DPI_SH all * * ::/0 ::/0 172 13760 TCPMSS tcp * * ::/0 ::/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU Chain OUTPUT (policy ACCEPT 13 packets, 896 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 312 packets, 59991 bytes) pkts bytes target prot opt in out source destination Chain DPI (1 references) pkts bytes target prot opt in out source destination 1 1280 RETURN all * * 2a01:d0:c353::/48 2a01:d0:c353::/48 0 0 RETURN all * * 2a01:d0:c353::/48 2a01:d0:c353::/48 11526 6448K NFQUEUE all * * ::/0 ::/0 mark match ! 0x1/0x1 NFQUEUE num 0 Chain DPI_SH (1 references) pkts bytes target prot opt in out source destination 0 0 RETURN all * * ::/0 ::/0 connmark match 0x8/0xfe 0 0 CONNMARK all * * ::/0 ::/0 mark match 0x8/0xfe CONNMARK xset 0x8/0xfe 0 0 CONNMARK all * * ::/0 ::/0 mark match 0x4/0xfe CONNMARK xset 0x4/0xfe 31 36225 CONNMARK all * * ::/0 ::/0 mark match 0x2/0xfe CONNMARK xset 0x2/0xfe 215 86776 CLASSIFY all * * ::/0 ::/0 connmark match 0x2/0xfe CLASSIFY set 1:11 0 0 CLASSIFY all * * ::/0 ::/0 connmark match 0x4/0xfe CLASSIFY set 1:12 0 0 LOG all * * ::/0 ::/0 mark match 0x64/0xfe LOG flags 0 level 4 prefix "INFOROOM DPI: " Теперь вопрос: почему при вхлде на google.com, правило 314 115K CLASSIFY all * * ::/0 ::/0 connmark match 0x2/0xfe CLASSIFY set 1:11 начинает срабатывать? По идее оно должно срабатывать, если заходишь на youtube.com. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted September 16, 2018 · Report post Потому что Гугл сервисы в 80% случаев висят на одном и том же ip. К тому же ssl у Гугла волшебные Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ne-vlezay80 Posted September 16, 2018 · Report post 1 час назад, default_vlan сказал: Потому что Гугл сервисы в 80% случаев висят на одном и том же ip. К тому же ssl у Гугла волшебные connmark по идее должен запоминать ip источника и назначения, исходящий и входящий порт, а также состояние сессии. Когда сессия разрывается, он должен о ней забывать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted September 21, 2018 · Report post В 16.09.2018 в 20:28, ne-vlezay80 сказал: connmark по идее должен Да никто никому ничего не должен, если разобраться. Цитата $ nslookup google.ru Server: 127.0.1.1 Address: 127.0.1.1#53 Non-authoritative answer: Name: GOOGLE.ru Address: 173.194.44.31 Name: GOOGLE.ru Address: 173.194.44.24 Name: GOOGLE.ru Address: 173.194.44.15 Name: GOOGLE.ru Address: 173.194.44.23 Цитата $ nslookup youtube.com Server: 127.0.1.1 Address: 127.0.1.1#53 Non-authoritative answer: Name: youtube.com Address: 173.194.44.3 Name: youtube.com Address: 173.194.44.14 Name: youtube.com Address: 173.194.44.7 Name: youtube.com Address: 173.194.44.2 Name: youtube.com Address: 173.194.44.1 Name: youtube.com Address: 173.194.44.8 Name: youtube.com Address: 173.194.44.9 Name: youtube.com Address: 173.194.44.6 Name: youtube.com Address: 173.194.44.5 Name: youtube.com Address: 173.194.44.4 Name: youtube.com Address: 173.194.44.0 А все это раунд-робин мативоити. Разумеется, вы скажете, что ip разные и бла бла бла. Но если прописать соответствия в /etc/hosts, то вопросы отпадут. В 16.09.2018 в 20:28, ne-vlezay80 сказал: запоминать ip источника и назначения, исходящий и входящий порт, а также состояние сессии тут доменное имя надо запоминать или ssl-сертификат. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ne-vlezay80 Posted September 21, 2018 · Report post 11 минут назад, default_vlan сказал: Да никто никому ничего не должен, если разобраться. А все это раунд-робин мативоити. Разумеется, вы скажете, что ip разные и бла бла бла. Но если прописать соответствия в /etc/hosts, то вопросы отпадут. тут доменное имя надо запоминать или ssl-сертификат. это iptables не может. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted September 24, 2018 · Report post В 21.09.2018 в 18:06, ne-vlezay80 сказал: это iptables не может. dpi может... и не такое Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ne-vlezay80 Posted September 24, 2018 · Report post 7 часов назад, default_vlan сказал: dpi может... и не такое Но, это надо как то реализовывать через surucat'у. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
default_vlan Posted September 25, 2018 · Report post В 24.09.2018 в 16:19, ne-vlezay80 сказал: это надо как то реализовывать через surucat Что такое surucat? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ne-vlezay80 Posted September 25, 2018 · Report post 2 часа назад, default_vlan сказал: Что такое surucat? suricata. я опечатолся Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...