Ekkert í fail2ban hendir pakka af sjálfu sér: það kallar á aðgerð, og það er aðgerðin sem nefnir samskiptareglu og gátt. Þegar jail tilkynnir ban á meðan dæmoninn heldur áfram að taka við innskráningum, er ban-ið yfirleitt raunverulegt og þrengra en loggið gefur í skyn. Biðlari sem tengist aftur um hinn flutningsmátann rekst aldrei á regluna sem var sett upp. Berið saman það sem aðgerðin setti upp og það sem dæmoninn hlustar á áður en þið breytið einhverju, því sönnunin er í eldveggskeðjunni sem aðgerðin skrifaði, ekki í lista jail-sins.

Lestu keðjuna, ekki samantekt jail-sins

fail2ban setur eigin keðju fyrir framan keðju þjónustunnar, þannig að teljaralisti sýnir nákvæmlega hvað er til. Keðja sem heitir eftir jail-inu og heldur einni reglu þar sem samskiptaregludálkurinn segir udp er fullnægjandi skýring á TCP-innskráningum sem halda áfram að berast. Aðeins UDP-pökkum frá bönnuðu upprunanum er hafnað. Þjónustan hefur TCP-hlustara, og ekkert í þeirri keðju snertir hann.

Fylgist líka með áhrifum nálægrar jail. Einn hýsill getur litið fullkomlega stilltur út bara vegna þess að önnur jail útvegar hálfuna sem vantar, og sama smíðin gerir ekkert þar sem sú jail er ekki uppsett.

Aðgerðin nefnir eina samskiptareglu, og þar brotnar hún

Sérhver banaction er sniðmát fyrir eldveggsskipun, og samskiptareglan liggur í einum af staðgengilum þess. Þröngsýnin er viljandi, því veff-jail og DNS-jail eiga ekkert erindi að loka sömu gáttum. Þetta verður gildra þegar þjónustan hlustar á fleiri en einn flutningsmáta, sem VPN-dæmonar gera venjulega. Síubúnaðurinn getur fylgst með misheppnuðum innskráningum frá báðum flutningsmátum á meðan aðgerðin nær yfir einn.

Uppsetningar SoftEther og OpenVPN hlustar venjulega á UDP og TCP á sama tíma, og þar sem logglinan lítur eins út í báðum tilvikum fylgist síubúnaðurinn með báðum. Ósamhverfan birtist aldrei í skýrslu jail-sins sjálfs. fail2ban taldi mistökin rétt og setti þá upp reglu sem gildir fyrir helminginn af umferðinni sem mistökin bárust á.

Láttu ban-ið ná yfir báða flutningsmátana

Lagaðu það í skilgreiningu jail-sins í staðinn; handskrifaðar reglur verða ruglaðar í næstu endurhleðslu. Skrifaðu út tvær aðgerðir, eina fyrir hverja samskiptareglu:

action = %(banaction)s[name=%(__name__)s-tcp, actionname=%(__name__)s-tcp, protocol="tcp", port="%(port)s", chain="%(chain)s"]
         %(banaction)s[name=%(__name__)s-udp, actionname=%(__name__)s-udp, protocol="udp", port="%(port)s", chain="%(chain)s"]

Ekki reyna að stytta það með protocol = all. Sjálfgefna banaction er multiport-aðgerð, og hún víkkar út í -p <protocol> -m multiport --dports <port>; án L4-samskiptareglu er ekkert sem gáttarsamsvörunin getur prófað, svo iptables hafnar reglunni á meðan jail-ið tilkynnir enn farsælt ban. Aðgerð fyrir allar gáttir eins og iptables-allports eða nftables-allports tekur við einni færslu, en lokar hverri gátt á þeim uppruna, sem er önnur ákvörðun og þarf eigin rökstuðning. Láttu protocol vera tcp eða udp og samþykktu færslurnar tvær.

Sannaðu að reglan sé til í staðinn fyrir að treysta stillingunni, því stilling lýsir áformi þar til keðja heldur henni:

iptables -S f2b-vpn-tcp
iptables -S f2b-vpn-udp

Sérhver keðja ætti að telja upp eina reglu, með -p tcp í þeirri fyrstu og -p udp í þeirri annarri, og báðar nefna bannað vistfangið. Staðfestu svo að sama vistfanginu sé hafnað á báðum flutningsmátunum. Ban sem þú hefur ekki séð í keðjunni er von, og næsta skýrsla um sama einkenni mun kosta sömu klukkustundina aftur.

Það sem ban-ið sleppir enn, og næsta tilvik

Það sem aðgerðin gerir er að hafna einum uppruna, og aðeins á gáttunum sem taldar eru upp í henni. Hún gerir ekkert gegn árásarmanni sem skiptir um vistföng, og hún getur ekki aðskilið fjandsamlega vél frá útgangi rekstraraðilastigs NAT sem hundruð notenda deila, þar sem eitt ban lokar úti fólki sem gerði ekkert. Gakktu úr skugga um að síubúnaðurinn lesi vistfangið sem biðlarinn hefur í raun, ekki framsenda haus eða proxy-vistfang. Haltu glugganum nógu stuttum svo mistök renni út af sjálfu sér.

Ekkert af þessu er rök fyrir því að sleppa samskiptaregluviðgerðinni; það eru rök fyrir því að halda tveimur hugmyndum á sama tíma. Ban-ið er þrengra en samantekt jail-sins gefur í skyn, og jafnvel fullkomið ban er þrengra en ógnin. Settu eldveggskeðjuna við hlið hlustaralistas dæmonsins og berðu saman samskiptareglu fyrir samskiptareglu, því þessir tveir listar ráða því hvort ban getur yfirhöfuð náð til þjónustunnar.

Haltu endurhleðsluskipuninni og keðjulistanum í runbook-inu við hlið jail-sins. Næsta manneskja þarf bæði, og samantekt jail-sins mun segja henni hvorugt.

Tengdir greinar