Inti kkupjajt OpenVPN jail minn post tal-komunità, erġajt bdejt fail2ban, u l-ebda indirizz qatt ma jiġi mblukkat. Ir-raġuni kważi dejjem hija l-format tal-log: l-Access Server ma jiktebx il-linji tal-falliment tal-awtentikazzjoni li jistenna filtru standard. Qabel ma tmiss il-filtru, ikkonferma li r-rekords huma hemm xejn, għax mudell ma jistax jaqbel ma' dak li s-servizz qatt ma rreġistra.

Dan huwa l-runbook li nsegwi fuq host Access Server: ikkonferma l-forma tar-rekord, ikteb espressjoni waħda ankorata, ipprovaha fuq il-log veru, imbagħad aqsam il-jail skont il-wiċċ li qed jiġi attakkat u vverifika li l-blokk jasal sal-firewall.

Ikkonferma li r-rekord tal-falliment jeżisti

L-Access Server jikteb il-linji strutturati tiegħu stess f'/var/log/openvpnas.log, u l-indirizz tal-klijent jinsab f'qasam real_ip bejn virgoletti, mhux fil-bidu ta' linja syslog. Fittex login fallut li taf li seħħ qabel ma tikteb xi mudell:

grep -i 'LOG ERR' /var/log/openvpnas.log | tail -20

Jekk ma jidher xejn, il-livell tal-log huwa l-indizjat li jmiss. L-Access Server għandu swiċċ tad-debug tal-bażi tad-data tal-log f'/usr/local/openvpn_as/etc/as.conf (DEBUG_LOGDB=1), u is-servizz irid jerġa' jibda wara li jinbidel. Ittratta dak is-swiċċ bħala sett tad-dijanjostika li għandu jerġa' jitniżżel ladarba jkollok il-mudell tiegħek, mhux bħala konfigurazzjoni permanenti.

Waqt li tkun fil-fajl, innota liema wiċċ jikteb fih. Il-fallimenti tal-portal tal-klijent, tal-interfaċċa tal-amministrazzjoni u tal-awtentikazzjoni tal-mina jispiċċaw fl-istess fajl b'markaturi differenti, u dak id-dettall jiddeċiedi aktar tard it-tqassim tal-jail.

Ankara filtru wieħed fuq real_ip

Żomm l-espressjoni dejqa. Filtru li jitlob kull linja li fiha indirizz IP se jbblokka nies għal skonnessjonijiet ordinarji, u fuq server impenjat l-uniku sintomu huwa l-utenti jilmentaw li ġew imblukkati għax għalqu laptop. Itlob ir-rekord tal-iżball u aqbad l-indirizz bejn virgoletti:

# /etc/fail2ban/filter.d/openvpnaccess.local
[Definition]
failregex = ^ .*LOG ERR.*"real_ip": "<HOST>".*
ignoreregex =

L-ispazju tal-bidu mhuwiex kosmetiku. L-Access Server idaħħal ir-rekords tiegħu, u l-ankraġġ fuqu jipprevjeni l-mudell milli jitlob ukoll linji li servizzi mhux relatati jiktbu fl-istess fajl. Jekk ir-rekords tiegħek minflok għandhom timestamp fil-bidu, qabbel dak il-prefiss, imma ankra fuq xi ħaġa li tabilħaqq hija preżenti f'kull rekord li beħsiebek titlob.

Meta għandek bżonn preċiżjoni skont il-wiċċ, dejjaq aktar billi titlob il-markatur tal-wiċċ (WEB_CLIENT, WEB_ADMIN jew VPN) fl-istess linja. Filtru wieħed b'tliet mudelli huwa eħfef biex jiġi awditjat minn tliet filtri li jvarjaw b'kelma waħda.

Ipprova l-espressjoni qabel ma tattiva jail

Qatt ma tattiva filtru li ma ħadtx kontra l-log tal-produzzjoni. It-test dokumentat jgħaddi l-filtru darbtejn, darba biex jgħabbi u darba biex japplika, u r-rapport tal-linji mitlufa huwa l-parti li jistħoqqilha tinqara:

