EQVPS

Så ställer du in fail2ban för att blockera brute-force-attacker

Stoppa det ständiga lösenordsgissandet mot din server: fail2ban övervakar dina loggar och bannar automatiskt IP-adresser som misslyckas med inloggning för många gånger. Installera det, aktivera SSH-jailen och finjustera bannreglerna — på några kommandon.

Även med allt annat låst kör bottar aldrig ur att gissa lösenord mot port 22 — det är konstant brus och belastning i bakgrunden. fail2ban övervakar dina loggar och bannar automatiskt varje IP som misslyckas med inloggning för många gånger, så att angriparna stängs ute efter några försök i stället för att gissa i evighet. Det är en liten installation och en stor minskning av loggspam.

1. Installera fail2ban

sudo apt update && sudo apt install -y fail2ban

2. Skapa en lokal konfiguration

Redigera aldrig den medföljande jail.conf direkt — åsidosätt den i jail.local:

sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# banna inte dig själv — lägg till din hem-/kontors-IP
ignoreip = 127.0.0.1/8 ::1
bantime  = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

Det bannar en IP i en timme efter 5 misslyckade inloggningar inom 10 minuter. Lägg till din egen IP i ignoreip så att ett feltippat lösenord aldrig låser ute dig.

3. Starta det och aktivera vid uppstart

sudo systemctl enable --now fail2ban

4. Kontrollera SSH-jailen

sudo fail2ban-client status sshd

Du ser hur många IP-adresser som är bannade just nu — ofta ett förvånande antal inom några minuter.

Hantera banningar

sudo fail2ban-client set sshd unbanip 1.2.3.4   # häv en ban
sudo fail2ban-client status                     # lista alla jails
sudo systemctl reload fail2ban                  # tillämpa konfigurationsändringar

Ärliga varningar

Nästa steg

fail2ban är ett lager i en härdad server. Kombinera det med SSH-nyckelautentisering och en UFW-brandvägg, och gå igenom hela säkerhetschecklistan för en ny VPS innan du exponerar något mot internet.

FAQ

Vad gör fail2ban egentligen?

Det övervakar loggfiler (som SSH-auth-loggen) för upprepade misslyckanden från samma IP, och när en IP passerar ett tröskelvärde lägger det till en tillfällig brandväggsban. Bottarna som bankar på port 22 dygnet runt blockeras efter några försök i stället för att gissa i evighet. Det är automatiskt, löpande skydd.

Behöver jag fail2ban ändå om jag använder SSH-nycklar?

De löser olika problem. SSH-nycklar gör gissning i praktiken omöjlig; fail2ban stoppar bruset och belastningen från oändliga försök, och skyddar alla andra tjänster du exponerar (mail, webbinloggningar). Med endast nyckelbaserad SSH är risken redan låg, men fail2ban är billigt djupförsvar och minskar loggspammet.

Kan fail2ban banna mig av misstag?

Ja, om du klantar till ditt eget lösenord flera gånger — då blir du bannad under bantime och sedan automatiskt avbannad. För att aldrig låsa ute dig själv, lägg till din egen IP i 'ignoreip' i konfigurationen, och kom ihåg att en leverantörskonsol (EQVPS har en) alltid tar dig tillbaka in.

Hur ser jag vem som är bannad, eller avbannar en IP?

Använd 'sudo fail2ban-client status sshd' för att se jailen och bannade IP-adresser. För att häva en ban: 'sudo fail2ban-client set sshd unbanip 1.2.3.4'. För att permanent lägga till en betrodd IP, lägg den i ignoreip och ladda om.

Vad är bantime, findtime och maxretry?

maxretry är hur många misslyckanden som tillåts, findtime är fönstret de räknas inom, och bantime är hur länge bannen varar. Till exempel utlöser 5 misslyckanden inom 10 minuter en 1-timmes ban. Höj bantime (eller sätt ett längre värde) för mer ihärdiga angripare.

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.