5 najboljih postupaka za zaštitu i zaštitu SSH poslužitelja


SSH (Secure Shell) je mrežni protokol otvorenog koda koji se koristi za povezivanje lokalnih ili udaljenih Linux poslužitelja za prijenos datoteka, izradu udaljenih sigurnosnih kopija, daljinsko izvršavanje naredbi i druge mrežne zadatke putem scp ili sftp između dva poslužitelja koji se povezuju na sigurnom kanalu preko mreža.

U ovom članku pokazat ću vam nekoliko jednostavnih alata i trikova koji će vam pomoći da pooštrite sigurnost ssh poslužitelja. Ovdje ćete pronaći neke korisne informacije o tome kako zaštititi i spriječiti ssh poslužitelj od grube sile i napada rječnika.

1. DenyHosts

DenyHosts je sigurnosna skripta za sprječavanje upada zasnovana na log zapisu zasnovana na zapisniku za SSH poslužitelje napisana je u programskom jeziku python koji su namjeravali pokretati administratori Linux sustava i korisnici za nadgledanje i analizu dnevnika pristupa SSH poslužitelja za neuspjele pokušaje prijave poznate kao napadi zasnovani na rječniku i grubi napadi sila napada. Skripta djeluje tako što zabranjuje IP adrese nakon određenog broja neuspjelih pokušaja prijave, a također sprječava pristup takvih servera poslužitelju.

  1. Prati/var/log/secure kako bi pronašao sve uspješne i neuspjele pokušaje prijave i filtrirao ih.
  2. Nadgleda sve neuspjele pokušaje prijave korisnika i uvredljivog domaćina.
  3. Nadgleda svaki postojeći i nepostojeći korisnik (npr. xyz) kada pokušaju neuspješne prijave.
  4. Prati svaki pokušaj prijavljivanja korisnika, domaćina i sumnjivih pokušaja prijave (ako broj neuspjelih prijava) zabrani IP adresu hosta dodavanjem unosa u datoteku /etc/hosts.deny.
  5. Po želji e-poštom šalje obavijesti o novo blokiranim hostovima i sumnjivim prijavama.
  6. Također održava sve valjane i nevaljane neuspjele pokušaje prijave korisnika u zasebnim datotekama, tako da olakšava prepoznavanje koji je važeći ili nevaljani korisnik napadnut. Dakle, da možemo izbrisati taj račun ili promijeniti lozinku ili onemogućiti ljusku za tog korisnika.

Pročitajte više: Instalirajte DenyHosts za blokiranje napada SSH poslužitelja u RHEL/CentOS/Fedora

2. Fail2Ban

Fail2ban je jedan od najpopularnijih okvira za otkrivanje/sprječavanje upada otvorenog koda napisan u programskom jeziku python. Djeluje skenirajući datoteke dnevnika kao što su/var/log/secure, /var/log/auth.log,/var/log/pwdfail itd. Zbog previše neuspjelih pokušaja prijave. Fail2ban se koristio za ažuriranje Netfilter/iptables ili datoteke hosts.deny TCP Wrappera, da odbije IP adresu napadača određeno vrijeme. Također ima mogućnost zabrane blokirane IP adrese na određeno vrijeme koje su postavili administratori. Međutim, dovoljne su određene minute zabrane da se zaustave takvi zlonamjerni napadi.

  1. Višenavojni i vrlo konfigurabilan.
  2. Podrška za rotaciju datoteka dnevnika i može se nositi s više usluga poput (sshd, vsftpd, apache itd.).
  3. Nadgleda datoteke dnevnika i traži poznate i nepoznate uzorke.
  4. Koristi tablicu Netfilter/Iptables i TCP Wrapper (/etc/hosts.deny) za zabranu IP napadača.
  5. Pokreće skripte kada je zadani obrazac identificiran za istu IP adresu više od X puta.

Pročitajte više: Instalirajte Fail2ban za sprečavanje napada SSH poslužitelja u RHEL/CentOS/Fedora

3. Onemogućite root prijavu

Prema zadanim postavkama Linux sustavi su konfigurirani tako da omogućuju ssh udaljene prijave za sve, uključujući korijenskog korisnika, što omogućuje svima da se izravno prijave u sustav i steknu root pristup. Unatoč činjenici da ssh poslužitelj omogućuje sigurniji način onemogućavanja ili omogućavanja root prijava, uvijek je dobra ideja onemogućiti root pristup, održavajući poslužitelje malo sigurnijima.

Toliko je ljudi koji pokušavaju grubo forsirati root račune putem SSH napada jednostavnim davanjem različitih imena računa i lozinki, jedno za drugim. Ako ste administrator sustava, možete provjeriti ssh zapisnike poslužitelja, gdje ćete pronaći broj neuspjelih pokušaja prijave. Glavni razlog brojnih neuspjelih pokušaja prijave jest posjedovanje dovoljno slabih lozinki i to hakeri/napadači imaju smisla pokušati.

Ako imate jake lozinke, vjerojatno ste na sigurnom, međutim bolje je onemogućiti prijavu za root i imati redoviti zasebni račun za prijavu, a zatim upotrijebiti sudo ili su za dobivanje root pristupa kad god je to potrebno.

Pročitajte više: Kako onemogućiti SSH root prijavu i ograničiti SSH pristup

4. Prikažite SSH natpis

Ovo je jedna od najstarijih značajki dostupnih od početka ssh projekta, ali teško da sam vidio da je itko koristi. U svakom slučaju osjećam njegovu važnu i vrlo korisnu značajku koju sam koristio za sve svoje Linux poslužitelje.

To nije u bilo kakvu sigurnosnu svrhu, ali najveća prednost ovog natpisa je što se koristi za prikaz ssh poruka upozorenja UN-ovome ovlaštenom pristupu i poruka dobrodošlice ovlaštenim korisnicima prije upita za lozinku i nakon što se korisnik prijavi.

Pročitajte više: Kako prikazati SSH i MOTD poruke s natpisima

5. SSH prijava bez lozinke

SSH prijava bez lozinke s SSH keygenom uspostavit će odnos povjerenja između dva Linux poslužitelja što znatno olakšava prijenos datoteka i sinkronizaciju. Ovo je vrlo korisno ako imate posla s daljinskim automatiziranim sigurnosnim kopijama, daljinskim izvršavanjem skripti, prijenosom datoteka, daljinskim upravljanjem skriptama itd. Bez unosa lozinke svaki put.

Pročitajte više: Kako postaviti SSH prijavu bez lozinke