#1
|
|||
|
|||
SYN Stealth Scan
Ruslan Suleimanov написал(а) к All в Sep 20 17:33:14 по местному времени:
Привет, All! Кто может поделиться стандартным набором правил для IPFW что закрыть всю эту херню которая сыпеться на сервак от сканов "nmap" и прочих сканеров.. ? Буду очень благодарен ! WBR, Ruslan Suleimanov. JabberID: rs@captflint.com --- GoldED+/FreeBSD/..I LIKE UNIX EVERYDAY.. |
#2
|
|||
|
|||
Re: SYN Stealth Scan
Alex Korchmar написал(а) к Ruslan Suleimanov в Sep 20 22:13:30 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Ruslan Suleimanov <Ruslan.Suleimanov@f888.n467.z2.fidonet.org> wrote: RS> Кто может поделиться стандартным набором правил для IPFW ipfw add 1 deny tcp from any to any RS> что закрыть всю эту херню которая сыпеться на сервак от сканов "nmap" извиняюсь, поторопился - чтоб всю, а не только stealth tcp - надо deny ip from any to any > Alex P.S. ты бы, прежде чем херней маяться - книжек чтоль каких почитал... --- ifmail v.2.15dev5.4 |
#3
|
|||
|
|||
SYN Stealth Scan
Ruslan Suleimanov написал(а) к Alex Korchmar в Sep 20 23:37:06 по местному времени:
Привет, Alex! Ответ на сообщение Alex Korchmar (2:5020/400) к Ruslan Suleimanov, написанное 14 сен 20 в 22:13: AK> From: Alex Korchmar <noreply@linux.e-moe.ru> AK> Ruslan Suleimanov <Ruslan.Suleimanov@f888.n467.z2.fidonet.org> wrote: RS>> Кто может поделиться стандартным набором правил для IPFW AK> ipfw add 1 deny tcp from any to any Это правило для декстопа без инета ) Лучшее решение: # Запрет X-сканирования: add 1001 reject log tcp from any to any tcpflags fin, syn, rst, psh, ack, urg # Запрет N-сканирования: add 1002 reject log tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg # Запрет FIN-сканирования: add 1003 reject log tcp from any to any not established tcpflags fin # Защита от спуфинга add 1004 deny log ip from any to any not verrevpath in # Ограничение числа одновременных соединений: add 1005 allow ip from any to any setup limit src-addr 10 взято с https://www.opennet.ru/base/sec/ipfw_antihack.txt.html RS>> что закрыть всю эту херню которая сыпеться на сервак от сканов RS>> "nmap" AK> извиняюсь, поторопился - чтоб всю, а не только stealth tcp - надо AK> deny ip from any to any >> Alex AK> P.S. ты бы, прежде чем херней маяться - книжек чтоль каких почитал... Согласен) WBR, Ruslan Suleimanov. JabberID: rs@captflint.com --- GoldED+/FreeBSD/..I LIKE UNIX EVERYDAY.. |
#4
|
|||
|
|||
Re: SYN Stealth Scan
Eugene Grosbein написал(а) к Ruslan Suleimanov в Sep 20 04:58:19 по местному времени:
14 сент. 2020, понедельник, в 23:37 NOVT, Ruslan Suleimanov написал(а): RS> # Запрет X-сканирования: RS> add 1001 reject log tcp from any to any tcpflags fin, syn, rst, psh, RS> ack, urg RS> # Запрет N-сканирования: RS> add 1002 reject log tcp from any to any tcpflags !fin, !syn, !rst, RS> !psh, !ack, !urg RS> # Запрет FIN-сканирования: RS> add 1003 reject log tcp from any to any not established tcpflags fin Чушь полная. Ты на своей стороне не можешь запретить сканировать себя никаким образом. Самое большое, что ты можешь сделать, это дропнуть входящие пакеты после того, как они УЖЕ пришли к тебе, но это вовсе не правило reject log tcp - хуже "решения" и придумать сложно, потому что оно мало того что шлет TCP RST в ответ, потенциально заставляя твою систему флудить невинную жертву по подставленному адресу источника, но ещё и нагружает твой CPU бессмысленной генерацией логов. А дропнуть бессмысленный входящий флуд ядро может само без всякого файрвола, тем более что чем больше правил в файрволе, тем больше нагрузка на обработку этих правил. Открой для себя sysctl net.inet.tcp.blackhole и sysctl net.inet.udp.blackhole, а так же подумай, почему они не включены по умолчанию. Если очень зудит, можешь попробовать использовать что то типа такого в /etc/sysctl.conf для маршрутизатора, который не предоставляет никаких сервисов сам на четвертом уровне TCP/IP (ssh не в счёт): net.inet.ip.random_id=1 net.inet.ip.redirect=0 net.inet.ip.ttl=80 net.inet.icmp.drop_redirect=1 net.inet.icmp.icmplim=80 net.inet.tcp.blackhole=1 net.inet.tcp.drop_synfin=1 net.inet.tcp.ecn.enable=1 net.inet.tcp.pathmtudiscovery=0 На современной FreeBSD 11 это обламывает nmap со сканированием и tcp-stack fingerpringint (удалённым определением OS), но это нельзя использовать на серверах с активным использованием TCP типа веб-прокси, почтовых серверах и прочих. Eugene --- slrn/1.0.3 (FreeBSD) |
#5
|
|||
|
|||
Re: SYN Stealth Scan
Alex Korchmar написал(а) к Ruslan Suleimanov в Sep 20 09:08:43 по местному времени:
From: Alex Korchmar <noreply@linux.e-moe.ru> Ruslan Suleimanov <Ruslan.Suleimanov@f888.n467.z2.fidonet.org> wrote: RS> Это правило для декстопа без инета ) можно и для сервера - без инета. Но суть ты уловил верно - нет интернета - тебя никто не просканирует. А если интернет есть - надо учиться жить с интернетом. По большей части, если это не граничный маршрутизатор, ipfw тут вообще не нужен, гораздо больше толку от hosts.allow, но и он лишь дополнительный уровень поверх просто грамотной настройки сервисов. RS> Лучшее решение: нет, это вредная и опасная чушь (как и 90% впопеннетовских рецептов, а остальные 10 требуют понимания что ты делаешь и зачем) Тебя она ни от чего ни защищает, засыпает тебе мусором логи, а вот остальным так настроенный хост может понасоздавать проблем. > Alex --- ifmail v.2.15dev5.4 |
#6
|
|||
|
|||
SYN Stealth Scan
Ruslan Suleimanov написал(а) к Eugene Grosbein в Sep 20 21:38:14 по местному времени:
Привет, Eugene! Ответ на сообщение Eugene Grosbein (2:5006/1) к Ruslan Suleimanov, написанное 15 сен 20 в 04:58: EG> 14 сент. 2020, понедельник, в 23:37 NOVT, Ruslan Suleimanov EG> написал(а): RS>> # Запрет X-сканирования: RS>> add 1001 reject log tcp from any to any tcpflags fin, RS>> syn, rst, psh, ack, urg RS>> # Запрет N-сканирования: RS>> add 1002 reject log tcp from any to any tcpflags !fin, RS>> !syn, !rst, !psh, !ack, !urg RS>> # Запрет FIN-сканирования: RS>> add 1003 reject log tcp from any to any not established RS>> tcpflags fin EG> Чушь полная. Ты на своей стороне не можешь запретить сканировать себя EG> никаким образом. Самое большое, что ты можешь сделать, это дропнуть EG> входящие пакеты после того, как они УЖЕ пришли к тебе, EG> но это вовсе не правило reject log tcp - хуже "решения" и придумать EG> сложно, потому что оно мало того что шлет TCP RST в ответ, EG> потенциально заставляя твою систему флудить невинную жертву EG> по подставленному адресу источника, но ещё и нагружает твой CPU EG> бессмысленной генерацией логов. EG> А дропнуть бессмысленный входящий флуд ядро может само без всякого EG> файрвола, тем более что чем больше правил в файрволе, тем больше EG> нагрузка на обработку этих правил. EG> Открой для себя sysctl net.inet.tcp.blackhole и EG> sysctl net.inet.udp.blackhole, а так же подумай, EG> почему они не включены по умолчанию. с правилами выше что я скинул показывает чудесные результаты, tcp.blackhole в значении 2 вообще крутая вещь ! :) единственное както неправильно работает allow ip from any to any setup limit src-addr 10 при том что у меня по умолчанию ipfw allow для всего. Подскажи пжлст как правильно перестроить правило чтобы разрешать с одного IP делать не больше 10 подключений ? WBR, Ruslan Suleimanov. JabberID: rs@captflint.com --- GoldED+/FreeBSD/..I LIKE UNIX EVERYDAY.. |
#7
|
|||
|
|||
Re: SYN Stealth Scan
Eugene Grosbein написал(а) к Ruslan Suleimanov в Sep 20 05:17:40 по местному времени:
15 сент. 2020, вторник, в 21:38 NOVT, Ruslan Suleimanov написал(а): RS> с правилами выше что я скинул показывает чудесные результаты, tcp.blackhole в RS> значении 2 вообще крутая вещь ! :) Да, крутая, пока ты не столкнёшься с софтом, писанным людьми, которые понятия не имеют о системном администрировании (это почти все программисты), типа веб-фреймворка, который работает в связке с базой данных и автор которого свято уверен, что подключаться к MySQL надо обязательно по TCP на 127.0.0.1, а уж если это не выходит, то так уж и быть, можно поглядеть в собственные настройки. Пока tcp.blackhole не выставлено в 2, это даже работает, потому что отлуп (TCP RST) при подключении к несуществующему сокету на 127.0.0.1:3306 приходит моментально и веб-юзер не ощущает задержки перед второй попыткой подключения к правильному адресу базы. Но если ты выставил tcp.blackhole=2, то фреймворк отвалится от первой попытки только по долгому таймауту, достаточному, чтобы юзеровский браузер бросил ждать раньше. RS> единственное както неправильно работает allow ip from any to any setup limit RS> src-addr 10 при том что у меня по умолчанию ipfw allow для всего. RS> Подскажи пжлст как правильно перестроить правило чтобы разрешать с одного IP RS> делать не больше 10 подключений ? Во-первых, не забывай добавлять направление (in или out) и имя интерфейса, тобы самого себя не резать, во-вторых, слово "setup" осмыслено не для любых IP-пакетов, а только для TCP. В UDP, GRE и прочих ESP нету никакого setup. В третьих, ставь такое правило с limit src-addr 10 в начало, типа такого: ipfw add 2000 skipto 2100 tcp from any to any setup in recv $extif limit src-addr 10 ipfw add 2010 reset tcp from any to any setup in recv $extif остальные правила с номера 2100 и далее, включая "allow для всего". Это позволяет в дополнение к лимиту на количество соединений ещё какие-нибудь фильтры применять при необходимости. Eugene --- slrn/1.0.3 (FreeBSD) |