Huomasin tänään kotitietokoneeni (Mavericks 10.9.4) järjestelmälogissa toistuvia yrityksiä kirjautua ssh-yhteyden kautta root-käyttäjätunnuksella sisään. Yritykset tulivat Pekingissä sijaitsevasta IP-osoitteesta, ja mitä ilmeisimmin niiden tarkoitus oli murtaa salasana bruteforce-menetelmällä.

Pienellä googlailulla tähän ongelmaan löytyi apuväline nimeltä fail2ban, jonka voi asentaa helposti Homebrew-työkalun kautta. Toimiakseen fail2ban tarvitsee vain asetustiedoston /usr/local/etc/fail2ban/jail.local, johon tehdään seuraavat asetukset:

[ssh-ipfw]
enabled  = true
filter   = sshd
action   = ipfw[localhost=192.168.0.69]
logpath  = /var/log/system.log

Asetuksissa mainittuna localhost-osoitteena käytin koneeni omaa IP-osoitetta, ja se näytti toimivan, vaikka tarkka merkitys jäi hieman epäselväksi.

Tämän jälkeen fail2ban käynnistetään Homebrewin ohjeiden mukaan Launch Daemonina ja se alkaa seurata system.log-tiedostoon ilmestyviä ilmoituksia epäonnistuneista kirjautumisista. Kolmen epäonnistuneen kirjautumisen jälkeen hakkerin IP-osoite estetään, ja silloin /var/log/fail2ban.log-tiedostoon puolestaan ilmestyy tämän tapaisia rivejä:

2014-08-26 19:51:35,421 fail2ban.actions[14563]: WARNING [ssh-ipfw] Ban 1.93.27.33
2014-08-26 20:01:35,771 fail2ban.actions[14563]: WARNING [ssh-ipfw] Unban 1.93.27.33

Fail2ban siis vapauttaa eston kymmenen minuutin kuluttua, jolloin hakkeri on toivon mukaan ehtinyt jo kyllästyä.