Kaip sukonfigūruoti SSH Linux saugumą

Vienas iš labiausiai naudojamų saugumo lygio protokolų jungtims užmegzti UNIX aplinkoje yra SSH (Secure Shell) protokolas, kuris siūlo daugybę funkcijų ir specialių savybių, skirtų apsaugoti duomenis ir užmegztus ryšius.

SSH yra protokolas, sukurtas daugiausia dėmesio skiriant ryšiui tarp dviejų sistemų naudojant kliento / serverio modelį ir kurio dėka vartotojams leidžiama nuotoliniu būdu prisijungti prie pagrindinio kompiuterio.
Viena iš pagrindinių SSH savybių yra ta, kad ji užšifruoja ryšio seansą, o tai neleidžia bet kuriam vartotojui gauti nešifruotų slaptažodžių.

Apsaugos tipaiNaudodami SSH protokolą, turėsime šių tipų apsaugą:

  • Užmezgus pradinį ryšį, klientas gali patikrinti, ar prisijungia prie to paties serverio, prie kurio buvo prisijungęs anksčiau
  • Klientas siunčia autentifikavimo informaciją į serverį per 128 bitų šifravimą
  • Visi sesijos metu siunčiami ir gauti duomenys perkeliami naudojant 128 bitų šifravimą, todėl sunku iššifruoti ir skaityti
  • Klientas turi galimybę persiųsti X11 programas iš serverio, tai yra metodas, vadinamas X11 persiuntimu, kuris yra saugus būdas naudoti grafines programas vietiniame ar išoriniame tinkle.

Dabar „Linux“ operacinėse sistemose mes randame SSH konfigūracijos failą kelyje / etc / ssh / ssh_config ir šio failo dėka bus galima atlikti visas SSH ryšio saugumo priemones.

DIDELIS

„MacOS“ sistemoms šis failas yra / private / etc / ssh / ssh_config kelyje ir suderinamumo tikslais jis turi simbolinę nuorodą į / etc / ssh / ssh_config.

