Титла: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 20, 2018, 14:13 Почвам да се чудя има ли изобщо смисъл да блокирам порт сканирането при положение, че публичните ми портове така и така трябва да са отворени, а останалите са на дроп. Напълнило се е с всякакви ботове и ми се струва, че е пилеене на ресурс да се опитвам да изследвам и блокирам всеки по отделно и да поддържам списъци вместо да го оставям да си фейват заявките му.
Ако имате някакви други съображения защо би трябвало да блокирам сканирането на общо основание ще ми е интересно да чуя. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: makeme в Nov 20, 2018, 14:51 Ми презумпцията е, че щом някой сканира портове не ти мисли доброто :)
Смисъл, автоматичните атаки на ботовете, които обикалят нета са последващи на бота, който е минал преди това с порт скана. Примерно: Имаш вдигнат уебсървър на порт 80. Да, той е отворен и видим, но бота не знае това преди да го сканира. След като го сканира те слага в списъка с ИП-та, които имат уеб сървър. От там другият бот, който е за дупчене на CMSи минава и се пробва. И така за всеки сървис на стандартен порт, за който има уязвимости. Иначе, да, прав си. Ако нямаш от какво да се притесняваш и знаеш, че всичко ти е защитено, няма смисъл. Все пак обаче това си е още едно на защита, а в днешно време не е зле да имаш много. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: 4096bits в Nov 20, 2018, 15:40 Както казва и @makeme, трябва да имаш защита на всяко едно ниво, на което можеш да я осигуриш. В днешно време нищо не е достатъчно.
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Acho в Nov 20, 2018, 15:42 Да си си "вързал гащите" дето се казва. И да си пуснал само това, което наистина ти трябва да се достъпва "отвънка".
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 09:27 Абе и аз така бях решил, но като тръгнах да го реализирам с iptables осъзнах, че ще трябва да поддържам едни списъци, които са видими през /proc/net/xt_recent и като гледам как потенциално биха набъбнали започнах да се притеснявам. На практика като хвана бот трябва да го набутам в един несортиран списък и да започна в началото на инпут веригата да проверявам ВСЯКА нова входяща връзка дали не идва от блокирано айпи. Другото нещо което забелязах, е че файла не се чисти, а просто към айпи-то се добавя сигнатурата за последния пакет и от там се определя и кога за последно е имало връзка от дадения хост.
Нещото от което се опасявам, че след 2-3 месеца списъкът може да набъбне доста и да имам да проверявам в тлъста база всеки път преди да разреша връзка. В действителност, нямам си представа как са реализирани алгоритмите в модула и какво пърформънс пенълти ще се натрупа след известно време. Може и изобщо да не е някакъв проблем. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: nslave в Nov 21, 2018, 10:05 Мисля, че ще ти бъде полезно да използваш ipsets. Твърдението е, че е подходящо за големи списъци и когато има притеснения относно производителността.
Edit: Сега се зачетох и поддържа и timeout на записите. Това мисля, че ще ти помогне до някаква степен с това списъка да остане сравнително малък. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 11:27 Мисля, че ще ти бъде полезно да използваш ipsets. Твърдението е, че е подходящо за големи списъци и когато има притеснения относно производителността. Мерси, ще го погледна това. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: n00b в Nov 21, 2018, 12:39 Няма да правиш списъци със портовете които да дропиш. Ще направиш списък със портове които ще отвориш - и всичко останало е на дроп.
Примерно така са Амазон и Гогол на облачните услуги. Казваш искам да ми се отворят за ВХОДЯЩИ заявки порт X, Y и Z. Всичко останали под ножа. И е добра стратегия. Представи си пуснеш за малко един MySQL за да тестваш нещо. И му бутнеш слаба парола. Така младежите ще му се изредят да почукат първо, и после да брутфорснат. Ако обаче си отворил примерно порт 23 и порт 80 само. MySQL-а ще остане скрит зад firewall правилата и даже никой отвън няма да го види, че е наличен. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 14:17 Да, аз така го правя, ама искам да блокирам и да съм информиран като някой малоумник реши да се тества да сканира надлъж и нашир. Сега ще тествам тия айпи сет-ове и ще пиша какво съм измислил.
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: nslave в Nov 21, 2018, 14:30 Определено ако няма специфично изискване да са отворени портовете, всеки сървър с директен излъз (пък и не само) към интернет, и според мен трябва да е с default policy на iptables - drop.
Има друго, не знам как действат точно сканиращите. Дали след като сканира, после идва от друг адрес да пробва exploit-и или пак от същият. Ако е така има потенциал да не хванеш нищо.. или поне нищо, което да има значение. С ipset като гледам обаче, можеш бързо да се затвориш по региони. Ако не очакваш трафик от Русия, Китай и подобни.. то съвсем спокойно може да ги отрежеш директно тях :D Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 16:49 Целта ми е да блокирам сляпо сканиране на отворени портове. За сега това ми е идеята. Направих 4 сета:
ipset -N banned_hosts iphash ipset -N second_strike_hosts iphash timeout 30 ipset -N first_strike_host iphash timeout 30 ipset -N retry_hosts hash:ip,port Направих си верига SCAN_BLOCK която я апенднах към INPUT чейна: iptables -A INPUT -p tcp -i enp17s10 -m multiport --destination-port 21,23,109,110,445,501,1000,1194,1200 -j SCAN_BLOCK Примерно няколко портове които да са хем смесени стандартни върху които нямам услуги, хем нестандартни да подбера ако някой е решил да жъне наред. SCAN_BLOCK веригата ми съдържа следното: iptables -A SCAN_BLOCK -m set --match-set retry_host src,dst -j DROP iptables -A SCAN_BLOCK -m set --set second_strike_hosts src -j SET --add-set banned_hosts src iptables -A SCAN_BLOCK -m set --match-set first_strike_hosts src -j SET --add-set second_strike_hosts src iptables -A SCAN_BLOCK -j SET --add-set first_strike_hosts src iptables -A SCAN_BLOCK -j SET --add-set retry_host src,dst iptables -A SCAN_BLOCK -j DROP Надявам се че не съм объркал нещо копи/пействах от командния ред. Идеята е следната, ако някой почне да шава по портовете попада съответно първо в първи списък, после във втори и накрая в перманентния бан. За да не попадне някой който просто ритрайва на порт се наложи да добавя още един временен списък където да пиша айпита и портове. за това са предпоследен и първи ред. Двата списъка за първи и втори страйк таймаутват за 30 секунди. Перманентният не, както и тия дето жулят на един и същи порт безуспешно. Това измислих на първо време, после ще оптимизирам. Трябва да измисля как да добавям айпита които пробват произволни глупости по уеб съръва да влизат в банлиста. командата е ясна ipset add нещо си там и айпито. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: n00b в Nov 21, 2018, 18:11 Да - изглежда 6.
Но според мен лично е губене на време. По-добре направо си ги дропи и без да се занимаваш със анализи. За всичко останало има fail2ban. Има и по-хардкор варианти на F2B дето направо се банва C-class range за по-удобно. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 18:57 Знам за fail2ban. Предпочитам нещата свързани с мрежовото филтриране да се случват в кернелспейс.
Иначе горе трябва да се добави и правило за дропване на пакетите идващи от баннатите хостове. Някъде в началото на инпут чейна и при желание във форвард. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Yasen6275 в Nov 21, 2018, 19:28 ...Има и по-хардкор варианти на F2B дето направо се банва C-class range за по-удобно.Което директно те прави уязвим от DoS атака със пакети с подменени адреси. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Acho в Nov 21, 2018, 20:07 А това дето ще се защитава домашна машина ли е ? Или некав фирмен сървър ?
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 20:45 А това дето ще се защитава домашна машина ли е ? Или некав фирмен сървър ?Машина в офис. В понеделник в логовете цъфна нещо което ме накара да се поразчовъркам по темата. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Yasen6275 в Nov 21, 2018, 21:34 Какво точно си видял, ако не е тайна?
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 21, 2018, 22:09 Връзки на порт на който аз и един познат си пускаме наши неща. Напълно случаен е, няма как да се налучка. Първо аз го видях в моите логове, после изгря и в логовете на познатия ми. Ще видя сега дали това айпи пак ще се появи.
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: jet в Nov 22, 2018, 02:11 На моя сървър така или иначе работи Апаче, съм си направил една пхп форма защитена с парола която отваря набор от портове (iptables в шел скрипт), като си свърша работата ги затварям с копчето. Логовете са чисти като сълза, да ме сканират колкото си искат (народът е казал - покрито мляко, котки не го лочат).
Почукването на портове също е добра стратегия, но когато си на чужда Уиндоус машина е тегаво. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 22, 2018, 08:57 На моя сървър така или иначе работи Апаче, съм си направил една пхп форма защитена с парола която отваря набор от портове (iptables в шел скрипт), като си свърша работата ги затварям с копчето. Логовете са чисти като сълза, да ме сканират колкото си искат (народът е казал - покрито мляко, котки не го лочат). Това са добри практики, но със своите ограничения. Специално port knocking-а ми се струва непрактичен ако трябва постоянно да го извършваш от чужди клиентски машини. Освен това програмистите като цяло са мързеливо племе и изобщо не биха си направили труда да го имплементират програмно в софуера си. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Acho в Nov 22, 2018, 10:33 Калпазани са казваш. Хаххахааааааааааааа
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: n00b в Nov 22, 2018, 12:33 Това са добри практики, но със своите ограничения. Специално port knocking-а ми се струва непрактичен ако трябва постоянно да го извършваш от чужди клиентски машини. Освен това програмистите като цяло са мързеливо племе и изобщо не биха си направили труда да го имплементират програмно в софуера си. Преди 2 месеца оправих един виртуализиран Виндовс. Неизвестно как някой е минал и го беше ударил като беше криптирал файловете. От целия сървър трябваше само един файл - базаданни на MSSQL. Интересното беше как са го ударили? През RDP! Физическата машина беше отлично и търкаляше около 20тина виртуалки. Но само към една виртуалка имало пуснато RDP на нестандартен порт със потребител Administrator. И някой тъпо и упорито я брутфорснал. А причината била, че поддръжката от София трябвало да влиза и да прави това-онова. Не знам какво си видял, но в днешно време може би е по-добре такива неща да ги търкаляш през VPN. Или през SSH ако е възможно. Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 22, 2018, 13:53 С тези крипто вируси "разкази от криптата" всеки може да разкаже...
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: remotexx в Nov 23, 2018, 04:26 С тези крипто вируси "разкази от криптата" всеки може да разкаже...А някой може и да напишат ..нови ;D Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 26, 2018, 11:58 Само от любопитство, някой знае ли как може да се реализира подобно нещо с nftables. Не съм запознат много с него и не знам какви са му предимствата пред iptables.
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Yasen6275 в Nov 26, 2018, 22:20 Само от любопитство, някой знае ли как може да се реализира подобно нещо с nftables. Не съм запознат много с него и не знам какви са му предимствата пред iptables.За кое от всичките неша обсъждани в темата питаш? Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: growchie в Nov 27, 2018, 15:04 ipsets+iptables
Титла: Re: Смисъл от блокиране на сканирането на портовете Публикувано от: Yasen6275 в Nov 27, 2018, 16:40 Според викито на nftables нямаш начин да прехвърлиш ipset-ове към nftables автоматично. Но от това което съм гледал самия nftables има подобна функционалност.
|