Så här skyddar du SSH mot lösenordsattacker med denyhosts  

Postat av rancor under ,

Alla vi som har SSH-server aktiverat har säkert sätt i loggarna att det pågår försök att logga in i maskinen med olika användarnamn. Vi som använder Ubuntu har ett ganska bra grundläggande skydd eftersom root inte som standard tillåts att logga in och då gäller det för dem som attackerar att veta vilket användarnamn som skall användas villket inte är så lätt.

Titta själv efter intrångsförsök, skriv följande kommando i terminalen

zgrep "authentication failure;" /var/log/auth*
Samtliga rader som dyker upp är de felaktiga inloggningar som systemet har i sina loggar.

Bästa sättet att skydda sig är att stänga SSH i brandväggen och endast öppna för de IP-adresser som du vill fjärrstyra din dator från men det är kanske inte möjligt alla gånger eftersom man kanske kommer från olika IP-adresser varje gång.

denyhosts är ett program som konstant övervakar loggarna och som aktivt spärrar IP-adresser som misslyckas med att logga in. Efter 5 misslyckade försök spärras normalt IP-adressen för all framtid. Tiden är ställbar, lika så hur många försök man skall få på sig innan IP-adressen spärras.

Installera denyhosts i Ubuntu
Installationen är mycket lätt, skriv följande i terminalen:
sudo apt-get install denyhosts
Programmet startar automatiskt och du har nu ett bra grundläggande skydd.

Alla IP-adresser som blockeras finns att hitta i /etc/hosts.deny, det kommer även stå loggat i /var/log/denyhosts. För att radera en IP-adress som är spärrad redigerar du /etc/hosts.deny och tar bort önskad rad.

Konfigurera denyhosts
Om du vill ändra standardinställningen så att spärrade IP-adresser inte spärras för all framtid redigerar du /etc/denyhosts.conf och letar upp raden "PURGE_DENY =" och ersätter den med exempelvis något av följande.
  • 1 timme:
    PURGE_DENY = 1h
  • 1 dag:
    PURGE_DENY = 1d
  • 4 dagar:
    PURGE_DENY = 4d

Efter att du har ändrat inställningar måste du starta om denyhosts genom att skriva följande i terminalen:
sudo /etc/init.d/denyhosts restart
// rancor

3 kommentarer

Tackar för den! Har faktiskt velat ha något som detta, men aldrig letat efter det.

Falkinski   säger 19 maj 2009 kl. 20:30

Tack för en fin guide! Ser i configen att man har möjlighet till att lägga sin sin egen e-post så när en ip blir spärrad så får jag en e-post. Vet du hur man sätter upp detta med t ex gmail?

@Falkinski

Jag tror du bara behöver ändra e-postadress till den du vill få meddelanden till men du måste installera sendmail eller någon annan smtp-server på maskinen för att få iväg posten. Om du har t.ex. Bredbandsbolaget eller annan operatör som inte tillåter utgående trafik på port 25 så får du läsa hur du använder leverantörens smtp som smarthost.

// rancor

Skicka en kommentar