ssh

Kaip apsaugoti SSH serverį „Ubuntu 20“.04 nuo „Basic“ iki „Advanced“

Kaip apsaugoti SSH serverį „Ubuntu 20“.04 nuo „Basic“ iki „Advanced“
Kaip ir visi kiti serveriai, SSH serveris taip pat linkęs į neteisėtą prieigą. Todėl, kai tik norite naudoti SSH serverį, pirmiausia turėtumėte apsvarstyti jo apsaugą, kad ilgesnėje perspektyvoje išsisaugotumėte nuo nepageidaujamų situacijų. Paprastai terminas „serverio apsauga“ taip pat žinomas kaip „serverio grūdinimas“.Tai galima padaryti imantis kelių priemonių. Šios priemonės priklauso nuo jūsų reikalaujamo saugumo lygio.

SSH serverio apsaugos priemonės svyruoja nuo pagrindinės iki patobulintos, ir, kaip jau minėjome anksčiau, jas galite pasiimti pagal jums reikalingą saugos lygį. Galite praleisti bet kurią iš nurodytų priemonių, jei turite pakankamai žinių apie pasekmes ir jei esate gerai pasirengęs su jomis susidoroti. Taip pat niekada negalime sakyti, kad vienas žingsnis užtikrins 100% saugumą, arba tam tikras žingsnis yra geresnis už kitą.

Viskas priklauso nuo to, kokio tipo saugumo mums iš tikrųjų reikia. Todėl šiandien mes ketiname suteikti jums labai išsamią informaciją apie pagrindinius ir išplėstinius veiksmus, kaip apsaugoti SSH serverį „Ubuntu 20“.04. Be šių metodų, mes taip pat pasidalinsime su jumis papildomais patarimais, kaip apsaugoti jūsų SSH serverį kaip premiją. Taigi pradėkime nuo šios dienos įdomios diskusijos.

SSH serverio apsaugos būdas „Ubuntu 20“.04:

Visos SSH konfigūracijos saugomos faile / etc / ssh / sshd_config. Šis failas laikomas labai svarbiu normaliam jūsų SSH serverio veikimui. Todėl prieš atliekant bet kokius šio failo pakeitimus, labai rekomenduojama sukurti šio failo atsarginę kopiją, terminale vykdydami šią komandą:

sudo cp / etc / ssh / sshd_config / etc / ssh / sshd_config.bak


Jei ši komanda bus sėkmingai įvykdyta, jums nebus pateikta jokia išvestis, kaip parodyta žemiau esančiame paveikslėlyje:

Sukūrus šio failo atsarginę kopiją, šis veiksmas yra neprivalomas ir atliekamas, jei norite patikrinti visas parinktis, kurios šiuo metu įgalintos šiame konfigūracijos faile. Tai galite patikrinti, vykdydami šią komandą savo terminale:

sudo sshd -T


Šiuo metu įgalintos SSH konfigūracijos failo parinktys rodomos paveikslėlyje žemiau. Norėdami peržiūrėti visas parinktis, galite slinkti žemyn šiame sąraše.

Dabar galite pradėti saugoti savo SSH serverį, pereidami nuo pagrindinių žingsnių prie išplėstinių „Ubuntu 20“ žingsnių.04.

Pagrindiniai SSH serverio apsaugos Ubuntu 20 veiksmai.04:

Pagrindiniai SSH serverio apsaugos Ubuntu 20 veiksmai.04 yra šie:

1 žingsnis: SSH konfigūracijos failo atidarymas:

SSH konfigūracijos failą galite atidaryti vykdydami toliau nurodytą komandą savo terminale:

sudo nano / etc / ssh / sshd_config


SSH konfigūracijos failas rodomas šiame paveikslėlyje:

2 žingsnis: Slaptažodžiu pagrįsto autentifikavimo išjungimas:

Užuot naudoję slaptažodžius autentifikavimui, SSH raktai laikomi saugesniais. Todėl, jei autentifikavimui sugeneravote SSH raktus, turite išjungti slaptažodžiu pagrįstą autentifikavimą. Tam reikia surasti kintamąjį „PasswordAuthentication“, jį nekomentuoti ir nustatyti jo vertę į „ne“, kaip parodyta toliau pateiktame paveikslėlyje:

3 žingsnis: Atmesti / atmesti tuščius slaptažodžius:

Kartais vartotojams yra labai patogu sukurti tuščius slaptažodžius, kad sutaupytų nuo sudėtingų slaptažodžių įsiminimo. Ši praktika gali pakenkti jūsų SSH serverio saugumui. Todėl turite atmesti visus bandymus patvirtinti tuščiais slaptažodžiais. Tam reikia surasti kintamąjį „PermitEmptyPasswords“ ir tiesiog jį atžymėti, nes pagal numatytuosius nustatymus jo vertė jau nustatyta į „ne“, kaip parodyta šiame paveikslėlyje:

