SSH je zelo razširjen protokol, ki se uporablja za varen dostop do strežnikov Linux. Večina uporabnikov uporablja povezave SSH s privzetimi nastavitvami za povezavo z oddaljenim strežnikom. Vendar nezavarovane privzete konfiguracije predstavljajo tudi različna varnostna tveganja.

Korenski račun strežnika z odprtim dostopom SSH je lahko ogrožen. Še posebej, če uporabljate javni naslov IP, je veliko lažje vdreti v root geslo. Zato je potrebno znanje o varnosti SSH.

Tukaj je opisano, kako lahko zaščitite svoje povezave strežnika SSH v sistemu Linux.

1. Onemogoči prijave korenskih uporabnikov

Za to najprej onemogočite dostop SSH korenskemu uporabniku in ustvarite novega uporabnika s korenskimi pravicami. Izklop dostopa do strežnika za korenskega uporabnika je obrambna strategija, ki napadalcem preprečuje, da bi dosegli svoj cilj vdora v sistem. Ustvarite lahko na primer uporabnika z imenom exampleroot kot sledi:

useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot

Tukaj je kratka razlaga zgoraj omenjenih ukazov:

instagram viewer
  • useradd ustvari novega uporabnika in -m parameter ustvari mapo pod domov imenik za uporabnika, ki ste ga ustvarili.
  • The passwd ukaz je za dodelitev gesla novemu uporabniku. Ne pozabite, da morajo biti gesla, ki jih dodelite uporabnikom, zapletena in jih je težko uganiti.
  • usermod -aG sudo doda novo ustvarjenega uporabnika v skrbniško skupino.

Po postopku ustvarjanja uporabnika je potrebno narediti nekaj sprememb v sshd_config mapa. To datoteko najdete na /etc/ssh/sshd_config. Odprite datoteko s katerim koli urejevalnikom besedil in jo spremenite:

# Preverjanje pristnosti: 
#LoginGraceTime 2m
DovoljenjeRootLogin št
AllowUsers exampleroot

DovoliteRootLogin bo korenskemu uporabniku preprečil oddaljeni dostop prek SSH. Vključno exampleroot v AllowUsers seznam podeljuje uporabniku potrebna dovoljenja.

Na koncu znova zaženite storitev SSH z naslednjim ukazom:

sudo systemctl znova zaženite ssh

Če to ne uspe in prejmete sporočilo o napaki, poskusite s spodnjim ukazom. To se lahko razlikuje glede na distribucijo Linuxa, ki jo uporabljate.

sudo systemctl znova zaženite sshd

2. Spreminjanje privzetih vrat

Privzeta vrata za povezavo SSH so 22. Seveda vsi napadalci to vedo, zato je treba spremeniti privzeto številko vrat, da zagotovimo varnost SSH. Čeprav lahko napadalec zlahka najde novo številko vrat s skeniranjem Nmap, je cilj napadalcu otežiti delo.

Če želite spremeniti številko vrat, odprite /etc/ssh/sshd_config in naredite naslednje spremembe v datoteki:

Vključi /etc/ssh/sshd_config.d/*.conf
Vrata 5922

Po tem koraku znova zaženite storitev SSH z sudo systemctl znova zaženite ssh. Zdaj lahko dostopate do svojega strežnika prek vrat, ki ste jih pravkar določili. Če uporabljate požarni zid, morate tudi tam narediti potrebne spremembe pravil. Pri vodenju netstat -tlpn lahko vidite, da se je vaša številka vrat za SSH spremenila.

3. Blokirajte dostop za uporabnike s praznimi gesli

Morda so v vašem sistemu uporabniki brez gesel, ki ste jih morda ustvarili pomotoma. Če želite takim uporabnikom preprečiti dostop do strežnikov, lahko nastavite PermitEmptyPasswords vrednost vrstice v sshd_config datoteko v št.

PermitEmptyPasswords št

4. Omejite poskuse prijave/dostopa

Privzeto lahko do strežnika dostopate tako, da vnesete tolikokrat, kot želite. Vendar pa lahko napadalci uporabijo to ranljivost za napad na strežnik. Lahko samodejno prekinete povezavo SSH po določenem številu poskusov, tako da določite število dovoljenih poskusov gesla.

Za to spremenite MaxAuthTries vrednost v sshd_config mapa.

MaxAuthTries 3

5. Uporaba SSH različice 2

Druga različica SSH je bila izdana zaradi številnih ranljivosti v prvi različici. Privzeto lahko strežniku omogočite uporabo druge različice, tako da dodate Protokol parameter za vašo sshd_config mapa. Tako bodo vse vaše prihodnje povezave uporabljale drugo različico SSH.

Vključi /etc/ssh/sshd_config.d/*.conf 
Protokol 2

6. Izklop posredovanja vrat TCP in posredovanja X11

Napadalci lahko poskušajo pridobiti dostop do vaših drugih sistemov s posredovanjem vrat prek povezav SSH. Če želite to preprečiti, lahko izklopite AllowTcpForwarding in X11Posredovanje funkcije v sshd_config mapa.

X11Posredovanje št 
AllowTcpForwarding št

7. Povezovanje s ključem SSH

Eden najvarnejših načinov za povezavo s strežnikom je uporaba ključa SSH. Ko uporabljate ključ SSH, lahko do strežnika dostopate brez gesla. Poleg tega lahko popolnoma izklopite dostop do strežnika z geslom, tako da spremenite parametre, povezane z geslom, v sshd_config mapa.

Ko ustvarite ključ SSH, sta na voljo dva ključa: Javno in Zasebno. Javni ključ se naloži na strežnik, na katerega se želite povezati, zasebni ključ pa se shrani v računalnik, s katerim boste vzpostavili povezavo.

Ustvarite ključ SSH z ssh-keygen ukaz na vašem računalniku. Ne zapustite Geslo polje prazno in si zapomnite geslo, ki ste ga tukaj vnesli. Če pustite prazno, boste do njega lahko dostopali samo z datoteko s ključem SSH. Če pa nastavite geslo, lahko napadalcu s ključno datoteko preprečite dostop do nje. Kot primer lahko ustvarite ključ SSH z naslednjim ukazom:

ssh-keygen

8. Omejitve IP za povezave SSH

Večino časa požarni zid blokira dostop z uporabo ogrodij lastnih standardov in je namenjen zaščiti strežnika. Vendar to ni vedno dovolj in ta varnostni potencial morate povečati.

Če želite to narediti, odprite /etc/hosts.allow mapa. Z dodatki, ki jih naredite v tej datoteki, lahko omejite dovoljenje SSH, dovolite določeno blokado IP ali vnesete en sam IP in blokirate vse preostale naslove IP z ukazom za zavrnitev.

Spodaj boste videli nekaj vzorčnih nastavitev. Ko to storite, znova zaženite storitev SSH kot običajno, da shranite spremembe.

Pomen varnosti strežnika Linux

Vprašanja glede podatkov in varnosti podatkov so precej podrobna in bi jih morali upoštevati vsi skrbniki strežnikov. Varnost strežnika je zelo občutljivo vprašanje, saj so glavni fokus napadov spletni strežniki, ki vsebujejo skoraj vse informacije o sistemu. Ker večina strežnikov deluje na infrastrukturi Linux, je zelo pomembno poznati sistem Linux in administracijo strežnika.

Varnost SSH je le eden od načinov zaščite strežnikov. Škodo, ki jo povzročite, lahko zmanjšate tako, da zaustavite, blokirate ali upočasnite napad. Poleg zagotavljanja varnosti SSH obstaja veliko različnih metod, ki jih lahko uporabite za zaščito svojih strežnikov Linux.