Kā nodrošināt un sacietēt OpenSSH serveri


Runājot par piekļuvi attālajām ierīcēm, piemēram, serveriem, maršrutētājiem un komutatoriem, SSH protokols ir ļoti ieteicams, ņemot vērā tā spēju šifrēt trafiku un novērst visus, kas varētu mēģināt noklausīties jūsu savienojumus.

Lai kā arī būtu, SSH noklusējuma iestatījumi nav nemaldīgi, un protokola drošībai ir nepieciešami papildu pielāgojumi. Šajā ceļvedī mēs izpētām dažādus veidus, kā jūs varat izmantot OpenSSH instalēšanas drošību un nostiprināšanu serverī.

1. Iestatiet SSH autentifikāciju bez paroles

Pēc noklusējuma SSH pieprasa, lai lietotāji, piesakoties, norādītu savas paroles. Bet šeit ir tā: hakeri var uzminēt paroles vai pat veikt brutālu spēku uzbrukumu, izmantojot īpašus uzlaušanas rīkus, un piekļūt jūsu sistēmai. Lai būtu drošībā, ļoti ieteicams izmantot SSH bez paroles autentifikāciju.

Pirmais solis ir SSH atslēgu pāra ģenerēšana, kas sastāv no publiskās atslēgas un privātās atslēgas. Privātā atslēga atrodas jūsu resursdatora sistēmā, savukārt publiskā atslēga tiek nokopēta uz attālo serveri.

Kad publiskā atslēga ir veiksmīgi nokopēta, tagad varat nevainojami SSH ievadīt attālajā serverī, nenorādot paroli.

Nākamais solis ir atslēgt paroles autentifikāciju. Lai to panāktu, jums jāmaina SSH konfigurācijas fails.

$ sudo vim /etc/ssh/sshd_config

Konfigurācijas failā ritiniet un atrodiet šo direktīvu. Noņemiet komentāru un nomainiet opciju yes uz no

PasswordAuthentication no

Pēc tam restartējiet SSH dēmonu.

# sudo systemctl restart sshd

Šajā brīdī piekļuve attālajam serverim būs tikai, izmantojot SSH atslēgas autentifikāciju.

2. Atspējojiet lietotāja SSH bezparoles savienojuma pieprasījumus

Vēl viens ieteicams servera drošības stiprināšanas veids ir atspējot SSH pieteikšanos no lietotājiem bez parolēm. Tas izklausās mazliet dīvaini, bet dažreiz sistēmas administratori var izveidot lietotāju kontus un aizmirst piešķirt paroles - kas ir ļoti slikta ideja.

Lai noraidītu lietotāju pieprasījumus bez paroles, atkal dodieties uz konfigurācijas failu vietnē /etc/ssh/sshd_config un pārliecinieties, vai jums ir tālāk norādītā direktīva:

PermitEmptyPasswords no

Pēc tam restartējiet SSH pakalpojumu, lai veiktu izmaiņas.

$ sudo systemctl restart sshd

3. Atspējojiet SSH saknes pieteikšanās

Nav ideju, kas var notikt, ja hakerim izdosies stingri piespiest jūsu root paroli. Attālās root pieteikšanās atļaušana vienmēr ir slikta ideja, kas var apdraudēt jūsu sistēmas drošību.

Šī iemesla dēļ vienmēr ieteicams atspējot SSH attālo root pieteikšanos un tā vietā palikt pie parastā lietotāja, kurš nav root lietotājs. Vēlreiz dodieties uz konfigurācijas failu un modificējiet šo līniju, kā parādīts.

PermitRootLogin no

Kad esat pabeidzis, restartējiet SSH pakalpojumu, lai izmaiņas tiktu veiktas.

$ sudo systemctl restart sshd

Turpmāk attālā root pieteikšanās tiks deaktivizēta.

4. Izmantojiet SSH 2. protokolu

SSH ir divas versijas: SSH 1. protokols un 2. protokols. SSH 2. protokols tika ieviests 2006. gadā un ir drošāks par 1. protokolu, pateicoties spēcīgajām kriptogrāfiskajām pārbaudēm, lielapjoma šifrēšanai un stabiliem algoritmiem.

Pēc noklusējuma SSH izmanto 1. protokolu. Lai to mainītu uz drošāku 2. protokolu, pievienojiet konfigurācijas failam zemāk esošo rindiņu:

Protocol 2

Lai izmaiņas stātos spēkā, kā vienmēr restartējiet SSH.

$ sudo systemctl restart sshd

Turpmāk SSH pēc noklusējuma izmantos 2. protokolu.