4 žingsnis: uždrausti prisijungti prie šaknies:

Turėtumėte griežtai uždrausti prisijungimus prie šaknų, kad apsaugotumėte bet kokį įsibrovėlį nuo root serverio prieigos. Tai galite padaryti radę kintamąjį „PermitRootLogin“, komentuodami jį ir nustatydami jo vertę į „ne“, kaip parodyta toliau pateiktame paveikslėlyje:

5 žingsnis: 2 SSH protokolo naudojimas:

SSH serveris gali veikti dviem skirtingais protokolais, t.e., 1 protokolas ir 2 protokolas. 2 protokolas įdiegia pažangesnes saugos funkcijas, todėl jam teikiama pirmenybė, palyginti su 1 protokolu. Tačiau 1 protokolas yra numatytasis SSH protokolas ir jis nėra aiškiai paminėtas SSH konfigūracijos faile. Todėl, jei norite dirbti su 2 protokolu, o ne su 1 protokolu, prie SSH konfigūracijos failo turite aiškiai pridėti eilutę „Protokolas 2“, kaip paryškinta šiame paveikslėlyje:

6 veiksmas: nustatykite seanso skirtąjį laiką:

Kartais vartotojai labai ilgai palieka savo kompiuterius be priežiūros. Tuo tarpu bet kuris įsibrovėlis gali prieiti prie jūsų sistemos ir pažeisti jos saugumą. Čia atsiranda sesijos skirtojo laiko samprata. Ši funkcija naudojama atsijungiant vartotoją, jei jis ilgą laiką būna neaktyvus, kad niekas kitas vartotojas negalėtų pasiekti jo sistemos.

Šį skirtąjį laiką galima nustatyti suradus kintamąjį „ClientAliveInterval“, komentuojant jį ir priskiriant bet kurią pasirinktą vertę (sekundėmis). Mūsų atveju jam priskyrėme vertę „300 sekundžių“ arba „5 minutės“. Tai reiškia, kad jei vartotojas „300 sekundžių“ laikosi atokiau nuo SSH serverio, jis bus automatiškai atjungtas, kaip parodyta toliau pateiktame paveikslėlyje:

7 žingsnis: Leisti konkretiems vartotojams pasiekti SSH serverį:

SSH serveris nėra serveris, kurio prieigą reikalauja visi kiti vartotojai. Todėl prieiga turi būti ribojama tik tiems vartotojams, kuriems jos iš tikrųjų reikia. Norėdami leisti konkretiems vartotojams prisijungti prie SSH serverio, prie SSH konfigūracijos failo turite pridėti kintamąjį pavadinimu „AllowUsers“ ir tada parašyti visų tų vartotojų, kuriems norite leisti pasiekti SSH serverį, vardus atskirti tarpais. Mūsų atveju norėjome leisti tik vienam vartotojui prisijungti prie SSH serverio. Štai kodėl mes pridėjome tik jo vardą, pabrėžtą šiame paveikslėlyje:

8 žingsnis: Apribokite autentifikavimo bandymų skaičių:

Kiekvieną kartą, kai vartotojas bando prisijungti prie serverio ir jam nepavyksta autentifikuotis pirmą kartą, jis bando tai padaryti dar kartą. Vartotojas toliau bando, kol sėkmingai nesugeba autentifikuotis, taigi gauna prieigą prie SSH serverio. Tai laikoma labai nesaugia praktika, nes įsilaužėlis gali pradėti „Brute Force Attack“ (ataka, kuri pakartotinai bando atspėti slaptažodį, kol bus rastas tinkamas atitikmuo). Rezultate jis galės pasiekti jūsų SSH serverį.

Štai kodėl labai rekomenduojama apriboti autentifikavimo bandymų skaičių, kad būtų išvengta slaptažodžių atspėjimo atakų. Numatytoji bandymų atpažinti SSH serverį vertė yra „6“. Tačiau galite jį pakeisti, atsižvelgdami į reikalingą saugos lygį. Tam reikia surasti „MaxAuthTries“ kintamuosius, jį komentuoti ir nustatyti jo vertę į norimą skaičių. Norėjome apriboti autentifikavimo bandymus iki „3“, kaip parodyta toliau pateiktame paveikslėlyje:

9 žingsnis: SSH serverio paleidimas bandymo režimu:

