Fail2ban на VPN гејтвеју: шта исправља, а шта не
Fail2ban блокира изворе који падну у вашим записима и то је све. Да ли помаже VPN гејтвеју зависи од површине за пријаву и од тога ко дели адресу.
Свака изложена услуга добије исти савет: ставите fail2ban на њу. За VPN гејтвеј тај савет није ни погрешан ни довољан, а управо третирање тога као обавезне кућице при очвршћивању доводи до тога да људи заврше са затвором (jail) који не блокира ништа корисно. Fail2ban чита записе о неуспеху на које га упутите и тражи од позадине за спровођење да блокира одговарајуће изворе. Његова цела вредност зависи од тога која је површина за проверу идентитета произвела запис, да ли је адреса у њему прави клијент и шта се дешава са свима осталима иза те адресе.
Шта је fail2ban механички
Филтер упарује линије у запису, затвор броји поклапања по извору, а акција примењује блокаду кроз позадину заштитног зида. Три покретна дела, а сваки може бити погрешан независно.
Ниједан од три не дира пут провере идентитета: fail2ban реагује на доказе након чињенице и никада сам не проверава акредитив. Затвор зато може радити беспрекорно док површина коју именује остаје тачно онолико изложена као и пре.
Слушалац тунела није образац за пријаву
Слушалац OpenVPN заштићен са tls-auth или tls-crypt одбацује пакете без заштите контролног канала пре него што почне уобичајена TLS обрада. Скенер који никада нема кључ не ствара ништа што ваш филтер може избројати. Провера идентитета сертификатом додаје још једна врата, јер нема лозинке коју би се могло погодити. Пројекат Fail2ban документује општи модел вођен записима, а генерички VPN филтер не претвара неаутентификовани пакет у смислен догађај неуспеха.
Ако гејтвеј прихвата само сертификате, прича о brute-force нападу од које се браните можда уопште не постоји на том порту.
Па коју површину штите?
Исти хост често излаже три различите ствари: слушалац тунела, портал за профиле клијената или самопослуживање и административну страницу. Портал и административна страница имају обрасце за лозинку и производе линије записа које филтер може избројати. Тунел може производити само грешке руковања које значе нешто сасвим друго. Упарите затвор са површином, а не са именом производа.
Један затвор који гледа погрешан запис гори је од никаквог, јер ствара поверење без покривености. Усмерите филтер за пријаву на грешке руковања тунела и бројач ће се активирати на скенерима који никада нису имали кључ, док напад лозинком на портал остаје неизбројан. Прочитајте линију записа коју филтер упарује пре него што поверујете броју затвора.
Приписивање извора је слаба карика
Блокада је добра онолико колико је добра адреса коју циља. Када услуга стоји иза локалног обрнутог проксија, адреса клијента у запису може бити прокси, а блокирање проксија уклања све. Поверење у прослеђено заглавље из непоузданог извора даје нападачу могућност да блокира произвољне адресе. На UDP-у се изворне адресе могу фалсификовати, па њихово бројање заслужује више пажње од бројања завршене TCP пријаве.
Запишите методу приписивања извора у README затвора, јер прослеђено заглавље из непоузданог скока претвара блокаду у оружје.
Споредна цена су други људи
Неколико запослених иза једног канцеларијског NAT-а дели адресу, па једна застарела сачувана лозинка може закључати целу канцеларију када се праг прекорачи. Запис показује један извор и један налог који нису успели, а не испад на нивоу целе канцеларије.
Кратке блокаде и умерени прагови то смањују, а документована путања за укидање блокаде смањује оптерећење подршке када се ипак догоди. Адреса је груб сигнал, а не идентитет, а особа која отвори тикет описаће испад, а не праг.
Када то усвојити, а када поправити нешто друго
Усвојите га када постоји стварни, приписиви, поновљени неуспех онлајн пријаве на површини коју контролишете и када позадина за спровођење заиста покрива ту површину. Поправите нешто друго када је проблем слаба политика акредитива, административна страница изложена интернету или налог који се успешно пријављује јер је компромитован. Блокада не може поправити ништа од тога и не може апсорбовати саобраћај који је већ заситио ваш uplink. Тај последњи проблем припада узводно, некоме ко може филтрирати пре него што пакети стигну до вас.
Држите сваки затвор везан за једну површину, прегледајте лажне позитиве и мерите избегнути посао провере идентитета, а не број блокираних адреса.