5 parimat tava SSH-serveri turvamiseks ja kaitsmiseks


SSH (Secure Shell) on avatud lähtekoodiga võrguprotokoll, mida kasutatakse kohalike või kaugserverite Linuxi ühendamiseks failide edastamiseks, kaugkoopiate tegemiseks, kaugkäskude täitmiseks ja muude võrguga seotud ülesannete jaoks scp või sftp kaudu kahe serveri vahel, mis ühendub turvalisel kanalil üle võrku.

Selles artiklis näitan teile lihtsaid tööriistu ja nippe, mis aitavad teil oma ssh-serveri turvalisust karmistada. Siit leiate kasulikku teavet selle kohta, kuidas kaitsta ja vältida ssh-serveri toore jõu ja sõnastiku rünnakuid.

1. DenyHosts

DenyHosts on avatud lähtekoodiga logipõhine sissetungi vältimise turbeskript SSH-serverite jaoks. See oli kirjutatud Pythoni programmeerimiskeeles, mis oli mõeldud Linuxi administraatorite ja kasutajate käituseks SSH-serveri juurdepääsulogide jälgimiseks ja analüüsimiseks nurjunud sisselogimiskatsete puhul. jõu rünnakud. Skript töötab nii, et keelab IP-aadressid pärast määratud arvu ebaõnnestunud sisselogimiskatseid ja takistab ka selliste rünnakute juurdepääsu serverile.

  1. Jälgib/var/log/secure kõiki edukate ja ebaõnnestunud sisselogimiskatsete leidmiseks ning neid filtreerib.
  2. Hoiab silma peal kõigil kasutaja ja rikkuva hostiga ebaõnnestunud sisselogimiskatsetel.
  3. Jälgib iga olemasolevat ja olematut kasutajat (nt xyz), kui ebaõnnestunud sisselogimist proovitakse.
  4. Jälgib kõiki rikkuvaid kasutajaid, hoste ja kahtlaseid sisselogimiskatseid (kui sisselogimisvigade arv) keelab IP-aadressi, lisades kirje faili /etc/hosts.deny.
  5. Valikuliselt saadab meilisõnumid värskelt blokeeritud hostide ja kahtlaste sisselogimiste kohta.
  6. Säilitab ka kõik kehtivad ja kehtetud ebaõnnestunud kasutaja sisselogimiskatsed eraldi failides, nii et see võimaldab hõlpsalt tuvastada, milline kehtiv või kehtetu kasutaja rünnatakse. Niisiis, et saaksime selle konto kustutada, parooli muuta või selle kasutaja shelli keelata.

Lisateave: installige DenyHosts SSH-serveri rünnakute blokeerimiseks RHEL/CentOS/Fedora

2. Fail2Ban

Fail2ban on üks populaarsemaid avatud lähtekoodiga sissetungide tuvastamise/ennetamise raamistikke, mis on kirjutatud pythoni programmeerimiskeeles. See toimib skannides logifaile nagu/var/log/secure, /var/log/auth.log,/var/log/pwdfail jne liiga paljude ebaõnnestunud sisselogimiskatsete korral. Fail2ban kasutas Netfilter/iptables või TCP Wrapper's hosts.deny faili värskendamiseks, et ründaja IP-aadress määratud aja jooksul tagasi lükata. Sellel on ka võimalus blokeeritud IP-aadressi tühistamine teatud aja jooksul, mille on määranud administraatorid. Selliste pahatahtlike rünnakute peatamiseks piisab aga teatud minutitest unban-ist.

  1. mitmekeermeline ja hästi konfigureeritav.
  2. Logifailide rotatsiooni tugi ja saab hakkama mitme teenusega, näiteks (sshd, vsftpd, apache jne).
  3. Jälgib logifaile ja otsib teadaolevaid ja tundmatuid mustreid.
  4. Ründajate IP keelamiseks kasutab tabelit Netfilter/Iptables ja TCP Wrapper (/etc/hosts.deny).
  5. Käivitab skripte, kui antud muster on samale IP-aadressile tuvastatud rohkem kui X korda.

Lisateave: SSH-serveri rünnakute vältimiseks installige Fail2ban RHEL/CentOS/Fedora

3. Keela juur sisselogimine

Vaikimisi on Linuxi süsteemid konfigureeritud lubama ssh-i sisselogimist kõigile, sealhulgas juurkasutajale endale, mis võimaldab kõigil otse süsteemi sisse logida ja juurjuurdepääsuks. Hoolimata asjaolust, et ssh-server võimaldab turvalisemat viisi juur-sisselogimiste keelamiseks või lubamiseks, on alati hea juurjuurdepääs keelata, hoides servereid veidi turvalisemana.

Nii palju on inimesi, kes üritavad juurekontosid jõuda SSH-rünnakute abil, esitades üksteise järel lihtsalt erinevad konto nimed ja paroolid. Kui olete süsteemiadministraator, saate kontrollida ssh-serveri logisid, kust leiate ebaõnnestunud sisselogimiskatsete arvu. Ebaõnnestunud sisselogimiskatsete arvu peamine põhjus on piisavalt nõrk parool ja see on häkkerite/ründajate jaoks mõttekas proovida.

Kui teil on tugevad paroolid, siis olete tõenäoliselt ohutu, kuid parem on keelata juur sisselogimine ja teil on sisselogimiseks regulaarne eraldi konto ning seejärel kasutada vajaduse korral juurjuurdepääsu saamiseks sudo või su.

Loe lähemalt: Kuidas keelata SSH juur sisselogimine ja Limite SSH juurdepääs

4. Kuva SSH bänner

See on üks vanimaid funktsioone, mis on ssh projekti algusest peale saadaval, kuid ma pole peaaegu näinud, et keegi seda kasutaks. Igatahes tunnen selle olulist ja väga kasulikku funktsiooni, mida olen kõigi oma Linuxi serverite jaoks kasutanud.

See ei ole mingil turvaeesmärgil, kuid selle bänneri suurim eelis on see, et seda kasutatakse ssh-hoiatusteadete kuvamiseks ÜRO volitatud juurdepääsuks ja tervitussõnumite saatmist volitatud kasutajatele enne parooliviiba ja pärast kasutaja sisselogimist.

Lisateave: Kuidas kuvada SSH- ja MOTD-ribareklaame

5. SSH paroolita sisselogimine

SSH-i paroolita sisselogimine SSH-võtmega loob kahe Linuxi serveri vahel usaldussuhte, mis muudab failide edastamise ja sünkroonimise palju lihtsamaks. See on väga kasulik, kui tegelete kaugautomaatse varundamise, kaugskriptimise käivitamise, failiedastuse, skripti kaughaldusega jne ilma iga kord parooli sisestamata.

Loe edasi: Kuidas seadistada SSH-i paroolita sisselogimine