Kako konfigurirati sigurnost SSH Linuxa

Jedan od najčešće korištenih protokola na sigurnosnoj razini za uspostavljanje veza u UNIX okruženjima je SSH (Secure Shell) protokol koji nam nudi niz funkcionalnosti i posebnih karakteristika za zaštitu podataka i uspostavljenih veza.

SSH je protokol koji je razvijen fokusirajući se na sigurnost komunikacije između dva sustava putem modela klijent / poslužitelj i zahvaljujući kojem se korisnicima omogućuje daljinsko povezivanje s hostom.
Jedna od glavnih karakteristika SSH -a je da šifrira sesiju povezivanja, što sprječava bilo kojeg korisnika da dobije nešifrirane lozinke.

Vrste zaštitePrilikom korištenja SSH protokola imat ćemo sljedeće vrste zaštite:

  • Nakon što se početna veza uspostavi, klijent može provjeriti povezuje li se s istim poslužiteljem na koji se prethodno spojio
  • Klijent šalje podatke za provjeru autentičnosti poslužitelju putem 128-bitne enkripcije
  • Svi podaci poslani i primljeni tijekom sesije prenose se 128-bitnom enkripcijom, što otežava dešifriranje i čitanje
  • Klijent ima priliku proslijediti X11 aplikacije s poslužitelja, to je tehnika koja se naziva prosljeđivanje X11 koja pruža sigurno sredstvo korištenja grafičkih aplikacija preko lokalne ili vanjske mreže.

Sada u operacijskim sustavima Linux pronalazimo konfiguracijsku datoteku SSH na putu / etc / ssh / ssh_config i zahvaljujući ovoj datoteci bit će moguće provesti sve sigurnosne mjere za SSH veze.

POVEĆAJTE

Za sustave macOS, ova se datoteka nalazi na / private / etc / ssh / ssh_config stazi i ima simboličku vezu na / etc / ssh / ssh_config radi kompatibilnosti.

