Block SSH Brute Force angrep ved hjelp SSHGuard

SSHGuard er en rask og lett overvåking verktøy skrevet i C-språk. Den overvåker og beskytter servere fra brute force angrep ved hjelp av sin logging aktivitet. Hvis noen prøver kontinuerlig å få tilgang til serveren via SSH med mange (kanskje fire) mislykkede forsøk, vil SSHGuard blokkere ham /henne for litt ved å sette deres IP-adresse i iptables. Så det frigjør låsen automatisk etter gang.


Ikke bare SSH, beskytter den nesten alle tjenester som sendmail, exim, dovecot, vsftpd, proftpd og mange. For mer informasjon, se den offisielle nettsiden

Installer SSHGuard

På Ubuntu /Debian.

 sk @ sk: ~ $ sudo apt-get install sshguard 

På CentOS /RHEL:

 [root @ server ~] # rpm ivh http://flexbox.sourceforge.net/centos/5/i386/sshguard-1.5-2.el5.i386.rpm

If du bruker forskjellig arkitektur, laste ned tilsvarende RPM her.

Konfigurer SSHGuard med

SSHGuard ikke har en konfigurasjonsfil Iptables /Netfilter
. Alt du trenger å gjøre er å lage en ny kjede for SSHGuard i iptables å sette blokkering regler

For IPv4-støtte.

 [root @ server ~] # iptables -N sshguard 

For IPv6.

 [root @ server ~] # ip6tables N sshguard 

Nå oppdaterer INPUT
kjeden å passere trafikken til sshguard
Spesifiser - dport
alternativet for å beskytte alle havnene i tjenester ved hjelp sshguard. Hvis du ønsker å hindre angripere fra å gjøre noe trafikk til verten, fjerne muligheten helt

Blokker all trafikk fra misbrukere

For IPv4-støtte:

 [root @ server ~ ] # iptables -A INPUT j sshguard 

For IPv6-støtte:

 [root @ server ~] # iptables -A INPUT j sshguard 

Blokkere bestemte tjenester som SSH, FTP, POP, IMAP fra misbrukere

For IPv4-støtte:

 [root @ server ~] # iptables -A INPUT -m multi -p tcp --destination-porter 21,22,110,143 j sshguard 

For IPv6-støtte.

 [root @ server ~] # ip6tables -A INPUT -m multi -p tcp --destination-porter 21,22,110,143-j sshguard 

Til slutt lagre iptables regel

 [root @ server ~] # tjenesteleverandører iptables saveiptables: Saving brannmurregler til /etc /sysconfig /iptables: [OK] 

Kontroller at du har IKKE en Standard tillate
regel passerer all ssh trafikk høyere i kjeden. Kontroller at du ikke har en Standard nekte
regel blokkerer all ssh trafikk i brannmuren. I begge tilfeller, du allerede har ferdigheter til å justere brannmuroppsettet

Her er en sample regelsett
som gir mening.

 [root @ server ~] # iptables N sshguard 

Blokker hva sshguard sier er dårlig:

 [root @ server ~] # iptables -A INPUT j sshguard 

Aktiver ssh, dns, http, https:

 [root @ server ~] # iptables -A INPUT -p tcp --dport 22 -j ACCEPT [root @ server ~] # iptables -A INPUT -p udp --dport 53 -j ACCEPT [root @ server ~] # iptables -A INPUT -P TCP --dport 80 -j ACCEPT [root @ server ~] # iptables -A INPUT -p tcp --dport 443 -j ACCEPT 

Blokker alt annet:

 [root server ~] # iptables -P INPUT DROP 

Konfigurer SSHGuard uten Iptables /Netfilter

Hvis du ikke bruker iptables, vil følgende kommandoer opprette og lagre en iptables konfigurasjon som gjør absolutt ingenting bortsett fra at sshguard til arbeid:

 [root @ server ~] # iptables -F [root @ server ~] # iptables -X [root @ server ~] # iptables -P INPUT ACCEPT [root @ server ~] # iptables -P FORWARD ACCEPT [root @ server ~] # iptables -P OUTPUT ACCEPT [root @ server ~] # iptables -N sshguard [root @ server ~] # iptables -A INPUT j sshguard 

Til slutt lagre iptables konfigurasjon:

 [root @ server ~] # tjenesteleverandører iptables saveiptables: Saving brannmurregler til /etc /sysconfig /iptables: [OK] 

Det var det. Nå du har installert og konfigurert SSHGuard å beskytte ssh, ftp og andre tjenester fra brute force angripere. Anmeldelser