En av de vanligste angrepsvektorene mot servere er brute force-påloggingsforsøk. Dette er hvor angripere prøver å få tilgang til serveren din, og prøver uendelige kombinasjoner av brukernavn og passord.
For slike problemer den raskeste og mest effektive løsningen er å begrense antall forsøk og blokkere tilgang til brukeren eller IP-en for en viss tid. Det er også viktig å vite at det for dette også er åpen kildekode-applikasjoner spesielt designet for å forsvare seg mot denne typen angrep.
I dagens innlegg, Jeg vil introdusere deg en heter Fail2Ban. Opprinnelig utviklet av Cyril Jaquier i 2004, er Fail2Ban et programvarerammeverk for inntrenging som beskytter servere mot brute force-angrep.
Om Fail2ban
Fail2ban skanner loggfiler (/ var / log / apache / error_log) og forbyr IP-er som viser ondsinnet aktivitet, som for mange feilpassord og søke etter sårbarheter osv.
En generell Fail2Ban brukes til å oppdatere brannmurreglene for å avvise IP-adresser i en bestemt tid, selv om andre vilkårlige handlinger (for eksempel sende en e-post) også kan konfigureres.
Installere Fail2Ban på Linux
Fail2Ban finnes i de fleste repositoriene til de viktigste Linux-distribusjonene, og mer spesifikt i de mest brukte for bruk på servere, som CentOS, RHEL og Ubuntu.
I tilfelle Ubuntu, skriv bare inn følgende for installasjon:
sudo apt-get update && sudo apt-get install -y fail2ban
Mens det gjelder Centos og RHEL, må de skrive inn følgende:
yum install epel-release
yum install fail2ban fail2ban-systemd
Hvis du har SELinux, er det viktig å oppdatere retningslinjene med:
yum update -y selinux-policy*
Når dette er gjort, bør de vite i forgrunnen at Fail2Ban-konfigurasjonsfilene er i / etc / fail2ban.
Konfigurasjonen av Fail2Ban er hovedsakelig delt inn i to nøkkelfiler; disse er fail2ban.conf og jail.conf. fail2ban.confes den større Fail2Ban-konfigurasjonsfilen, hvor du kan konfigurere innstillinger som:
- Loggnivået.
- Filen du skal logge på.
- Prosess-sokkelfilen.
- Filen pid.
jail.conf er der du konfigurerer alternativer som:
- Konfigurasjonen av tjenestene for å forsvare.
- Hvor lenge å forby hvis de skulle bli angrepet.
- E-postadressen for å sende rapporter.
- Handlingen som skal utføres når et angrep oppdages.
- Et forhåndsdefinert sett med innstillinger, for eksempel SSH.
Konfigurasjon
Nå skal vi gå videre til konfigurasjonsdelen, Det første vi skal gjøre er en sikkerhetskopi av vår jail.conf-fil med:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Og vi fortsetter å redigere nå med nano:
nano /etc/fail2ban/jail.local
Inne går vi til [Standard] -delen der vi kan gjøre noen justeringer.
Her i "ingoreip" -delen er IP-adressene som blir utelatt og de vil bli fullstendig ignorert av Fail2Ban, det er i utgangspunktet serverens IP (den lokale) og de andre som du mener bør ignoreres.
Derfra og ut de andre IP-ene som har mislykket tilgang vil være nådd for å bli utestengt og vent på antall sekunder det vil bli utestengt (som standard er det 3600 sekunder) og at fail2ban bare virker etter 6 mislykkede forsøk
Etter den generelle konfigurasjonen vil vi nå indikere tjenesten. Fail2Ban har allerede noen forhåndsdefinerte filtre for forskjellige tjenester. Så bare gjør noen tilpasninger. Her er et eksempel:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Når de relevante endringene er gjort, må du endelig laste inn Fail2Ban på nytt:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
Når dette er gjort, la oss gjøre en rask sjekk for å se at Fail2Ban kjører:
sudo fail2ban-client status
Unban en IP
Nå som vi med suksess har utestengt en IP, hva om vi ønsker å oppheve en IP? For å gjøre det, kan vi igjen bruke fail2ban-klient og fortelle det å fjerne en spesifikk IP, som i eksemplet nedenfor.
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
Hvor "xxx ...." Det vil være IP-adressen du oppgir.
Bli den første til å kommentere