5 parasta käytäntöä SSH-palvelimen suojaamiseen


SSH (Secure Shell) on avoimen lähdekoodin verkkoprotokolla, jota käytetään yhdistämään paikalliset tai etä Linux-palvelimet tiedostojen siirtämiseen, etävarmuuskopioiden tekemiseen, komentojen etäsuorittamiseen ja muihin verkkoon liittyviin tehtäviin scp: n tai sftp: n kautta kahden palvelimen välillä, joka muodostaa yhteyden suojatulla kanavalla yli verkko.

Tässä artikkelissa näytän sinulle yksinkertaisia työkaluja ja temppuja, jotka auttavat sinua kiristämään ssh-palvelimen tietoturvaa. Täältä löydät hyödyllistä tietoa siitä, kuinka suojata ja estää ssh-palvelin raakaa voimaa ja sanakirjoja vastaan.

1. DenyHosts

DenyHosts on avoimen lähdekoodin lokipohjainen tunkeutumisen estoturvaohjelma SSH-palvelimille. Se kirjoitettiin python-ohjelmointikielellä, jonka Linux-järjestelmänvalvojat ja -käyttäjät halusivat suorittaa seuratakseen ja analysoimalla SSH-palvelimen pääsylokeja epäonnistuneille kirjautumisyrityksille. voimahyökkäykset. Komentosarja toimii kieltämällä IP-osoitteet asetettujen epäonnistuneiden kirjautumisyritysten jälkeen ja estää myös tällaisten hyökkäysten pääsyn palvelimelle.

  1. Seuraa/var/log/secure -toimintoa löytääksesi kaikki onnistuneet ja epäonnistuneet kirjautumisyritykset ja suodattaa ne.
  2. Tarkkailee kaikkia käyttäjän ja loukkaavan isännän epäonnistuneita kirjautumisyrityksiä.
  3. Seuraa jokaista olemassa olevaa ja olematonta käyttäjää (esim. xyz), kun epäonnistunut sisäänkirjautuminen yrittää.
  4. Seuraa jokaista loukkaavaa käyttäjää, isäntää ja epäilyttäviä kirjautumisyrityksiä (jos kirjautumisvirheiden lukumäärä) kieltää isännän IP-osoitteen lisäämällä merkinnän tiedostoon /etc/hosts.deny.
  5. lähettää vaihtoehtoisesti sähköposti-ilmoituksia uusista estetyistä isännistä ja epäilyttävistä kirjautumisista.
  6. Ylläpitää myös kaikki kelvolliset ja virheelliset epäonnistuneet käyttäjän kirjautumisyritykset erillisissä tiedostoissa, jotta on helppo tunnistaa kelvollinen tai virheellinen käyttäjä, johon hyökkäys kohdistuu. Joten voimme poistaa kyseisen tilin tai vaihtaa salasanan tai poistaa käytöstä käyttäjän kuoren.

Lue lisää: Asenna DenyHosts estääksesi SSH-palvelinten hyökkäykset RHEL/CentOS/Fedorassa

2. Fail2Ban

Fail2ban on yksi suosituimmista avoimen lähdekoodin tunkeutumisen havaitsemis-/estokehyksistä, joka on kirjoitettu python-ohjelmointikielellä. Se toimii skannaamalla lokitiedostoja, kuten/var/log/secure, /var/log/auth.log,/var/log/pwdfail jne. Liian monille epäonnistuneille kirjautumisyrityksille. Fail2ban käytti Netfilter/iptables- tai TCP Wrapper's hosts.deny -tiedoston päivittämiseen hyökkääjän IP-osoitteen hylkäämistä tietyksi ajaksi. Sillä on myös kyky poistaa estetyn IP-osoitteen tietyn ajan järjestelmänvalvojien asettamaksi ajaksi. Tietyt minuutit unbanin riittää kuitenkin estämään tällaiset haitalliset hyökkäykset.

  1. Monisäikeinen ja erittäin konfiguroitava.
  2. Tuki lokitiedostojen vuorottelulle ja pystyy käsittelemään useita palveluita, kuten (sshd, vsftpd, apache jne.).
  3. Seuraa lokitiedostoja ja etsii tunnettuja ja tuntemattomia malleja.
  4. Käyttää Netfilter/Iptables- ja TCP Wrapper (/etc/hosts.deny) -taulukkoa hyökkääjien IP: n estämiseen.
  5. Suorittaa komentosarjoja, kun tietty malli on tunnistettu samalle IP-osoitteelle yli X kertaa.

Lue lisää: Asenna Fail2ban estääksesi SSH-palvelinten hyökkäykset RHEL/CentOS/Fedora-palvelussa

3. Poista Root Login

Oletusarvoisesti Linux-järjestelmät on konfiguroitu sallimaan ssh-etätunnukset kaikille, myös pääkäyttäjälle, mikä antaa kaikille mahdollisuuden kirjautua suoraan järjestelmään ja saada pääkäyttäjät. Huolimatta siitä, että ssh-palvelin sallii turvallisemman tavan poistaa tai sallia pääkäyttäjätunnukset, on aina hyvä poistaa pääkäyttöoikeudet, jolloin palvelimet ovat hieman turvallisempia.

On niin monia ihmisiä, jotka yrittävät raakaa juuritilejä SSH-hyökkäysten kautta yksinkertaisesti toimittamalla eri tilien nimet ja salasanat yksi toisensa jälkeen. Jos olet järjestelmänvalvoja, voit tarkistaa ssh-palvelimen lokit, mistä löydät epäonnistuneita kirjautumisyrityksiä. Tärkein syy epäonnistuneiden sisäänkirjausyritysten lukumäärään on riittävän heikko salasana, mikä on järkevää hakkereiden/hyökkääjien yrittää.

Jos sinulla on vahvat salasanat, olet todennäköisesti turvallinen, mutta on parempi poistaa juurihakemisto käytöstä ja sinulla on säännöllinen erillinen tili kirjautumiseen, ja käytä sitten sudoa tai su päästäksesi pääkäyttäjälle tarvittaessa.

Lue lisää: Kuinka poistaa SSH-juuritunnus ja Limite SSH -käyttö

4. Näytä SSH-banneri

Tämä on yksi vanhimmista ominaisuuksista ssh-projektin alusta lähtien, mutta tuskin olen nähnyt kenenkään käyttävän sitä. Joka tapauksessa tunnen sen tärkeän ja erittäin hyödyllisen ominaisuuden, jota olen käyttänyt kaikissa Linux-palvelimissani.

Tätä ei ole tarkoitettu mihinkään tietoturvatarkoitukseen, mutta tämän bannerin suurin hyöty on, että sitä käytetään näyttämään ssh-varoitusviestejä YK: n valtuuttamille pääsyille ja tervetuloa viesteille valtuutetuille käyttäjille ennen salasanakehotetta ja käyttäjän kirjautumisen jälkeen.

Lue lisää: Kuinka näyttää SSH- ja MOTD-banneriviestit

5. SSH-salasanainen kirjautuminen

SSH-salasanattomalla sisäänkirjautumisella SSH-avaimen avulla luodaan luottamussuhde kahden Linux-palvelimen välille, mikä helpottaa tiedostojen siirtämistä ja synkronointia. Tämä on erittäin hyödyllistä, jos olet tekemisissä automaattisten etävarmuuskopioiden, komentosarjojen etäsuorittamisen, tiedostojen siirron, komentosarjojen etähallinnan jne. Kanssa ilman salasanaa joka kerta.

Lue lisää: Kuinka asettaa SSH-salasanaton kirjautuminen