5 labākās prakses SSH servera drošībai un aizsardzībai


SSH (Secure Shell) ir atvērtā pirmkoda tīkla protokols, ko izmanto, lai savienotu vietējos vai attālos Linux serverus, lai pārsūtītu failus, izveidotu attālās dublējumkopijas, attālo komandu izpildi un citus ar tīklu saistītus uzdevumus, izmantojot scp vai sftp starp diviem serveriem, kas savienojas ar drošu kanālu, izmantojot tīklā.

Šajā rakstā es parādīšu dažus vienkāršus rīkus un trikus, kas palīdzēs jums uzlabot jūsu ssh servera drošību. Šeit jūs atradīsit noderīgu informāciju par to, kā aizsargāt un novērst ssh serveri no rupja spēka un vārdnīcu uzbrukumiem.

1. DenyHosts

DenyHosts ir SSH serveru atvērtā pirmkoda uz ielaušanās novēršanas drošības skripts, kas tika uzrakstīts pitona programmēšanas valodā, kuru Linux sistēmas administratori un lietotāji bija iecerējuši palaist, lai uzraudzītu un analizētu SSH servera piekļuves žurnālus par neveiksmīgiem pieteikšanās mēģinājumiem. spēka uzbrukumi. Skripts darbojas, aizliedzot IP adreses pēc noteikta neveiksmīgu pieteikšanās mēģinājumu skaita, kā arī novērš šādu uzbrukumu piekļuvi serverim.

  1. Seko/var/log/secure, lai atrastu visus veiksmīgos un neveiksmīgos pieteikšanās mēģinājumus, un tos filtrē.
  2. Uzrauga visus neveiksmīgos pieteikšanās mēģinājumus, ko veicis lietotājs un pārkāpis resursdators.
  3. Seko katra esošā un neeksistējošā lietotāja (piemēram, xyz) novērošanai, kad mēģina neveiksmīgi pieteikties.
  4. Seko katram pārkāpēju lietotājam, resursdatoram un aizdomīgiem pieteikšanās mēģinājumiem (ja pieteikšanās kļūmju skaits) aizliedz mitināt IP adresi, pievienojot ierakstu failā /etc/hosts.deny.
  5. Pēc izvēles nosūta e-pasta paziņojumus par nesen bloķētiem saimniekiem un aizdomīgiem pieteikšanās gadījumiem.
  6. Saglabā arī visus derīgos un nederīgos neizdevušos lietotāja pieteikšanās mēģinājumus atsevišķos failos, lai būtu viegli noteikt, kurš derīgs vai nederīgs lietotājs tiek uzbrukts. Tātad, lai mēs varētu dzēst šo kontu, mainīt paroli vai atspējot čaulu šim lietotājam.

Lasīt vairāk: instalējiet DenyHosts, lai bloķētu SSH serveru uzbrukumus RHEL/CentOS/Fedora

2. Fail2Ban

Fail2ban ir viens no populārākajiem atvērtā koda ielaušanās atklāšanas/novēršanas ietvariem, kas rakstīts pitona programmēšanas valodā. Tas darbojas, skenējot žurnālfailus, piemēram,/var/log/secure, /var/log/auth.log,/var/log/pwdfail utt., Pārāk daudz neveiksmīgu pieteikšanās mēģinājumu. Fail2ban izmantoja, lai atjauninātu Netfilter/iptables vai TCP Wrapper’s hosts.deny failu, lai noraidītu uzbrucēja IP adresi uz noteiktu laiku. Tam ir arī iespēja atbloķēt bloķētu IP adresi uz noteiktu laiku, ko nosaka administratori. Tomēr, lai apturētu šādus ļaunprātīgus uzbrukumus, pietiek ar dažām minūtēm noturbēt.

  1. daudzvītņu un ļoti konfigurējams.
  2. Atbalsts žurnālfailu rotācijai un var apstrādāt vairākus pakalpojumus, piemēram, (sshd, vsftpd, apache utt.).
  3. Uzrauga žurnālfailus un meklē zināmus un nezināmus modeļus.
  4. Lai bloķētu uzbrucēju IP, tiek izmantota tabula Netfilter/Iptables un TCP Wrapper (/etc/hosts.deny).
  5. Skripti tiek palaisti, ja konkrētai shēmai tai pašai IP adresei ir noteikts vairāk nekā X reižu.

Lasīt vairāk: Instalējiet Fail2ban, lai novērstu SSH serveru uzbrukumus RHEL/CentOS/Fedora

3. Atspējojiet Root Login

Pēc noklusējuma Linux sistēmas ir konfigurētas tā, lai atļautu ssh attālo pieteikšanos visiem, tostarp pašam root lietotājam, kas ļauj visiem tieši pieteikties sistēmā un iegūt root piekļuvi. Neskatoties uz to, ka ssh serveris ļauj drošāk atspējot vai iespējot root pieteikšanās, vienmēr ir ieteicams atspējot piekļuvi saknēm, saglabājot serverus mazliet drošākus.

Ir tik daudz cilvēku, kuri mēģina izspēlēt sakņu kontus, izmantojot SSH uzbrukumus, viens pēc otra vienkārši piegādājot dažādus kontu nosaukumus un paroles. Ja esat sistēmas administrators, varat pārbaudīt ssh servera žurnālus, kur atradīsit neveiksmīgu pieteikšanās mēģinājumu skaitu. Neveiksmīgu pieteikšanās mēģinājumu galvenais iemesls ir pietiekami vājas paroles, un tas ir loģiski hakeriem/uzbrucējiem mēģināt.

Ja jums ir spēcīgas paroles, jūs droši vien esat drošībā, tomēr labāk ir atspējot root pieteikšanos un regulāri reģistrēties atsevišķam kontam, un pēc tam izmantojiet sudo vai su, lai piekļūtu root piekļuvei, kad vien nepieciešams.

Lasīt vairāk: Kā atspējot SSH Root Login un Limite SSH piekļuvi

4. Parādiet SSH reklāmkarogu

Šī ir viena no vecākajām iespējām, kas pieejama kopš ssh projekta sākuma, taču es gandrīz neesmu redzējis, ka to kāds izmanto. Jebkurā gadījumā es jūtu tā svarīgo un ļoti noderīgo funkciju, kuru esmu izmantojis visiem saviem Linux serveriem.

Tas nav paredzēts drošībai, taču šī reklāmkaroga lielākais ieguvums ir tas, ka to izmanto, lai parādītu ssh brīdinājuma ziņojumus ANO pilnvarotai piekļuvei un sagaidītu ziņojumus autorizētiem lietotājiem pirms paroles uzvednes un pēc lietotāja pieteikšanās.

Lasīt vairāk: Kā parādīt SSH un MOTD reklāmkarogu ziņojumus

5. SSH pieteikšanās bez paroles

Pieteikšanās bez SSH ar paroli, izmantojot SSH keygen, izveidos uzticamības attiecības starp diviem Linux serveriem, kas ievērojami atvieglo failu pārsūtīšanu un sinhronizāciju. Tas ir ļoti noderīgi, ja jums ir darīšana ar attālajām automātiskajām dublējumkopijām, attālo skriptu izpildi, failu pārsūtīšanu, attālo skriptu pārvaldību utt., Katru reizi neievadot paroli.

Lasīt vairāk: Kā iestatīt SSH pieteikšanos bez paroles