Redaguodami šį failą turime nepamiršti šių dalykų.

  • Tuščios eilutės ir eilutės, prasidedančios „#“, yra komentarai
  • Kiekviena eilutė prasideda raktiniu žodžiu, po kurio eina argumentas (-ai)
  • Konfigūracijos parinktys gali būti atskirtos tuščiais arba pasirenkamais ruošiniais ir an = ženklu
  • Argumentai gali būti pateikiami dvigubose kabutėse ("), siekiant nurodyti argumentus, kuriuose yra tarpų

1. Kaip redaguoti „Linux ssh_config“ failą


Norėdami redaguoti šį failą ir nustatyti tinkamas vertes, su redaktoriumi turime atlikti šiuos veiksmus:
 sudo nano / etc / ssh / ssh_config
Pamatysime šiuos dalykus:

DIDELIS

„Ssh_config“ failą tvarko pagrindiniai kompiuteriai ir kiekviename priegloboje yra tam tikro pagrindinio kompiuterio nustatymai, ten mes galime naudoti pakaitos simbolius, tokius kaip *, kad suderintume kelis pagrindinio kompiuterio pavadinimus su vienu teiginiu.
Kai kurie parametrai, kuriuos galime naudoti šiame faile, yra šie:

ŠeimininkasApribokite teiginius, skirtus tik pagrindiniams kompiuteriams, kurie atitinka vieną iš šablonų, nurodytų po raktinio žodžio.
RungtynėsApribokite teiginius tik tiems šeimininkams, kurie atitinka nurodytus kriterijus
Adresas ŠeimaNurodo, kurią adresų šeimą naudoti jungiantis, tinkami argumentai: bet koks, inet, inet6.
„BatchMode“Naudojant šią reikšmę slaptažodžio užklausa bus išjungta, taip išvengsite atsitiktinio slaptažodžio užblokavimo
BindAddressNurodo, kaip naudoti ryšio šaltinio adresą vietiniame kompiuteryje nurodytą adresą.
ChallengeResponseAuthenticationNurodo, ar naudoti iššūkio-atsakymo autentifikavimą. Tai visų pirma yra senas metodas, kurį pakeitė „KbdInteractiveAuthentication“
CheckHostIPNurodykite ssh papildomai patikrinti pagrindinio kompiuterio IP adresą žinomo_dokumentų faile.
ŠiferisNurodo šifravimą, kuris bus naudojamas šifruoti sesiją 1 protokolo versijoje.
ŠifraiNurodomi protokolo 2 versijos leidžiami šifrai pagal pageidavimą.

Toliau pamatysime keletą praktinių patarimų, kaip pagerinti SSH jungčių prie „Linux“ saugumą ir taip pasiekti geriausią prieigą.

2. Kaip užrakinti „Linux“ SSH failus


Pirmasis žingsnis prieš redaguojant failą yra įsitikinti, kad failo „ssh_config“ ir „sshd_config“ savininkas ir vartotojas yra sukonfigūruoti kaip root, nes tai yra super „Linux“ vartotojas ir niekas nėra geresnis už šį.

Tam mes atliekame šiuos veiksmus:

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

3. Kaip patvirtinti SSH protokolo 2 versiją „Linux“


SSH 2 versija turi patobulintą raktų keitimo algoritmą, kuris nėra pažeidžiamas 1 versijos saugumo skylės, taigi pagerėja bendras ryšių saugumas, todėl idealiai tinka patvirtinti, kad vietoj 1 protokolo naudojamas naujas 2 protokolas ir tam mes turime patvirtinti šią eilutę faile ssh_config:
 2 protokolas

DIDELIS

Ten taip pat galime netiesiogiai sukonfigūruoti protokolą per „Ciphers“, kuris automatiškai nustatys protokolą į 2, kad būtų naudojami modernūs šifrai, todėl mes patvirtiname šią eilutę, esančią tiesiai po protokolo eilute:

 Ciphers aes128-ctr, aes192-ctr, aes256-ctr

4. Kaip išjungti tuščius slaptažodžius SSH Linux


Svarbu patvirtinti, kad kiekviena SSH paskyra prisijungdama turi naudoti slaptažodį, užblokuodama tuščius slaptažodžius, kurie leistų paprastą prieigą, keliančią sistemos saugumo riziką, kad tai patvirtintume, naudosime šią eilutę arba, jei jos nėra, mes pridės jį, įdėdamas simbolį #:
 „PermitEmptyPasswords“ Nr

DIDELIS

5. Kaip išjungti SSH Linux root prisijungimą


Užkertant kelią root prisijungimui, bus galima užrakinti konkrečias paskyras ir neleisti jų naudoti visoje sistemoje, „PermitRootLogin“ parinktys apima „taip“, „be slaptažodžio“, „tik priverstinės komandos“ arba „ne“. Numatytasis yra „taip“. Norėdami visiškai sustabdyti root prisijungimą, naudosime šią eilutę:
 „PermitRootLogin“ Nr

DIDELIS

6. Kaip nustatyti naują „Linux“ SSH prievadą


Pagal numatytuosius nustatymus SSH priskirtas prievadas yra 22, kad užpuolikai tiksliai žinotų, per kurį prieigą jie galės vykdyti savo atakas, todėl geras saugumo metodas yra pakeisti šį numatytąjį prievadą ir nurodyti tik įgaliotus vartotojus.

Norėdami tai padaryti, turime rasti prievado eilutę ir pridėti šią sintaksę:

 XXXXX prievadas

DIDELIS

7. Kaip apriboti prieigą prie SSH Linux


Jei prieigą prie SSH serverio sudaro keli vartotojai, galite taikyti tam tikrus apribojimus, sukurdami grupes, kuriose yra šie vartotojai, tai galima padaryti pridėjus raktinius žodžius, tokius kaip:
 „AllowUsers“ (leisti naudotojams prieigą) „AllowGroups“ (leisti grupę pasiekti) „DenyUsers“ (apriboti vartotojo prieigą) „DenyGroups“ (apriboti grupės prieigą)
Pavyzdžiui, konfigūracijos faile galime paleisti:
 „AllowUsers Solvetic“ testai „DenyGroups“ testas

8. Kaip atnaujinti SSH Linux malonės laiką


Pagal numatytuosius nustatymus laikas, per kurį vartotojas gali likti neaktyvus neprisijungęs, yra dvi minutės, kad būtų išvengta neteisėto prisijungimo prie sistemos, šį laiką galima redaguoti eilutėje „LoginGraceTime“, didinant arba mažinant šias oro sąlygas:
 LoginGraceTime 1m

DIDELIS

9. Kaip sukurti SSH Linux slapyvardį


SSH konfigūracijose galima nurodyti slapyvardį, kuris leidžia prisijungti prie konkretaus serverio per prievadą ir apibrėžtus vartotojus, pavyzdžiui, galime pridėti:
 Priimančioji priegloba HostName dev.solvetic.com Port 3333 Vartotojas Solvetic
Šiuo konkrečiu atveju turime prieiti taip:
 3333

10. Autentifikavimas naudojant saugius SSH Linux raktus


ssh bus daug saugesnis ir naudingesnis, kai bus naudojamas su viešųjų / privačių raktų poromis autentifikavimo tikslais, o ne naudojant slaptažodžius. „Ssh_config“ failas gali deklaruoti konkretų raktą konkrečiam pagrindiniam kompiuteriui, naudodami „IdentityFile“ raktą, šiuo atveju įvesime:
 Priimančioji priegloba HostName dev.solvetic.com 3333 prievadas Vartotojas Solvetic IdentityFile ~ / .ssh / dev.solvetic.key
Šiuo atveju ryšys bus toks:
 ssh -i ~ / .ssh / dev.solvetic.key [email protected] -p 3333
Kai kurie papildomi parametrai yra šie:

SuspaudimasČia mes galime naudoti tokias vertes kaip „taip“ arba „ne“, kad įjungtume pagrindinio kompiuterio suspaudimą.
„LogLevel“Tai leidžia apibrėžti „ssh“ kliento žurnalų išsamumo lygį, parinktys yra „QUIET“, „FATAL“, „ERROR“, „INFO“, „VERBOSE“, „DEBUG1“, „DEBUG2“ ir „DEBUG3“.
„StrictHostKeyChecking“Nustatykite pirmenybę pridedant prieglobą prie failo known_hosts.

Taigi, turime įvairių galimybių pagerinti saugumą ir SSH ryšį „Linux“.

wave wave wave wave wave