OpenSSH (Otvorite sigurnu školjku) je skup aplikacija koje omogućuju šifriranu komunikaciju preko mreže pomoću protokol SSH. Stvoren je kao besplatna i otvorena alternativa programu Secure Shell, koji je vlasnički softver. « Wikipedia.
Neki korisnici mogu pomisliti da bi dobre prakse trebalo primjenjivati samo na serverima, a to nije slučaj. Mnoge GNU / Linux distribucije uključuju OpenSSH po defaultu i ima nekoliko stvari koje morate imati na umu.
bezbjednost
Ovo je 6 najvažnijih tačaka koje morate imati na umu prilikom konfiguriranja SSH-a:
- Koristite jaku lozinku.
- Promijenite zadani port SSH.
- Uvijek koristite verziju 2 SSH protokola.
- Onemogućite root pristup.
- Ograničite pristup korisniku.
- Koristite provjeru autentičnosti ključa.
- Ostale opcije
Snažna lozinka
Dobra lozinka je ona koja sadrži alfanumeričke ili posebne znakove, razmake, velika i mala slova... itd. Ovdje unutra DesdeLinux Pokazali smo nekoliko metoda za generiranje dobrih lozinki. Mogu posjetiti Ovaj članak y ovo drugo.
Promijenite zadani port
Zadani port SSH je 22. Da bismo ga promijenili, dovoljno je urediti datoteku / etc / ssh / sshd_config. Tražimo red koji kaže:
#Port 22
mi ga komentiramo i mijenjamo 22 za drugi broj .. na primjer:
Port 7022
Da bismo znali portove koje ne koristimo na računalu / serveru, možemo izvršiti u terminalu:
$ netstat -ntap
Sada da bismo pristupili računaru ili serveru, moramo to učiniti sa opcijom -p na sljedeći način:
$ ssh -p 7022 usuario@servidor
Koristite protokol 2
Da bismo bili sigurni da koristimo verziju 2 SSH protokola, moramo urediti datoteku / etc / ssh / sshd_config i potražite red koji kaže:
# Protokol 2
Komentiramo ga i ponovno pokrećemo SSH uslugu.
Ne dozvoli pristup kao root
Da bismo spriječili root korisnika da može daljinski pristupiti putem SSH-a, pogledamo u datoteku/ etc / ssh / sshd_config linija:
#PermitRootLogin no
i mi to komentiramo. Mislim da je vrijedno pojasniti da prije nego što to učinimo moramo biti sigurni da naš korisnik ima potrebne dozvole za obavljanje administrativnih zadataka.
Ograničite pristup korisnicima
Također ne škodi dopuštanje pristupa putem SSH-a samo određenim pouzdanim korisnicima, pa se vraćamo na datoteku / etc / ssh / sshd_config i dodajemo red:
AllowUsers elav usemoslinux kzkggaara
Gdje su očito korisnici elav, usemoslinux i kzkggaara oni koji će moći pristupiti.
Koristite provjeru autentičnosti ključa
Iako se ova metoda najviše preporučuje, moramo biti posebno oprezni jer ćemo serveru pristupiti bez unošenja lozinke. To znači da ako korisnik uspije ući u našu sesiju ili nam je računar ukraden, možemo imati problema. Međutim, da vidimo kako to učiniti.
Prva stvar je stvoriti par ključeva (javni i privatni):
ssh-keygen -t rsa -b 4096
Zatim svoj ključ prosljeđujemo računaru / serveru:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Konačno, u datoteci moramo imati nekomentirani komentar / etc / ssh / sshd_config linija:
AuthorizedKeysFile .ssh/authorized_keys
Ostale opcije
Vrijeme čekanja u kojem se korisnik može uspješno prijaviti u sustav možemo smanjiti na 30 sekundi
LoginGraceTime 30
Da bismo izbjegli ssh napade putem TCP lažiranja, ostavljajući ssh stranu šifriranom maksimalno 3 minute, možemo aktivirati ove 3 opcije.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Onemogućite upotrebu datoteka sa rhosts ili shosts, koje se iz sigurnosnih razloga podstiču da se ne koriste.
IgnoreRhosts da IgnoreUserKnownHosts da RhostsAuthentication ne RhostsRSAAuthentication ne
Provjerite djelotvorne dozvole korisnika tokom prijave.
StrictModes yes
Omogućiti razdvajanje privilegija.
UsePrivilegeSeparation yes
Zaključci:
Radeći ove korake možemo dodati dodatnu sigurnost našim računalima i serverima, ali nikada ne smijemo zaboraviti da postoji važan faktor: šta je između stolice i tastature. Zato preporučujem čitanje Ovaj članak.
Izvor: HowToForge
Odličan post @elav i dodajem neke zanimljivosti:
PrijavaGraceTime 30
To nam omogućava da smanjimo vrijeme čekanja u kojem se korisnik može uspješno prijaviti u sistem na 30 sekundi
TCPKeepAlive br
Interval ClientAlive 60
ClientAliveCountMax 3
Ove tri opcije su vrlo korisne za izbjegavanje ssh napada pomoću TCP lažiranja, ostavljajući šifrirano živo na ssh strani aktivno najviše 3 minute.
IgnoreRhosts da
IgnoreUserKnownHosts da
RhostsAuthentication br
RhostsRSAAuthentication br
Onemogućuje upotrebu datoteka sa rhosts ili shosts, koje se iz sigurnosnih razloga podstiču da se ne koriste.
StrictModes da
Ova se opcija koristi za provjeru djelotvornih dozvola korisnika tijekom prijave.
UsePrivilegeSeparation da
Omogućiti razdvajanje privilegija.
Pa, za neko vrijeme ću urediti post i dodati ga u post 😀
Nekomentiranje kako ne bi promijenili liniju je suvišno. Komentirani redovi prikazuju zadanu vrijednost svake opcije (pročitajte pojašnjenje na početku same datoteke). Pristup root-u je onemogućen prema zadanim postavkama itd. Stoga njegovo komentarisanje nema apsolutno nikakvog efekta.
Da, ali na primjer, kako znamo da koristimo samo verziju 2 protokola? Jer bismo mogli istovremeno koristiti 1 i 2. Kao što kaže posljednji red, ako na primjer komentarišete ovu opciju, prepisuje se zadana opcija. Ako po defaultu koristimo verziju 2, u redu, ako ne, koristimo je DA ili DA 😀
Hvala na komentaru
Vrlo dobar članak, znao sam nekoliko stvari, ali jedna stvar koja mi nikad nije jasna je upotreba ključeva, zaista ono što oni jesu i koje prednosti ima, ako koristim ključeve mogu li koristiti lozinke ??? Ako da, zašto to povećava sigurnost, a ako ne, kako da mu pristupim sa drugog računara?
Pozdrav, instalirao sam debian 8.1 i ne mogu se povezati sa svog Windows PC-a na debian pomoću WINSCP-a, hoću li morati koristiti protokol 1? bilo kakva pomoć .. hvala
ćao
Možda će vas zanimati ovaj video o openssh-u https://m.youtube.com/watch?v=uyMb8uq6L54
Želim ovdje probati neke stvari, nekoliko sam već probao zahvaljujući Arch Wiki-u, druge zbog lijenosti ili neznanja. Sačuvat ću ga za vrijeme pokretanja RPi-a