5 parasta OpenSSH-palvelimen parasta suojauskäytäntöä


SSH (Secure Shell) on avoimen lähdekoodin verkkoprotokolla, jota käytetään paikallisten tai Linux-etäpalvelimien yhdistämiseen tiedostojen siirtämiseen, etävarmuuskopiointiin, komentojen etäsuoritukseen ja muihin verkkoon liittyviin tehtäviin sftp-komennon avulla kahden palvelimen välillä, jotka muodostavat yhteyden suojattu kanava verkon yli.

Tässä artikkelissa näytän sinulle joitain yksinkertaisia työkaluja ja temppuja, jotka auttavat sinua tiukentamaan ssh-palvelimesi suojausta. Täältä löydät hyödyllistä tietoa ssh-palvelimien suojaamisesta ja estämisestä raakaa voimaa ja sanakirjahyökkäyksiä vastaan.

1. DenyHosts

DenyHosts on avoimen lähdekoodin lokipohjainen tunkeutumisen eston suojausskripti SSH-palvelimille, joka on kirjoitettu python-ohjelmointikielellä ja joka on tarkoitettu Linuxin järjestelmänvalvojien ja käyttäjien käytettäväksi valvomaan ja analysoimaan SSH-palvelimen käyttölokeja epäonnistuneiden kirjautumisyritysten varalta. sanakirjapohjaiset hyökkäykset ja raakavoimahyökkäykset.

Komentosarja toimii estämällä IP-osoitteet tietyn määrän epäonnistuneiden kirjautumisyritysten jälkeen ja estää myös tällaisten hyökkäysten pääsyn palvelimeen.

  • Pitää kirjaa tiedostosta /var/log/secure löytääkseen kaikki onnistuneet ja epäonnistuneet kirjautumisyritykset ja suodattaa ne.
  • Pitää silmällä kaikkia käyttäjän ja loukkaavan isännän epäonnistuneita kirjautumisyrityksiä.
  • Seuraa edelleen jokaista olemassa olevaa ja ei-olemassa olevaa käyttäjää (esim. xyz), kun epäonnistunut kirjautuminen yrittää.
  • Pitää kirjaa jokaisesta loukkaavasta käyttäjästä, isännästä ja epäilyttävistä kirjautumisyrityksistä (jos useita kirjautumisvirheitä) estää IP-osoitteen isännöinnin lisäämällä merkinnän /etc/hosts.deny-tiedostoon.
  • Valinnaisesti lähettää sähköposti-ilmoituksen uusista estetyistä isännistä ja epäilyttävistä kirjautumisista.
  • Säilyttää myös kaikki kelvolliset ja virheelliset epäonnistuneet käyttäjien kirjautumisyritykset erillisissä tiedostoissa, jotta hyökkäyksen kohteena olevan kelvollisen tai virheellisen käyttäjän tunnistaminen on helppoa. Jotta voimme poistaa kyseisen tilin tai vaihtaa salasanan tai poistaa shellin käytöstä kyseiseltä käyttäjältä.

[Saatat pitää myös: Kuinka estää SSH Brute Force -hyökkäykset DenyHostsia käyttämällä]

2. Fail2Ban

Fail2ban on yksi suosituimmista python-ohjelmointikielellä kirjoitetuista avoimen lähdekoodin tunkeutumisen havaitsemis- ja estokehyksistä. Se toimii tarkistamalla lokitiedostoja, kuten /var/log/secure, /var/log/auth.log, /var/log/pwdfail jne. liian monien epäonnistuneiden kirjautumisyritysten varalta.

Fail2bania käytetään Netfilter/iptables- tai TCP Wrapperin hosts.deny-tiedoston päivittämiseen, hyökkääjän IP-osoitteen hylkäämiseen tietyksi ajaksi. Sillä on myös mahdollisuus poistaa estetty IP-osoite estetty järjestelmänvalvojien määrittämäksi ajaksi. Tietty minuutti porttikiellon poistamista on kuitenkin enemmän kuin tarpeeksi pysäyttämään tällaiset haitalliset hyökkäykset.

  • Monisäikeinen ja erittäin muokattava.
  • Tuki lokitiedostojen kiertoon ja pystyy käsittelemään useita palveluita, kuten (sshd, vsftpd, apache jne.).
  • Seuraa lokitiedostoja ja etsii tunnettuja ja tuntemattomia malleja.
  • Käyttää Netfilter/Iptables- ja TCP Wrapper (/etc/hosts.deny) -taulukkoa hyökkääjien IP-osoitteen kieltämiseen.
  • Suorittaa komentosarjat, kun tietty malli on tunnistettu samalle IP-osoitteelle yli X kertaa.

[Saatat pitää myös: Kuinka käyttää Fail2bania Linux-palvelimesi suojaamiseen]

3. Poista Root Login käytöstä

Oletusarvoisesti Linux-järjestelmät on esikonfiguroitu sallimaan ssh-etäkirjautumiset kaikille, mukaan lukien pääkäyttäjälle itselleen, jolloin kaikki voivat kirjautua suoraan järjestelmään ja saada pääkäyttäjän oikeudet. Huolimatta siitä, että ssh-palvelin mahdollistaa turvallisemman tavan poistaa root-kirjautumiset käytöstä tai ottaa käyttöön, on aina hyvä idea poistaa pääkäyttäjän oikeudet käytöstä, mikä pitää palvelimet hieman suojattuna.

On niin monia ihmisiä, jotka yrittävät raa'alla väkivallalla saada root-tilejä SSH-hyökkäyksillä yksinkertaisesti toimittamalla eri tilinimiä ja salasanoja peräkkäin. Jos olet järjestelmänvalvoja, voit tarkistaa ssh-palvelimen lokit, joista löydät useita epäonnistuneita kirjautumisyrityksiä. Suurin syy useiden epäonnistuneiden kirjautumisyritysten takana on riittävän heikko salasana, mikä on järkevää hakkereiden/hyökkääjien yrittää.

Jos sinulla on vahvat salasanat, olet todennäköisesti turvassa, mutta on parempi poistaa pääkäyttäjän kirjautuminen käytöstä ja kirjautua sisään tavallisella erillisellä tilillä ja käyttää sitten sudo- tai su-komentoa päästäksesi pääkäyttäjään aina tarvittaessa.

[Saatat pitää myös: Kuinka poistaa SSH-juurikirjautuminen käytöstä ja rajoittaa SSH-käyttöä Linuxissa]

4. Näytä SSH-banneri

Tämä on yksi vanhimmista saatavilla olevista ominaisuuksista ssh-projektin alusta lähtien, mutta en ole nähnyt sitä kenenkään käyttävän. Joka tapauksessa mielestäni se on tärkeä ja erittäin hyödyllinen ominaisuus, jota olen käyttänyt kaikissa Linux-palvelimissani.

Tämä ei ole turvallisuussyistä, mutta tämän bannerin suurin etu on, että sitä käytetään näyttämään ssh-varoitusviestejä YK:n valtuuttamille käyttäjille ja tervetuloviestejä valtuutetuille käyttäjille ennen salasanakehotetta ja käyttäjän kirjautumisen jälkeen.

[Saatat pitää myös: Kuinka suojata SSH-kirjautumiset SSH- ja MOTD-banneriviesteillä]

5. Salasanaton SSH-kirjautuminen

SSH-salasanaton sisäänkirjautuminen SSH-avaingenillä luo luottamussuhteen kahden Linux-palvelimen välille, mikä tekee tiedostojen siirrosta ja synkronoinnista paljon helpompaa.

Tämä on erittäin hyödyllistä, jos käsittelet automaattista etävarmuuskopiointia, komentosarjojen etäsuoritusta, tiedostojen siirtoa, komentosarjan etähallintaa jne. ilman salasanaa joka kerta.

[ Saatat pitää myös: Kuinka määrittää salasanaton SSH-kirjautuminen Linuxissa [3 helppoa vaihetta] ]

Voit suojata SSH-palvelimesi paremmin lukemalla artikkelimme OpenSSH-palvelimen suojaamisesta ja vahvistamisesta