Un banaction, dwy drafnidiaeth: trwsio jail fail2ban-VPN
Mae ban ond mor eang â'r protocol yn ei weithred. Cymharwch gyfrifwyr y gadwyn â'r gwrandawyr, yna cwmpaswch y ddwy drafnidiaeth yn y jail ei hun.
Nid oes unrhyw beth yn fail2ban yn gollwng pecyn ar ei ben ei hun: mae'n galw gweithred, a'r weithred honno sy'n enwi protocol a phorth. Pan fydd y jail yn adrodd am fan tra bod y daemon yn parhau i dderbyn mewngofnodion, mae'r ban fel arfer yn real ac yn gulach nag y mae'r log yn ei awgrymu. Nid yw cleient sy'n ailgysylltu dros y drafnidiaeth arall byth yn dod ar draws y rheol a osodwyd. Cymharwch yr hyn a osododd y weithred â'r hyn y mae'r daemon yn gwrando arno cyn i chi newid unrhyw beth, oherwydd mae'r dystiolaeth yn y gadwyn wal dân a ysgrifennodd y weithred, nid yng nghofrestr y jail.
Darllenwch y gadwyn, nid crynodeb y jail
Mae fail2ban yn gosod ei gadwyn ei hun o flaen cadwyn y gwasanaeth, felly mae rhestr o gyfrifwyr yn dangos yn union beth sy'n bodoli. Mae cadwyn wedi'i henwi ar ôl y jail, sy'n dal un rheol y mae ei cholofn protocol yn darllen udp, yn esboniad cyflawn dros fewngofnodion TCP sy'n dal i gyrraedd. Dim ond pecynnau UDP o'r ffynhonnell a waharddwyd sy'n cael eu gwrthod. Mae gan y gwasanaeth wrandawr TCP, ac nid oes unrhyw beth yn y gadwyn honno'n cyffwrdd ag ef.
Gwyliwch am effaith y jail cyfagos hefyd. Gall un gwesteiwr edrych yn berffaith gyfluniedig dim ond oherwydd bod jail gwahanol yn cyflenwi'r hanner sydd ar goll, ac nid yw'r un build yn gwneud dim lle nad yw'r jail hwnnw wedi'i osod.
Mae'r weithred yn enwi un protocol, a dyna lle mae'n torri
Mae pob banaction yn dempled gorchymyn wal dân, ac mae'r protocol yn un o'i ddeiliaid lle. Mae'r culni'n fwriadol, gan nad oes busnes i jail gwe a jail DNS rwystro'r un pyrth. Daw'n fagl pan fydd y gwasanaeth yn gwrando ar fwy nag un drafnidiaeth, fel y mae daemonau VPN yn ei wneud yn rheolaidd. Gall y hidlydd wylio mewngofnodion wedi methu o'r ddwy drafnidiaeth tra bod y weithred yn cwmpasu un.
Mae gosodiadau SoftEther a OpenVPN fel arfer yn gwrando ar UDP a TCP ar unwaith, ac oherwydd bod y llinell log yn edrych yr un fath y naill ffordd a'r llall mae'r hidlydd yn gwylio'r ddwy. Nid yw'r anghymesuredd byth yn ymddangos yn adroddiad y jail ei hun. Cyfrifodd fail2ban y methiannau'n gywir ac yna gosod rheol sy'n berthnasol i hanner y traffig y cyrhaeddodd y methiannau hynny arno.
Gwnewch i'r ban gwmpasu'r ddwy drafnidiaeth
Trwsiwch hyn yn niffiniad y jail yn lle hynny; bydd rheolau a ysgrifennwyd â llaw yn cael eu cymysgu gan yr ail-lwythiad nesaf. Nodwch ddwy weithred, un ar gyfer pob protocol:
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"]
Peidiwch â cheisio byrhau hynny gyda protocol = all. Mae'r banaction rhagosodedig yn weithred multiport, ac mae'n ehangu i -p <protocol> -m multiport --dports <port>; heb brotocol L4 nid oes dim i'r cyfatebiad porth ei brofi, felly mae iptables yn gwrthod y rheol tra bod y jail yn dal i adrodd am fan llwyddiannus. Mae gweithred pob porth fel iptables-allports neu nftables-allports yn derbyn un cofnod, ond mae'n gwahardd pob porth ar y ffynhonnell honno, sy'n benderfyniad gwahanol ac angen ei gyfiawnhad ei hun. Gadewch protocol ar tcp neu udp a derbyniwch y ddau gofnod.
Profwch fod y rheol yn bodoli yn lle ymddiried yn y gosodiad, oherwydd mae gosodiad yn disgrifio bwriad nes bod cadwyn yn ei ddal:
iptables -S f2b-vpn-tcp
iptables -S f2b-vpn-udp
Dylai pob cadwyn restru un rheol, gyda -p tcp yn y gyntaf a -p udp yn yr ail, y ddwy yn enwi'r cyfeiriad a waharddwyd. Yna cadarnhewch fod yr un cyfeiriad yn cael ei wrthod ar y ddwy drafnidiaeth. Mae ban nad ydych wedi'i weld yn y gadwyn yn obaith, a bydd yr adroddiad nesaf o'r un symptom yn costio'r un awr eto.
Yr hyn y mae ban yn dal i'w golli, a'r achos nesaf
Yr hyn y mae'r weithred yn ei wneud yw gwrthod un ffynhonnell, a dim ond ar y pyrth a restrir ynddi. Nid yw'n gwneud dim am ymosodwr sy'n cylchdroi cyfeiriadau, ac ni all wahanu peiriant gelyniaethus oddi wrth allanfa NAT graddfa cludwr a rennir gan gannoedd o ddefnyddwyr, lle mae un ban yn cloi allan bobl na wnaethant ddim. Gwnewch yn siŵr bod y hidlydd yn darllen y cyfeiriad sydd gan y cleient mewn gwirionedd, nid pennawd a anfonwyd ymlaen na chyfeiriad dirprwy. Cadwch y ffenestr yn ddigon byr fel bod camgymeriad yn dod i ben ohono'i hun.
Nid oes dim o hynny'n dadlau dros hepgor y trwsiad protocol; mae'n dadlau dros ddal dwy syniad ar unwaith. Mae'r ban yn gulach nag y mae crynodeb y jail yn ei awgrymu, ac mae hyd yn oed ban cyflawn yn gulach na'r bygythiad. Rhowch y gadwyn wal dân wrth ymyl rhestr wrandawyr y daemon a chymharu protocol wrth brotocol, oherwydd y ddwy restr honno sy'n penderfynu a all ban gyrraedd y gwasanaeth o gwbl.
Cadwch y gorchymyn ail-lwytho a'r rhestr gadwyn yn y runbook wrth ymyl y jail. Bydd yr un nesaf angen y ddau, ac ni fydd crynodeb y jail yn dweud y naill na'r llall wrtho.