Dabar jau atlikome visus pagrindinius veiksmus, kad apsaugotume savo SSH serverį „Ubuntu 20“.04. Tačiau vis tiek turime įsitikinti, kad ką tik sukonfigūruotos parinktys veikia tinkamai. Tam pirmiausia išsaugosime ir uždarysime savo konfigūracijos failą. Tai padarę bandysime paleisti SSH serverį bandymo režimu. Jei jis sėkmingai veikia bandymo režimu, tai reiškia, kad jūsų konfigūracijos faile nėra klaidų. SSH serverį galite paleisti bandymo režimu, terminale vykdydami šią komandą:

sudo sshd -t


Kai ši komanda bus sėkmingai įvykdyta, terminale nebus rodoma jokia išvestis, kaip parodyta žemiau esančiame paveikslėlyje. Tačiau, jei jūsų konfigūracijos faile bus kokių nors klaidų, paleidus šią komandą šios klaidos bus padarytos terminale. Tada turėsite ištaisyti tas klaidas. Tik tada galėsite tęsti toliau.

10 žingsnis: Iš naujo įkelkite SSH serverį su naujomis konfigūracijomis:

Dabar, kai SSH serveris sėkmingai veikė bandymo režimu, turime jį iš naujo įkelti, kad jis galėtų perskaityti naują konfigūracijos failą, t.e., pakeitimai, kuriuos atlikome SSH konfigūracijos faile atlikdami aukščiau nurodytus veiksmus. Norėdami iš naujo įkelti SSH serverį su naujomis konfigūracijomis, savo terminale turite paleisti šią komandą:

sudo tarnyba sshd perkrauti


Jei jūsų SSH serveris bus sėkmingai paleistas iš naujo, terminalas nerodys jokio išvesties, kaip parodyta žemiau esančiame paveikslėlyje:

Išplėstiniai veiksmai, kaip apsaugoti SSH serverį „Ubuntu 20“.04:

Atlikę visus pagrindinius SSH serverio apsaugos veiksmus „Ubuntu 20“.04, pagaliau galite pereiti prie pažengusių žingsnių. Tai tik žingsnis į priekį norint apsaugoti savo SSH serverį. Tačiau jei ketinate pasiekti tik vidutinį saugumo lygį, pakaks aukščiau aprašytų veiksmų. Bet jei norite eiti šiek tiek toliau, galite atlikti toliau paaiškintus veiksmus:

1 žingsnis: Atidarykite ~ /.ssh / Author_keys failas:

Pagrindiniai SSH serverio apsaugos žingsniai įgyvendinami SSH konfigūracijos faile. Tai reiškia, kad ši politika bus tinkama visiems vartotojams, kurie bandys prisijungti prie SSH serverio. Tai taip pat reiškia, kad pagrindiniai žingsniai reiškia bendrą SSH serverio apsaugos metodą. Tačiau jei bandysime apsvarstyti „Gynybos gylio“ principą, suprasime, kad kiekvieną atskirą SSH raktą turime saugoti atskirai. Tai galima padaryti apibrėžiant aiškius kiekvieno atskiro rakto saugumo parametrus. SSH raktai saugomi ~ /.ssh / authorised_keys failą, todėl pirmiausia pasieksime šį failą, kad pakeistume saugos parametrus. Terminale vykdysime šią komandą, kad galėtume pasiekti ~ /.failas „ssh“ / „authorised_keys“:

sudo nano ~ /.ssh / Author_keys

Vykdydami šią komandą, atidarysite nurodytą failą su nano redaktoriumi. Tačiau norint atidaryti šį failą, taip pat galite naudoti bet kurį kitą pasirinktą teksto redaktorių. Šiame faile bus visi SSH raktai, kuriuos sukūrėte iki šiol.

2 žingsnis: Konkrečių konkrečių raktų konfigūracijų apibrėžimas:

Norint pasiekti aukštesnį saugos lygį, yra šios penkios galimybės:

Šias parinktis galima parašyti prieš bet kurį pasirinktą SSH raktą, kad jie būtų prieinami tam konkrečiam raktui. Vienam SSH raktui taip pat galima sukonfigūruoti daugiau nei vieną parinktį. Pvz., Norite išjungti bet kurio konkretaus rakto prievadų persiuntimą arba, kitaip tariant, norite įgyvendinti konkretaus rakto persiuntimą be prievado, tada sintaksė bus tokia:

persiuntimas be uosto „DesiredSSHKey“

Čia vietoj „DesiredSSHKey“ turėsite faktinį SSH raktą savo ~ /.failas „ssh“ / „authorised_keys“. Pritaikę šias parinktis norimiems SSH raktams, turėsite išsaugoti ~ /.ssh / authorised_keys failą ir jį uždarykite. Apie šį išplėstinį metodą gerai tai, kad atlikus šiuos pakeitimus nereikalaus iš naujo įkelti SSH serverio. Šiuos pakeitimus jūsų SSH serveris skaitys automatiškai.

Tokiu būdu galėsite giliai apsaugoti kiekvieną SSH raktą, naudodami pažangius saugumo mechanizmus.

