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ä.