SSH-turvatoimet
Tässä artikkelissa listataan erilaisia keinoja joilla luvattomia SSH-kirjautumisia voidaan välttää ja riskejä rajata.
Fail2ban
- Lue myös pääartikkeli Fail2ban
Fail2ban-skripti seuraa kirjautumisyrityksiä, ja estää yhteydet määritellyksi ajaksi (esim. 15 minuuttia) IP-osoitteista, joista epäonnistuneita yrityksiä tulee liikaa. Tämä torjuu tehokkaasti mm. sanakirjahyökkäyksiä.
Hyvät salasanat
Salasana jää herkästi järjestelmän heikoimmaksi lenkiksi. Käytä esimerkiksi apg:tä salasanan generoimiseen. Pitkään on suositeltu että salasanoja ei laitettaisi lapulle, mutta mikäli taipumuksenasi on tämän sijaan käyttää samaa salasanaa joka paikassa, muistilapun laatiminen lienee sittenkin parempi vaihtoehto. Mikäli käytät jonkun koneen tiettyä SSH-tiliä vain yhdeltä koneelta, avainparilla tunnistautuminen ja salasanan lukitseminen (passwd -l) saattaisi olla hyvä ratkaisu.
Portin vaihto
SSH kuuntelee vakiona porttia 22, mutta sen voi laittaa johonkin muuhunkin porttiin ja torjua näin joitakin hyökkäyksiä. Laitat vain tiedostoon /etc/ssh/sshd_config seuraavasti:
#Port 22 #Entinen portti kommentoituna Port 54433 #Uusi portti
Pääkäyttäjänä kirjautumisen estäminen
Pääkäyttäjänä (root) kirjautumisen salliminen ssh-palvelimessa on hyvin riskialtista, sillä on olemassa monia haittaohjelmia, jotka yrittävät kirjautua ssh-palvelimelle kokeilemalla (ns. bruteforce) eri käyttäjätunnuksia ja salasanoja. Jos pääkäyttäjänä voi kirjautua, tällaisen ohjelman ei enää tarvitse muuta kuin kokeilemalla selvittää pääkäyttäjän salasana, jonka jälkeen pääsy koneeseen avautuu.
Pääkäyttäjän kirjautuminen voidaan estää muokkaamalla tiedostoa /etc/ssh/sshd_config. Tiedostossa pitäisi olla rivi
PermitRootLogin no
jos pääkäyttäjän kirjautumista ei sallita. Jos tiedostossa lukee PermitRootLogin yes, vaihda se yllä olevaan muotoon.
Jotta muutokset tulevat voimaan, on ssh-palvelin käynnistettävä uudelleen:
/etc/init.d/ssh restart