Keli papildomi patarimai, kaip apsaugoti SSH serverį „Ubuntu 20“.04:

Be visų pagrindinių ir pažangesnių žingsnių, kuriuos atlikome aukščiau, taip pat yra keletas papildomų patarimų, kurie gali būti labai naudingi norint apsaugoti SSH serverį „Ubuntu 20“.04. Šie papildomi patarimai buvo aptarti toliau:

Laikykite duomenis užšifruotus:

Duomenys, esantys jūsų SSH serveryje, taip pat tie, kurie lieka perduodami, turi būti užšifruoti, taip pat naudojant stiprų šifravimo algoritmą. Tai ne tik apsaugos jūsų duomenų vientisumą ir konfidencialumą, bet ir užkirs kelią viso SSH serverio saugumui.

Atnaujinkite savo programinę įrangą:

Jūsų SSH serveryje veikianti programinė įranga turi būti atnaujinta. Tai daroma siekiant užtikrinti, kad jokios jūsų programinės įrangos saugos klaidos neliktų be priežiūros. Greičiau jie turėtų būti laiku užlopyti. Tai ilgainiui sutaupys jus nuo bet kokios galimos žalos, taip pat neleis jūsų serveriui nusileisti ar nepasiekti dėl saugumo problemų.

Įsitikinkite, kad įgalinta „SELinux“:

„SELinux“ yra mechanizmas, padedantis „Linux“ pagrįstų sistemų saugumo pagrindą. Tai veikia įgyvendinant privalomą prieigos kontrolę (MAC). Šį prieigos kontrolės modelį jis įgyvendina apibrėždamas prieigos taisykles savo saugumo politikoje. Šis mechanizmas yra įjungtas pagal numatytuosius nustatymus. Tačiau vartotojams leidžiama bet kada pakeisti šį nustatymą. Tai reiškia, kad jie gali išjungti „SELinux“, kai tik nori. Vis dėlto primygtinai rekomenduojama visada laikyti įjungtą „SELinux“, kad tai apsaugotų jūsų SSH serverį nuo visų galimų žalos.

Naudokite griežtą slaptažodžių politiką:

Jei apsaugojote savo SSH serverį slaptažodžiais, turite sukurti tvirtą slaptažodžių politiką. Idealiu atveju slaptažodžiai turėtų būti ilgesni nei 8 simboliai. Jie turėtų būti keičiami po nurodyto laiko, tarkime, po kas 2 mėnesių. Juose neturėtų būti žodynų žodžių; jie turėtų būti abėcėlių, skaičių ir specialiųjų simbolių derinys. Panašiai galite apibrėžti keletą kitų griežtų slaptažodžių politikos priemonių, kad užtikrintumėte, jog jos yra pakankamai stiprios.

Stebėkite ir prižiūrėkite savo SSH serverio audito žurnalus:

Jei kas nors nepavyksta jūsų SSH serveryje, jūsų pirmasis pagalbininkas gali būti audito žurnalai. Todėl turite nuolat tvarkyti tuos žurnalus, kad galėtumėte atsekti pagrindinę problemos priežastį. Be to, jei nuolat stebėsite savo SSH serverio būklę ir darbą, tai taip pat padės išvengti visų svarbiausių problemų.

Reguliariai saugokite savo duomenų atsargines kopijas:

Paskutinis, bet ne mažiau svarbus dalykas - visada turėtumėte saugoti viso SSH serverio atsarginę kopiją. Tai atlikę ne tik išsaugosite duomenis sugadintus ar visiškai prarastus; greičiau, jūs taip pat galite naudoti šį atsarginį serverį, kai jūsų pagrindinis serveris neveikia. Tai taip pat apribos serverio prastovą ir užtikrins jo prieinamumą.

Išvada:

Pasirūpinę visomis šiame straipsnyje nurodytomis priemonėmis, galite lengvai apsaugoti arba sustiprinti SSH serverį „Ubuntu 20“.04. Tačiau, jei esate iš informacijos saugumo, turėtumėte gerai žinoti šį faktą, kad nėra nieko panašaus į 100% saugumą. Viskas, ką galime gauti, yra geriausias pažadas dėti pastangas, o šios pastangos bus saugios tik tol, kol jos taip pat nebus pažeistos. Štai kodėl net ir atlikus visas šias priemones negalima teigti, kad jūsų SSH serveris yra 100% saugus; veikiau jis vis tiek gali turėti tokių pažeidžiamumų, apie kuriuos niekada negalėjai net pagalvoti. Tokiais pažeidžiamumais galima pasirūpinti tik tuo atveju, jei mes atidžiai stebime savo SSH serverį ir nuolat jį atnaujiname, kai to reikia.

Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...
Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...