fail2ban-regex --print-all-missed /var/log/openvpnas.log \
  /etc/fail2ban/filter.d/openvpnaccess.local \
  /etc/fail2ban/filter.d/openvpnaccess.local > missed.txt

Qabbel l-għadd ta' qbil mal-fallimenti li vverifikajt fl-ewwel pass. Żero qbil ifisser li l-mudell huwa ħażin; qbil fuq linji li mhumiex fallimenti tal-awtentikazzjoni jfisser li huwa wiesa' wisq. Aqra missed.txt sakemm tkun tista' tispjega kull linja li għażilt li ma titlobx.

Agħmel dan it-test fuq kopja jekk il-log huwa kbir, u erġa' għaddih wara kull aġġornament tal-Access Server. Il-format tal-log huwa l-interfaċċa li taqbel magħha, u mhuwiex API stabbli.

Aqsam il-jail skont il-wiċċ, mhux skont id-daemon

Access Server wieħed jippreżenta diversi wiċċ tal-awtentikazzjoni: interfaċċi web tal-klijent u tal-amministrazzjoni fuq 943/tcp, u l-mina fuq 1194/udp jew 443/tcp f'ħafna mill-varar. Jail wieħed li jkoprihom kollha jħalli t-tentattivi ta' tħassib fuq il-mina jbblukkaw indirizz li huwa wkoll it-triq tal-amministrazzjoni tiegħek, u jaħbi liema wiċċ qed jiġi attakkat tassew. Agħti lil kull wiċċ il-jail tiegħu bil-port u l-limiti tiegħu:

# /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  = 1h

Ibda b'kontaturi żgħar u blokk qasir, imbagħad għollihom ladarba tkun osservajt ġimgħa ta' traffiku veru. Limitu ġeneruż fuq indirizz tal-uffiċċju maqsum jikkastiga kull utent wara NAT wieħed, u blokk aggressiv fuq il-wiċċ tal-mina jaqta' klijenti leġittimi li l-kredenzjali maħżuna tagħhom skadew matul il-lejl.

Ivverifika l-blokk, il-backend u l-ħsara kollaterali

Wara t-tnedija mill-ġdid, l-output tal-istat huwa l-iktar konferma mgħaġġla li l-jail jeżisti u qed jgħodd:

fail2ban-client status
fail2ban-client status openvpnas-tunnel

Imbagħad ikkonferma li l-blokk jasal sal-firewall li tassew tmexxi, għax jail konfigurat għal backend li ħadd ma jinfurzah ma jipproteġi xejn. Bl-azzjoni iptables l-indirizzi jidhru f'katina msemmija għall-jail (f2b-openvpnas-tunnel); bl-azzjoni nftables jispiċċaw f'sett fit-tabella tal-fail2ban stess. Iċċekkja dak li juża l-host tiegħek minflok tassumi.

Żewġ verifiki kollaterali jiswew aktar mill-blokk innifsu. L-ewwel, ivverifika li real_ip huwa l-indirizz tal-klijent u mhux bilanċatur tat-tagħbija jew proxy invers; wara proxy kull blokk jinżel fuq il-proxy u jġib miegħu s-servizz kollu. It-tieni, ikteb il-proċedura tal-iżblukkar, għax l-indirizz li jaqbeż il-limitu fl-02:00 normalment ikun tal-inġinier ta' sejħa: fail2ban-client set openvpnas-tunnel unbanip 203.0.113.24.

Żomm il-limitu f'moħħok waqt l-irfinar. Fail2ban huwa limitu tar-rata fuq wiċċ tal-awtentikazzjoni wieħed, mhux saff tal-kontroll tal-aċċess. Ma jissostitwix MFA, restrizzjonijiet għal kull kont jew iż-żamma tal-interfaċċa tal-amministrazzjoni barra mill-internet pubbliku, u l-Access Server għandu l-ambjenti autoban tiegħu li jistħoqqilhom jiġu ċċekkjati qabel ma tistiva żewġ limitaturi tar-rata fuq l-istess port.

Artikli relatati