Kiekviena atvira paslauga gauna tą patį patarimą: uždėkite jai fail2ban. VPN šliuzui šis patarimas nei klaidingas, nei pakankamas, ir būtent vertinimas jo kaip sukietinimo varnele veda prie to, kad žmonės lieka su kalėjimu (jail), kuris nieko naudingo neblokuoja. Fail2ban skaito nesėkmių įrašus, į kuriuos jį nukreipiate, ir prašo vykdymo backend'o užblokuoti atitinkančius šaltinius. Visa jo vertė priklauso nuo to, koks autentifikavimo paviršius sukūrė įrašą, ar jame esantis adresas yra tikrasis klientas, ir kas atsitinka visiems kitiems už to adreso.

Kas yra fail2ban mechaniškai

Filtras suderina žurnalo eilutes, kalėjimas skaičiuoja atitikimus pagal šaltinį, o veiksmas taiko blokavimą per ugniasienės backend'ą. Trys judančios dalys, ir kiekviena gali būti neteisinga nepriklausomai.

Nė viena iš trijų neliečia autentifikavimo kelio: fail2ban reaguoja į įrodymus po fakto ir pats niekada netikrina prisijungimo duomenų. Todėl kalėjimas gali veikti sklandžiai, o paviršius, kurį jis įvardija, lieka lygiai taip pat atviras kaip anksčiau.

Tunelio klausytojas nėra prisijungimo forma

OpenVPN klausytojas, apsaugotas tls-auth arba tls-crypt, išmeta paketus be valdymo kanalo apsaugos dar prieš prasidedant įprastam TLS apdorojimui. Skeneris, kuris niekada neturi rakto, nesukuria nieko, ką jūsų filtras galėtų suskaičiuoti. Sertifikato autentifikavimas prideda dar vienus vartus, nes nėra slaptažodžio, kurį būtų galima atspėti. Fail2ban projektas dokumentuoja bendrą žurnalu grįstą modelį, o bendras VPN filtras neverčia neautentifikuoto paketo reikšmingu nesėkmės įvykiu.

Jei šliuzas priima tik sertifikatus, brute-force istorija, nuo kurios ginatės, tame porte gali iš viso neegzistuoti.

Tai kokį paviršių jūs saugote?

Tas pats hostas dažnai atskleidžia tris skirtingus dalykus: tunelio klausytoją, kliento profilio ar savitarnos portalą ir administravimo puslapį. Portale ir administravimo puslapyje yra slaptažodžio formos, ir jie kuria žurnalo eilutes, kurias filtras gali skaičiuoti. Tunelis gali kurti tik rankos paspaudimo klaidas, reiškiančias visai ką kita. Suderinkite kalėjimą su paviršiumi, o ne su produkto pavadinimu.

Vienas kalėjimas, stebintis neteisingą žurnalą, yra blogiau nei jokio, nes jis sukuria pasitikėjimą be aprėpties. Nukreipkite prisijungimo filtrą į tunelio rankos paspaudimo klaidas, ir skaitiklis suveiks skeneriuose, kurie niekada neturėjo rakto, o slaptažodžio ataka prieš portalą liks nesuskaičiuota. Perskaitykite žurnalo eilutę, kurią filtras suderina, prieš pasitikėdami kalėjimo skaičiumi.

Šaltinio priskyrimas yra silpnoji grandis

Blokavimas yra toks geras, koks yra adresas, į kurį jis nukreiptas. Kai paslauga yra už vietinio atvirkštinio proxy, kliento adresas žurnale gali būti pats proxy, ir jo blokavimas pašalina visus. Pasitikėjimas persiųstu antrašte iš nepatikimo šaltinio suteikia užpuolikui galimybę blokuoti savavališkus adresus. UDP atveju šaltinio adresus galima suklastoti, todėl jų skaičiavimas reikalauja daugiau atsargumo nei užbaigto TCP prisijungimo skaičiavimas.

Užrašykite šaltinio priskyrimo metodą kalėjimo README, nes persiųsta antraštė iš nepatikimo šuolio paverčia blokavimą ginklu.

Šalutinė kaina yra kiti žmonės

Keli darbuotojai už vieno biuro NAT dalijasi adresu, todėl vienas pasenęs išsaugotas slaptažodis gali užrakinti visą biurą, kai bus peržengta riba. Žurnalas rodo vieną šaltinį ir vieną paskyrą, kurie nepavyko, o ne viso biuro sutrikimą.

Trumpi blokavimai ir saikingos ribos tai mažina, o dokumentuotas atblokavimo kelias mažina palaikymo naštą, kai tai vis tiek nutinka. Adresas yra grubus signalas, o ne tapatybė, ir bilietą atidaręs žmogus apibūdins sutrikimą, o ne ribą.

Kada jį pritaikyti, o kada taisyti ką nors kita

Pritaikykite jį, kai jūsų kontroliuojamame paviršiuje yra tikras, priskiriamas, pasikartojantis internetinio prisijungimo nepavykimas ir kai vykdymo backend'as tikrai apima tą paviršių. Taisykite ką nors kita, kai problema yra silpna prisijungimo duomenų politika, į internetą atviras administravimo puslapis arba paskyra, kuri sėkmingai prisijungia todėl, kad buvo sukompromituota. Blokavimas negali pataisyti nė vieno iš jų ir negali sugerti srauto, kuris jau prisotino jūsų uplink'ą. Ta paskutinė problema priklauso aukščiau, tam, kas gali filtruoti, kol paketai jus pasieks.

Laikykite kiekvieną kalėjimą susietą su vienu paviršiumi, peržiūrėkite klaidingus teigiamus ir matuokite išvengtą autentifikavimo darbą, o ne užblokuotų adresų skaičių.

Susiję straipsniai