Prilikom uređivanja ove datoteke moramo imati na umu sljedeće.

  • Prazni redovi i redovi koji počinju s '#' su komentari
  • Svaki redak započinje ključnom riječi, iza koje slijede argumenti
  • Opcije konfiguracije mogu se odvojiti prazninama ili izbornim prazninama i znakom =
  • Argumenti se mogu staviti u dvostruke navodnike (") za specifikaciju argumenata koji sadrže razmake

1. Kako urediti Linux ssh_config datoteku


Da bismo uredili ovu datoteku kako bismo uspostavili odgovarajuće vrijednosti, moramo izvršiti sljedeće s uređivačem:
 sudo nano / etc / ssh / ssh_config
Vidjet ćemo sljedeće:

POVEĆAJTE

Datoteku ssh_config organiziraju domaćini i tamo svaki host sadrži određene postavke za tog određenog hosta, tamo možemo koristiti zamjenske znakove poput * za usklađivanje više naziva hostova s ​​jednim izrazom.
Neki od parametara koje možemo koristiti u ovoj datoteci su:

DomaćinOgraničite izraze samo za hostove koji odgovaraju jednom od uzoraka danih nakon ključne riječi.
PodudaranjeOgraničite izjave samo na hostove koji odgovaraju navedenim kriterijima
AdresaObiteljOdređuje koju obitelj adresa treba koristiti pri povezivanju, valjani argumenti su: any, inet, inet6.
BatchModeS ovom vrijednošću upit za lozinku bit će onemogućen, čime će se izbjeći slučajno blokiranje u zahtjevu za lozinku
BindAddressOdređuje korištenje adrese navedene na lokalnom računalu kao adresa izvora veze.
ChallengeResponseAuthenticationPokazuje treba li koristiti provjeru autentičnosti izazov-odgovor. Ovo je prvenstveno naslijeđena metoda koju je zamijenila KbdInteractiveAuthentication
CheckHostIPRecite ssh -u da dodatno provjeri IP adresu hosta u datoteci known_hosts.
ŠifraOdnosi se na enkripciju koja će se koristiti za šifriranje sesije u verziji 1 protokola.
ŠifreOdređuje dopuštene šifre za verziju 2 protokola prema željenom redoslijedu.

Zatim ćemo vidjeti neke praktične savjete za poboljšanje sigurnosti SSH veza s Linuxom i na taj način postići najbolje performanse pristupa.

2. Kako zaključati Linux SSH datoteke


Prvi korak prije uređivanja datoteke je provjeriti da li i datoteka ssh_config i datoteka sshd_config imaju vlasnika i korisnika konfigurirane kao root, jer je to super korisnik Linuxa i nitko bolji od ovoga nije vlasnik.

Za to izvršavamo sljedeće:

 sudo chown root: root / etc / ssh / sshd_config sudo chmod og-rwx / etc / ssh / sshd_config

3. Kako potvrditi SSH protokol verzija 2 Linux


Verzija 2 SSH -a ima poboljšani algoritam razmjene ključeva koji nije osjetljiv na sigurnosnu rupu u verziji 1, čime se poboljšava opća sigurnost veza, pa je idealno potvrditi da se umjesto Protokola 1 koristi novi Protokol 2 a za to moramo potvrditi sljedeći redak u datoteci ssh_config:
 Protokol 2

POVEĆAJTE

Tamo također možemo implicitno konfigurirati protokol putem Ciphers -a, koji će automatski postaviti Protocol na 2 za korištenje modernih Chiphers -a, za to potvrđujemo sljedeći redak odmah ispod linije Protocol:

 Šifre aes128-ctr, aes192-ctr, aes256-ctr

4. Kako onemogućiti prazne lozinke SSH Linux


Važno je potvrditi da svaki SSH račun prilikom prijave mora koristiti lozinku, blokirajući prazne lozinke koje bi omogućile jednostavan pristup koji uzrokuje sigurnosne rizike u sustavu, da bismo to potvrdili upotrijebit ćemo sljedeći redak ili, ako ne postoji, će ga dodati postavljanjem simbola #:
 PermitEmptyPasswords br

POVEĆAJTE

5. Kako onemogućiti SSH Linux root prijavu


Sprječavanjem prijave root korisnika bit će moguće zaključati određene račune i onemogućiti njihovu upotrebu u cijelom sustavu, opcije za PermitRootLogin uključuju "da", "bez lozinke", "samo prisilne naredbe" ili "ne". Zadano je "da". Za potpuno zaustavljanje root prijave koristit ćemo sljedeći redak:
 PermitRootLogin br

POVEĆAJTE

6. Kako postaviti novi Linux SSH port


Prema zadanim postavkama, port dodijeljen za SSH je 22, tako da napadači sa sigurnošću znaju kroz koji će port pristupiti za izvođenje svojih napada, pa je dobra sigurnosna metoda promijeniti ovaj zadani port i naznačiti samo ovlaštene korisnike.

Za to moramo locirati liniju Port i dodati sljedeću sintaksu:

 Ulaz XXXXX

POVEĆAJTE

7. Kako ograničiti pristup SSH Linuxu


U slučaju da pristup SSH poslužitelju ima više korisnika, moguće je primijeniti određena ograničenja stvaranjem grupa u koje su uključeni ti korisnici, to je moguće dodavanjem ključnih riječi kao što su:
 AllowUsers (Dopusti korisnički pristup) AllowGroups (Dopusti grupni pristup) DenyUsers (Ograniči korisnički pristup) DenyGroups (Ograniči grupni pristup)
Na primjer, u konfiguracijskoj datoteci možemo pokrenuti sljedeće:
 AllowUsers Solvetic testira DenyGroups test

8. Kako ažurirati vrijeme mirovanja SSH Linuxa


Prema zadanim postavkama, vrijeme koje korisnik može ostati neaktivan bez prijave je dvije minute, kako bi se spriječilo neovlašteno povezivanje sa sustavom, ovaj put se može urediti u retku LoginGraceTime povećavajući ili smanjujući ovo vrijeme:
 PrijavaGraceTime 1m

POVEĆAJTE

9. Kako stvoriti pseudonim za SSH Linux


Unutar SSH konfiguracija moguće je odrediti pseudonim, koji omogućuje povezivanje s određenim poslužiteljem putem porta i definiranim korisnicima, na primjer, možemo dodati sljedeće:
 Host dev HostName dev.solvetic.com Port 3333 Korisnik Solvetic
U ovom konkretnom slučaju moramo pristupiti na sljedeći način:
 ssh [email protected] -p 3333

10. Autentikacija sa sigurnim ključevima SSH Linux


ssh će biti mnogo sigurniji i korisniji kada se koristi s parovima javnih / privatnih ključeva u svrhu autentifikacije, umjesto korištenja lozinki. Datoteka ssh_config može deklarirati određeni ključ za određeni host pomoću ključa IdentityFile, u ovom slučaju unijeli bismo sljedeće:
 Host dev HostName dev.solvetic.com Port 3333 Korisnički Solvetic IdentityFile ~ / .ssh / dev.solvetic.key
U ovom slučaju veza bi bila sljedeća:
 ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Neki dodatni parametri su:

KompresijaTamo možemo koristiti vrijednosti poput da ili ne kako bismo omogućili onemogućavanje kompresije za host.
LogLevelOmogućuje definiranje razine detalja u zapisnicima za ssh klijenta, opcije su TIHO, FATALNO, GREŠKA, INFO, VERBOSE, DEBUG1, DEBUG2 i DEBUG3.
StrictHostKeyCheckingPostavite prednost za dodavanje hostova u datoteku known_hosts.

Dakle, imamo različite mogućnosti za poboljšanje sigurnosti i SSH povezivanja u Linuxu.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave