OpenSSH (Odprite Secure Shell) je nabor aplikacij, ki omogočajo šifrirano komunikacijo prek omrežja z uporabo protokol SSH. Ustvarjen je bil kot brezplačna in odprta alternativa programu Secure Shell, ki je lastniška programska oprema. « Wikipedia.
Nekateri uporabniki morda mislijo, da je treba dobre prakse uporabljati samo na strežnikih, kar pa ne drži. Številne distribucije GNU / Linux privzeto vključujejo OpenSSH in nekaj stvari je treba upoštevati.
varnost
To je 6 najpomembnejših točk, ki jih morate upoštevati pri konfiguriranju SSH:
- Uporabite močno geslo.
- Spremenite privzeta vrata SSH.
- Vedno uporabljajte različico 2 protokola SSH.
- Onemogoči korenski dostop.
- Omejite dostop uporabnika.
- Uporabite preverjanje pristnosti ključa.
- Druge možnosti
Močno geslo
Dobro geslo je tisto, ki vsebuje alfanumerične ali posebne znake, presledke, velike in male črke ... itd. Tukaj noter DesdeLinux Pokazali smo več metod za ustvarjanje dobrih gesel. Lahko obišče Ta članek y to drugo.
Spremenite privzeta vrata
Privzeta vrata za SSH so 22. Če jih želite spremeniti, moramo le urediti datoteko / etc / ssh / sshd_config. Iščemo vrstico, ki pravi:
#Port 22
ga komentiramo in spremenimo 22 za drugo številko .. na primer:
Port 7022
Če želite poznati vrata, ki jih ne uporabljamo v računalniku / strežniku, jih lahko zaženemo v terminalu:
$ netstat -ntap
Zdaj za dostop do našega računalnika ali strežnika moramo to narediti z možnostjo -p, kot sledi:
$ ssh -p 7022 usuario@servidor
Uporabite protokol 2
Da se prepričamo, da uporabljamo različico 2 protokola SSH, moramo datoteko urediti / etc / ssh / sshd_config in poiščite vrstico, ki pravi:
# Protokol 2
Komentiramo in ponovno zaženemo storitev SSH.
Ne dovoli dostopa kot root
Da bi preprečili korenskemu uporabniku dostop do oddaljenega prek SSH, poiščemo datoteko/ etc / ssh / sshd_config linija:
#PermitRootLogin no
in ga komentiramo. Mislim, da je vredno pojasniti, da moramo pred tem zagotoviti, da ima naš uporabnik potrebna dovoljenja za izvajanje skrbniških nalog.
Omejite dostop uporabnikom
Prav tako ne škodi, če prek SSH omogočimo dostop samo določenim zaupanja vrednim uporabnikom, zato se vrnemo v datoteko / etc / ssh / sshd_config in dodamo vrstico:
AllowUsers elav usemoslinux kzkggaara
Kjer so očitno uporabniki elav, usemoslinux in kzkggaara tisti, ki bodo lahko dostopali.
Uporabite preverjanje pristnosti ključa
Čeprav je ta metoda najbolj priporočljiva, moramo biti še posebej previdni, saj bomo do strežnika dostopali brez vnosa gesla. To pomeni, da če uporabnik uspe vstopiti v našo sejo ali nam je ukraden računalnik, smo lahko v težavah. Vendar poglejmo, kako to storiti.
Prva stvar je ustvariti par ključev (javnih in zasebnih):
ssh-keygen -t rsa -b 4096
Nato naš ključ posredujemo računalniku / strežniku:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Končno moramo v datoteki imeti še nekomentirano / etc / ssh / sshd_config linija:
AuthorizedKeysFile .ssh/authorized_keys
Druge možnosti
Čakalni čas, v katerem se lahko uporabnik uspešno prijavi v sistem, lahko zmanjšamo na 30 sekund
LoginGraceTime 30
Če se želite izogniti napadom ssh prek TCP Spoofinga in pustiti šifrirane na strani ssh aktivne največ 3 minute, lahko te 3 možnosti aktiviramo.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Onemogočite uporabo datotek rhosts ali shosts, ki jih zaradi varnostnih razlogov ne uporabljajte.
IgnoreRhosts da IgnoreUserKnownHosts da RhostsAuthentication ne RhostsRSAAuthentication ne
Med prijavo preverite dejanska dovoljenja uporabnika.
StrictModes yes
Omogoči ločevanje privilegijev.
UsePrivilegeSeparation yes
Sklepi:
S temi koraki lahko dodamo dodatno varnost našim računalnikom in strežnikom, vendar nikoli ne smemo pozabiti, da obstaja pomemben dejavnik: kaj je med stolom in tipkovnico. Zato priporočam branje Ta članek.
vir: KakoKovati
Odličen post @elav in dodajam nekaj zanimivosti:
PrijavaGraceTime 30
To nam omogoča, da čakalno dobo, v kateri se lahko uporabnik uspešno prijavi v sistem, zmanjšamo na 30 sekund
TCPKeepAlive št
ClientAliveInterval 60
ClientAliveCountMax 3
Te tri možnosti so zelo koristne za preprečevanje napadov ssh s pomočjo TCP Spoofinga, tako da šifrirano na strani ssh ostane aktivno največ 3 minute.
IgnoreRhosts da
IgnoreUserKnownHosts da
RhostsAuthentication št
Rhosts RSAAuthentication št
Onemogoča uporabo datotek z rhosts ali shosts, ki jih iz varnostnih razlogov pozivamo, da jih ne uporabljamo.
StrictModes da
Ta možnost se uporablja za preverjanje dejanskih dovoljenj uporabnika med prijavo.
UsePrivilegeSeparation da
Omogoči ločevanje privilegijev.
No, čez nekaj časa bom objavo uredil in jo dodal objavi 😀
Nekomentiranje, da ne bi spremenili črte, je odveč. Komentirane vrstice prikazujejo privzeto vrednost vsake možnosti (preberite pojasnilo na začetku same datoteke). Root dostop je privzeto onemogočen itd. Zato njegovo komentiranje nima popolnoma nobenega učinka.
Da, ampak na primer, kako vemo, da uporabljamo samo različico 2 protokola? Ker bi lahko uporabljali 1 in 2 hkrati. Kot pravi zadnja vrstica, na primer, če ne komentirate te možnosti, prepišete privzeto možnost. Če privzeto uporabljamo različico 2, v redu, če ne, jo uporabimo DA ali DA 😀
Hvala za komentar
Zelo dober članek, vedel sem več stvari, toda ena stvar, ki mi ni nikoli jasna, je uporaba ključev, res, kakšne so in kakšne prednosti ima, če lahko uporabljam ključe, lahko uporabim gesla ??? Če je odgovor pritrdilen, zakaj povečuje varnost in če ne, kako do njega dostopati iz drugega računalnika?
Lep pozdrav, namestil sem debian 8.1 in se ne morem povezati s svojega računalnika s sistemom Windows na debian z WINSCP. kakršna koli pomoč .. hvala
Adijski
Morda vas bo zanimal ta video o openssh https://m.youtube.com/watch?v=uyMb8uq6L54
Nekaj stvari želim preizkusiti od tu, nekaj sem že poskusil po zaslugi Arch Wiki, druge zaradi lenobe ali nevednosti. Shranil ga bom, ko zaženem RPi