Lai pārbaudītu, vai SSH 1. protokols vairs netiek atbalstīts, palaidiet komandu:

$ ssh -1 [email protected]

Tiks parādīta kļūda ar tekstu “SSH protokols v.1 vairs netiek atbalstīts”.

Šajā gadījumā komanda bija:

$ ssh -1 [email protected]

Turklāt jūs varat vienkārši norādīt tagu -2 , lai pārliecinātos, ka 2. protokols ir noklusējuma protokols.

$ ssh -2 [email protected]

5. Iestatiet SSH savienojuma taimauta dīkstāves vērtību

Atstājot datoru ilgāku laiku bez uzraudzības ar dīkstāves SSH savienojumu, tas var radīt drošības risku. Kāds var vienkārši iet garām un pārņemt jūsu SSH sesiju un darīt visu, ko vien vēlas. Lai risinātu šo problēmu, ir saprātīgi iestatīt dīkstāves taimauta ierobežojumu, kuru pārsniedzot, SSH sesija tiks slēgta.

Vēlreiz atveriet savu SSH konfigurācijas failu un atrodiet direktīvu “ClientAliveInterval”. Piešķiriet saprātīgu vērtību, piemēram, ierobežojumu esmu iestatījis uz 180 sekundēm.

ClientAliveInterval 180

Tas nozīmē, ka SSH sesija tiks pārtraukta, ja pēc 3 minūtēm netiek reģistrēta neviena darbība, kas ir līdzvērtīga 180 sekundēm.

Pēc tam restartējiet SSH dēmonu, lai veiktu veiktās izmaiņas.

$ sudo systemctl restart sshd

6. Ierobežojiet SSH piekļuvi noteiktiem lietotājiem

Pievienotā drošības slānī varat definēt lietotājus, kuriem sistēmā nepieciešams SSH protokols, lai pieteiktos un veiktu attālos uzdevumus. Tas novērš citus lietotājus, kuri varētu mēģināt piekļūt jūsu sistēmai bez jūsu piekrišanas.

Kā vienmēr, atveriet konfigurācijas failu un pievienojiet direktīvu “AllowUsers”, kam seko to lietotāju vārdi, kurus vēlaties piešķirt. Tālāk sniegtajā piemērā lietotājiem “tecmint” un “james” esmu atļāvis attālu piekļuvi sistēmai, izmantojot SSH. Visi citi lietotāji, kuri mēģina iegūt attālo piekļuvi, tiks bloķēti.

AllowUsers tecmint james

Pēc tam restartējiet SSH, lai izmaiņas turpinātu darboties.

$ sudo systemctl restart sshd

7. Konfigurējiet paroles mēģinājumu ierobežojumu

Vēl viens veids, kā varat pievienot drošības slāni, ir ierobežot SSH pieteikšanās mēģinājumu skaitu tā, ka pēc vairākiem neveiksmīgiem mēģinājumiem savienojums nokrītas. Tāpēc vēlreiz dodieties uz konfigurācijas failu un atrodiet direktīvu “MaxAuthTries” un definējiet vērtību maksimālajam mēģinājumu skaitam.

Šajā piemērā ierobežojums ir noteikts 3 mēģinājumiem, kā parādīts.

MaxAuthTries 3

Visbeidzot, restartējiet SSH pakalpojumu tāpat kā iepriekšējos scenārijos.

Jums var noderēt arī šie ar SSH saistītie raksti:

  • Kā Linux instalēt OpenSSH 8.0 serveri no avota
  • Kā instalēt Fail2Ban, lai aizsargātu SSH uz CentOS/RHEL 8
  • Kā nomainīt SSH portu operētājsistēmā Linux
  • Kā izveidot SSH tunelēšanu vai portu pārsūtīšanu operētājsistēmā Linux
  • 4 veidi, kā paātrināt SSH savienojumus operētājsistēmā Linux
  • Kā atrast visus neizdevušos SSH pieteikšanās mēģinājumus operētājsistēmā Linux
  • Kā atvienot neaktīvos vai tukšgaitas SSH savienojumus Linux sistēmā

Tas bija daži no pasākumiem, kurus varat veikt, lai aizsargātu savus SSH attālos savienojumus. Ir svarīgi piebilst, ka lietotājiem, kuriem ir attāla piekļuve brutālu spēku uzbrukumiem, vienmēr jāpiešķir spēcīgas paroles. Mēs ceram, ka jūs atradāt šo ceļvedi ieskatīgu. Jūsu atsauksmes ir ļoti laipni gaidītas.