SSH ir plaši izmantots protokols, ko izmanto drošai piekļuvei Linux serveriem. Lielākā daļa lietotāju izmanto SSH savienojumus ar noklusējuma iestatījumiem, lai izveidotu savienojumu ar attālo serveri. Tomēr nenodrošinātās noklusējuma konfigurācijas rada arī dažādus drošības riskus.
Servera ar atvērtu SSH piekļuvi saknes konts var būt apdraudēts. Un īpaši, ja izmantojat publisku IP adresi, saknes paroli ir daudz vieglāk uzlauzt. Tāpēc ir nepieciešamas zināšanas par SSH drošību.
Lūk, kā nodrošināt SSH servera savienojumus operētājsistēmā Linux.
1. Atspējot saknes lietotāju pieteikšanos
Lai to izdarītu, vispirms atspējojiet root lietotāja SSH piekļuvi un izveidot jaunu lietotāju ar root tiesībām. Servera piekļuves izslēgšana saknes lietotājam ir aizsardzības stratēģija, kas neļauj uzbrucējiem sasniegt savu mērķi iejaukties sistēmā. Piemēram, varat izveidot lietotāju ar nosaukumu examplesakne sekojoši:
useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot
Šeit ir īss iepriekšminēto komandu skaidrojums:
- lietotāja pievienošana izveido jaunu lietotāju un -m parametrs izveido mapi zem mājas izveidotā lietotāja direktorijā.
- The passwd komanda ir paredzēta paroles piešķiršanai jaunajam lietotājam. Atcerieties, ka lietotājiem piešķirtajām parolēm jābūt sarežģītām un grūti uzminamām.
- usermod -aG sudo pievieno jaunizveidoto lietotāju administratoru grupai.
Pēc lietotāja izveides procesa ir jāveic dažas izmaiņas sshd_config failu. Šo failu varat atrast vietnē /etc/ssh/sshd_config. Atveriet failu ar jebkuru teksta redaktoru un veiciet šādas izmaiņas:
# Autentifikācija:
#LoginGraceTime 2 min
PermitRootLogin Nr
AllowUsers examplesakne
PermitRootLogin līnija neļaus root lietotājam iegūt attālo piekļuvi, izmantojot SSH. Ieskaitot examplesakne iekš AllowUsers saraksts piešķir lietotājam nepieciešamās atļaujas.
Visbeidzot, restartējiet SSH pakalpojumu, izmantojot šādu komandu:
sudo systemctl restartējiet ssh
Ja tas neizdodas un tiek parādīts kļūdas ziņojums, izmēģiniet tālāk norādīto komandu. Tas var atšķirties atkarībā no izmantotā Linux izplatīšanas veida.
sudo systemctl restartējiet sshd
2. Noklusējuma porta maiņa
Noklusējuma SSH savienojuma ports ir 22. Protams, visi uzbrucēji to zina, un tāpēc, lai nodrošinātu SSH drošību, ir jāmaina noklusējuma porta numurs. Lai gan uzbrucējs var viegli atrast jauno porta numurs ar Nmap skenēšanu, mērķis šeit ir apgrūtināt uzbrucēja darbu.
Lai mainītu porta numuru, atveriet /etc/ssh/sshd_config un failā veiciet šādas izmaiņas:
Iekļaut /etc/ssh/sshd_config.d/*.conf
Ports 5922
Pēc šīs darbības vēlreiz restartējiet SSH pakalpojumu ar sudo systemctl restartējiet ssh. Tagad varat piekļūt savam serverim, izmantojot tikko definēto portu. Ja izmantojat ugunsmūri, arī tur ir jāveic nepieciešamās noteikumu izmaiņas. Palaižot netstat -tlpn komandu, varat redzēt, ka jūsu SSH porta numurs ir mainījies.
3. Bloķējiet piekļuvi lietotājiem ar tukšām parolēm
Iespējams, ka jūsu sistēmā ir nejauši izveidoti lietotāji bez paroles. Lai neļautu šādiem lietotājiem piekļūt serveriem, varat iestatīt PermitEmptyPasswords līnijas vērtība sshd_config failu uz Nē.
AtļautEmptyPasswords Nr
4. Ierobežot pieteikšanās/piekļuves mēģinājumus
Pēc noklusējuma varat piekļūt serverim, veicot tik daudz paroles mēģinājumu, cik vēlaties. Tomēr uzbrucēji var izmantot šo ievainojamību, lai piespiestu serveri. Jūs varat automātiski pārtraukt darbību SSH savienojums pēc noteikta mēģinājumu skaita, norādot atļauto paroles mēģinājumu skaitu.
Šim nolūkam mainiet MaxAuthTries vērtība sshd_config failu.
MaxAuthTries 3
5. Izmantojot SSH versiju 2
Otrā SSH versija tika izlaista, jo pirmajā versijā bija daudz ievainojamību. Pēc noklusējuma varat iespējot serverim otrās versijas izmantošanu, pievienojot Protokols parametrs jūsu sshd_config failu. Tādā veidā visi turpmākie savienojumi izmantos otro SSH versiju.
Iekļaut /etc/ssh/sshd_config.d/*.conf
2. protokols
6. TCP porta pārsūtīšanas un X11 pārsūtīšanas izslēgšana
Uzbrucēji var mēģināt piekļūt citām jūsu sistēmām, pārsūtot portu, izmantojot SSH savienojumus. Lai to novērstu, varat izslēgt Atļaut Tcp pārsūtīšanu un X11 Pārsūtīšana funkcijas sadaļā sshd_config failu.
X11Pārsūtīšanas Nr
Atļaut Tcp pārsūtīšanu Nr
7. Savienojuma izveide ar SSH atslēgu
Viens no drošākajiem veidiem, kā izveidot savienojumu ar serveri, ir izmantot SSH atslēgu. Izmantojot SSH atslēgu, serverim var piekļūt bez paroles. Turklāt jūs varat pilnībā izslēgt paroles piekļuvi serverim, mainot ar paroli saistītos parametrus sshd_config failu.
Kad veidojat SSH atslēgu, ir divas atslēgas: Publisks un Privāts. Publiskā atslēga tiek augšupielādēta serverī, ar kuru vēlaties izveidot savienojumu, un privātā atslēga tiek saglabāta datorā, ar kuru izveidosiet savienojumu.
Izveidojiet SSH atslēgu ar ssh-keygen komanda datorā. Neatstājiet Ieejas frāze lauku tukšs un atcerieties šeit ievadīto paroli. Ja atstāsiet to tukšu, varēsiet tai piekļūt tikai ar SSH atslēgas failu. Tomēr, ja iestatāt paroli, varat neļaut tai piekļūt uzbrucējam ar atslēgas failu. Piemēram, varat izveidot SSH atslēgu ar šādu komandu:
ssh-keygen
8. IP ierobežojumi SSH savienojumiem
Lielāko daļu laika ugunsmūris bloķē piekļuvi, izmantojot savu standartu ietvarus, un tā mērķis ir aizsargāt serveri. Tomēr ar to ne vienmēr pietiek, un jums ir jāpalielina šis drošības potenciāls.
Lai to izdarītu, atveriet /etc/hosts.allow failu. Ar papildinājumiem, ko veicat šim failam, varat ierobežot SSH atļauju, atļaut noteiktu IP bloku vai ievadīt vienu IP un bloķēt visas atlikušās IP adreses ar komandu noliegt.
Zemāk jūs redzēsit dažus iestatījumu paraugus. Pēc šo darbību veikšanas restartējiet SSH pakalpojumu kā parasti, lai saglabātu izmaiņas.
Linux servera drošības nozīme
Datu un datu drošības jautājumi ir diezgan detalizēti, un tie būtu jāapsver visiem servera administratoriem. Serveru drošība ir ļoti sensitīvs jautājums, jo uzbrukumos galvenā uzmanība tiek pievērsta tīmekļa serveriem, un tajos ir gandrīz visa informācija par sistēmu. Tā kā lielākā daļa serveru darbojas Linux infrastruktūrā, ir ļoti svarīgi pārzināt Linux sistēmu un servera administrēšanu.
SSH drošība ir tikai viens no serveru aizsardzības veidiem. Ir iespējams samazināt nodarīto kaitējumu, apturot, bloķējot vai palēninot uzbrukumu. Papildus SSH drošības nodrošināšanai ir daudz dažādu metožu, ko varat ieviest, lai aizsargātu savus Linux serverus.