Om ’n adres te blokkeer en om ’n rekening te sluit is twee verskillende teenmaatreëls, en hulle faal in teenoorgestelde rigtings. Die adresverbod stop een bron en laat die rekening elders bereikbaar; die rekeningversperring stop die identiteit oral, ook op die regte gebruiker se eie masjien.

Vir ’n VPN wat stawing aan PAM delegeer, is die teller dit wat die PAM-stapel bereik, nie dit wat die luisteraar gelog het nie.

Twee tellers, twee verskillende slagoffers

’n Tempobeperker kyk na ’n bron en vra hoeveel pogings onlangs daarvan gekom het. ’n Slot kyk na ’n identiteit en vra hoeveel mislukkings daardie rekening opgeloop het. Die eerste beskerm beskikbaarheid, die tweede die geloofsbrief; nie een vervang die ander nie.

Daarom is ons blokkeer die IP ná vyf mislukkings nie ’n antwoord op ’n verslag oor gesteelde geloofsbriewe nie. Die aanvaller wissel bronne, elkeen kry min pogings, en die rekening word nooit getel nie. Omgekeerd laat ’n slot sonder bronbeheer ’n aanvaller die rekening onbepaald gesluit hou deur doelbewus te faal.

Die twee maatreëls het ook verskillende herstelverhale. ’n Adresverbod verval op ’n tydhouer waaraan niemand hoef te dink nie; ’n rekeningversperring kan ’n administrateur, ’n gedokumenteerde wagtyd of ’n selfdiens-herstel nodig hê.

Vind die stoor wat reeds die telling besit

Voordat jy iets byvoeg, bepaal of daar reeds ’n stoor vir mislukkings is. ’n Plaaslike rekening, ’n gidsdiens en ’n eksterne identiteitsverskaffer hou elkeen sy eie telling, en ’n PAM-module voor hulle skep ’n tweede eerder as om die eerste uit te brei.

grep -rnE 'faillock|pam_tally|pam_unix' /etc/pam.d/
ls -l /etc/pam.d/ | head -20

Lees die dienslêer wat die VPN werklik noem en volg die insluitlyne. Op baie verspreidings sluit die VPN-diens ’n gedeelde lêer in, wat beteken die telling wat jy instel, geld ook vir SSH en plaaslike aanmelding.

As die gids reeds ’n slot afdwing, is die nuttige vraag hoe die PAM-gesprek daardie besluit bereik en hoe die VPN dit rapporteer. ’n Plaaslike telling bo-op word nie die gids se teller nie, en die twee beleide kan verskil oor wanneer die rekening oopgesluit word.

pam_faillock het drie oproepposisies, nie een nie

Die module skei drie bewerkings wat een gekopieerde reël gewoonlik verdoesel: kyk of die rekening reeds gesluit is, die mislukking aanteken, en die geskiedenis ná ’n sukses skoonmaak. Die handleiding dokumenteer hulle as aparte oproepposisies, en die stapel besluit watter daarvan loop en in watter orde.

Dit is die deel wat ’n migrasie van ’n ouer tellermodule gewoonlik verkeerd kry. Om ’n reël uit ’n werkende pam_tally2-voorbeeld in ’n pam_faillock-stapel te kopieer is nie ’n hernoeming nie; ’n verkeerd geplaasde oproep kan mislukkings aanteken sonder om hulle ooit na te gaan.

faillock --user alice
faillock --user alice --reset

Die inspeksieprogram is die vinnigste manier om te sien of die teller werklik is: dit rapporteer die aangetekende mislukkings en kan hulle uitvee. As ’n beheerde mislukking daardie uitset nie verander nie, is die oproepposisie verkeerd.

’n Toegewyde diensnaam is nie isolasie nie

’n Eie PAM-dienslêer vir die VPN maak die bedoelde beleid sigbaar, maar beperk nie die uitwerking nie. Enige insluiting van ’n gedeelde lêer trek in wat daardie lêer doen, insluitend tellings wat stelselwyd geld.

Besluit uitdruklik of die slot net VPN-toegang dek of elke diens wat dieselfde rekening staaf. Beide antwoorde is verdedigbaar; die fout is om te glo jy het die een gekies terwyl die stapel die ander een uitvoer. Skryf die antwoord langs die dienslêer neer.

Reken dan die koste in. ’n Slot kan deur ’n aanvaller veroorsaak word, en die gebruiker wat ly, is die een aan wie die rekening behoort. Drempel, wagtyd en die administratiewe herstelpad is deel van die beleid.

Aanvaar die volgorde, nie ’n enkele verwerping nie

Toets met aangewese identiteite volgens ’n goedgekeurde plan, en toets ’n ketting eerder as ’n enkele gebeurtenis: ’n geldige rekening staaf, ’n doelbewuste verkeerde wagwoord skuif die teller, die ingestelde slot tree in werking, en die gedokumenteerde herstel gee toegang terug.

faillock --user test-vpn-01
journalctl -u openvpn-server@lab -n 30 --no-pager | grep -i 'auth\|pam'

Kyk net so sorgvuldig na die suksesgedrag. As ’n suksesvolle aanmelding nie die geskiedenis skoonmaak nie, sluit ’n rekening ná ’n langsame opeenhoping van gewone foute. As dit alles uit elke diens uitvee, is die teller swakker as wat die beleid beweer.

Stop laastens onbewaakte kliënte voordat jy oorwinning verklaar. ’n Gestoorde geloofsbrief wat in die agtergrond probeer, skep minute ná ’n herstel weer mislukkings en sluit die rekening weer. Tempobeperking op grond van die bron kan bly as bykomende beheer, maar dit is nie die rekeningbeleid nie.

Verwante artikels