Scagaire Fail2ban do OpenVPN Access Server: real_ip agus jailí
Scríobhann an Access Server a fhormáid loga féin, mar sin ní aimsíonn scagairí caighdeánacha aon rud. Ancaire ar real_ip, roinn jailí de réir dromchla agus seiceáil nach seachfhreastalaí an seoladh.
Chóipeáil tú OpenVPN jail ó phost pobail, atosaigh tú fail2ban, agus ní chuirtear cosc ar aon seoladh riamh. Is é formáid an loga an chúis beagnach i gcónaí: ní scríobhann an Access Server na línte teipe fíordheimhnithe a bhíonn ag súil le scagaire caighdeánach. Sula dtagann tú ar an scagaire, deimhnigh go bhfuil na taifid ann ar chor ar bith, mar ní féidir le patrún teacht ar rud nár logáil an tseirbhís riamh.
Seo é an runbook a leanaim ar óstach Access Server: deimhnigh cruth an taifead, scríobh aon slonn ancaire amháin, tástáil é i gcoinne an loga fhíor, ansin roinn na jailí de réir an dromchla atá faoi ionsaí agus deimhnigh go sroicheann an cosc an balla dóiteáin.
Deimhnigh go bhfuil an taifead teipe ann
Scríobhann an Access Server a línte struchtúrtha féin chuig /var/log/openvpnas.log, agus tá seoladh an chliaint i réimse real_ip idir chomharthaí athfhriotail, ní ag tús líne syslog. Cuardaigh logáil isteach ar theip uirthi a bhfuil a fhios agat a tharla sula scríobhann tú aon phatrún:
grep -i 'LOG ERR' /var/log/openvpnas.log | tail -20Mura dtagann aon rud chun solais, is é leibhéal an loga an chéad amhrastach eile. Tá lasc dífhabhtaithe bunachar sonraí loga ag an Access Server i /usr/local/openvpn_as/etc/as.conf (DEBUG_LOGDB=1), agus caithfear an tseirbhís a atosú tar éis é a athrú. Caith leis an lasc sin mar shocrú diagnóiseach a ísítear arís nuair a bheidh do phatrún agat, ní mar chumraíocht bhuan.
Fad a bhíonn tú sa chomhad, tabhair faoi deara cé na dromchlaí a scríobhann isteach ann. Tagann teipeanna tairseach an chliaint, an chomhéadain riaracháin agus fíordheimhniú an tolláin isteach sa chomhad céanna le marcóirí éagsúla, agus socraíonn an mhionsonra sin leagan amach na jailí níos déanaí.
Ancaire scagaire amháin ar real_ip
Coinnigh an slonn cúng. Cuirfidh scagaire a éilíonn aon líne ina bhfuil seoladh IP cosc ar dhaoine as dícheangail ghnáthaimh, agus ar fhreastalaí gnóthach is é an t-aon siomptóm go bhfuil úsáideoirí ag gearán gur cuireadh faoi ghlas iad as ríomhaire glúine a dhúnadh. Éiligh an taifead earráide agus gabh an seoladh idir athfhriotail:
# /etc/fail2ban/filter.d/openvpnaccess.local
[Definition]
failregex = ^ .*LOG ERR.*"real_ip": "<HOST>".*
ignoreregex =Níl an spás tosaigh cosmaideach. Déanann an Access Server a chuid taifead a chur isteach, agus cuireann ancaireacht air cosc leis an bpatrún línte a éileamh freisin a scríobhann seirbhísí neamhghaolmhara sa chomhad céanna. Má tá stampa ama tosaigh ar do chuid taifead ina ionad, déan an réimír sin a mheaitseáil, ach ancaire ar rud atá i láthair i ndáiríre i ngach taifead a bhfuil sé ar intinn agat a éileamh.
Nuair a bhíonn cruinneas de dhíth ort de réir dromchla, caolaigh tuilleadh trí mharcóir an dromchla (WEB_CLIENT, WEB_ADMIN nó VPN) a éileamh ar an líne chéanna. Is fusa scagaire amháin le trí phatrún a iniúchadh ná trí scagaire a bhfuil difríocht focal amháin eatarthu.
Tástáil an slonn sula gcumasaíonn tú jail
Ná cumasaigh scagaire riamh nár ritheann tú i gcoinne an loga táirgeachta. Tugann an tástáil dhoiciméadaithe an scagaire tríd faoi dhó, uair amháin le lódáil agus uair amháin le cur i bhfeidhm, agus is é tuarascáil na línte a cailleadh an chuid is fiú a léamh:
fail2ban-regex --print-all-missed /var/log/openvpnas.log \
/etc/fail2ban/filter.d/openvpnaccess.local \
/etc/fail2ban/filter.d/openvpnaccess.local > missed.txtCuir comparáid idir líon na meaitseálacha agus na teipeanna a dheimhnigh tú sa chéad chéim. Ciallaíonn nialas meaitseáil go bhfuil an patrún mícheart; ciallaíonn meaitseálacha ar línte nach teipeanna fíordheimhnithe iad go bhfuil sé róleathan. Léigh missed.txt go dtí gur féidir leat gach líne a roghnaigh tú gan a éileamh a mhíniú.
Déan an tástáil seo ar chóip má tá an loga mór, agus athrith é tar éis aon uasghrádú Access Server. Is é formáid an loga an comhéadan a bhfuil tú ag meaitseáil ina choinne, agus ní API cobhsaí é.
Roinn jailí de réir dromchla, ní de réir daemon
Cuireann aon Access Server amháin roinnt dromchlaí fíordheimhnithe i láthair: comhéadain ghréasáin chliaint agus riaracháin ar 943/tcp, agus an tollán ar 1194/udp nó 443/tcp i bhformhór na n-imscarthaí. Ligeann aon jail amháin a chlúdaíonn iad uile d'iarratais bhuille faoi thuairim ar an tollán seoladh a chosc atá ina chonair riaracháin agat freisin, agus ceileann sé cé an dromchla atá faoi ionsaí i ndáiríre. Tabhair a jail féin do gach dromchla lena phort agus a thairseacha féin:
# /etc/fail2ban/jail.d/openvpnaccess.local
[openvpnas-web-client]
enabled = true
port = 943
protocol = tcp
filter = openvpnaccess
logpath = /var/log/openvpnas.log
maxretry = 3
findtime = 10m
bantime = 1h
[openvpnas-tunnel]
enabled = true
port = 443
protocol = udp
filter = openvpnaccess
logpath = /var/log/openvpnas.log
maxretry = 5
findtime = 10m
bantime = 1hTosaigh le comhairimh bheaga agus cosc gearr, agus ardaigh iad nuair a bheidh seachtain de thrácht fíor feicthe agat. Cuireann tairseach fhlaithiúil ar sheoladh oifige roinnte pionós ar gach úsáideoir taobh thiar d'aon NAT, agus dícheanglaíonn cosc ionsaitheach ar dhromchla an tolláin cliaint dhlisteanacha a bhfuil a n-aitheantas stóráilte imithe in éag thar oíche.
Fíoraigh an cosc, an backend agus an damáiste comhthaobhach
Tar éis atosaithe, is é aschur an staidis an deimhniú is tapúla go bhfuil an jail ann agus ag comhaireamh:
fail2ban-client status
fail2ban-client status openvpnas-tunnelAnsin deimhnigh go sroicheann an cosc an balla dóiteáin a ritheann tú i ndáiríre, mar ní chosnaíonn jail atá cumraithe do backend nach gcuireann aon duine i bhfeidhm aon rud. Le gníomh iptables tagann na seoltaí chun solais i slabhra atá ainmnithe i ndiaidh an jail (f2b-openvpnas-tunnel); le gníomh nftables tagann siad i dtír i dtacar i dtábla fail2ban féin. Seiceáil an ceann a úsáideann d'óstach in ionad a bheith ag gabháil leis.
Tá dhá sheiceáil chomhthaobhacha níos tábhachtaí ná an cosc féin. Ar dtús, fíoraigh gurb é real_ip seoladh an chliaint agus nach seoltóir ualaigh nó seachfhreastalaí droim ar ais é; taobh thiar de sheachfhreastalaí titeann gach cosc ar an seachfhreastalaí agus tarraingíonn sé an tseirbhís iomlán leis. Ar an dara dul síos, scríobh an nós imeachta díchoisc síos, mar is leis an innealtóir ar ghlao a bhíonn an seoladh a sháraíonn an tairseach ag 02:00 de ghnáth: fail2ban-client set openvpnas-tunnel unbanip 203.0.113.24.
Coinnigh an teorainn i gcuimhne agus tú ag tiúineáil. Is sriantóir ráta é Fail2ban ar aon dromchla fíordheimhnithe amháin, ní sraith rialaithe rochtana. Ní thagann sé in áit MFA, srianta de réir cuntais ná an comhéadan riaracháin a choinneáil amach ón idirlíon poiblí, agus tá a shocruithe autoban féin ag an Access Server ar fiú iad a sheiceáil sula gcuireann tú dhá shriantóir ráta ar an bport céanna.