ssh

SSH-palvelimen suojaaminen Ubuntu 20 ssa.04 perusasetuksista edistyneisiin

SSH-palvelimen suojaaminen Ubuntu 20 ssa.04 perusasetuksista edistyneisiin
Aivan kuten kaikki muutkin palvelimet, SSH-palvelin on taipuvainen luvattomille pääsyyrityksille. Siksi aina, kun haluat käyttää SSH-palvelinta, sinun on ensin harkittava sen suojaamista pelastaaksesi itsesi ei-toivotuista tilanteista pitkällä aikavälillä. Yleensä termi "palvelimen suojaaminen" tunnetaan myös nimellä "palvelimen karkaisu".”Tämä voidaan tehdä toteuttamalla useita toimenpiteitä. Nämä toimenpiteet riippuvat tarvitsemastasi suojaustasosta.

SSH-palvelimen suojaustoimenpiteet vaihtelevat perusasetuksista edistyneisiin, ja kuten aiemmin sanoimme, voit noutaa ne tarvitsemasi suojaustason mukaan. Voit ohittaa määrätyt toimenpiteet, jos sinulla on riittävät tiedot seurauksista ja jos pystyt kohtaamaan ne. Emme myöskään voi koskaan sanoa, että yksi askel takaa 100-prosenttisen turvallisuuden tai tietty askel on parempi kuin toinen.

Kaikki riippuu siitä, minkä tyyppistä turvallisuutta todella tarvitsemme. Siksi aiomme tänään antaa sinulle erittäin syvällisen käsityksen perus- ja edistyneistä vaiheista SSH-palvelimen suojaamiseksi Ubuntu 20: ssä.04. Näiden menetelmien lisäksi jaamme myös kanssasi lisää vinkkejä SSH-palvelimesi suojaamiseen bonuksena. Joten aloitetaan tämän päivän mielenkiintoinen keskustelu.

Menetelmä SSH-palvelimen suojaamiseksi Ubuntu 20: ssa.04:

Kaikki SSH-kokoonpanot tallennetaan tiedostoon / etc / ssh / sshd_config. Tätä tiedostoa pidetään erittäin tärkeänä SSH-palvelimen normaalille toiminnalle. Siksi, ennen kuin teet mitään muutoksia tähän tiedostoon, on erittäin suositeltavaa luoda varmuuskopio tästä tiedostosta suorittamalla seuraava komento päätelaitteessasi:

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


Jos tämä komento suoritetaan onnistuneesti, sinulle ei näytetä mitään lähtöä, kuten alla olevassa kuvassa näkyy:

Kun olet luonut varmuuskopion tiedostosta, tämä vaihe on valinnainen ja suoritetaan, jos haluat tarkistaa kaikki asetukset, jotka ovat tällä hetkellä käytössä tässä kokoonpanotiedostossa. Voit tarkistaa sen suorittamalla seuraavan komennon päätelaitteessasi:

sudo sshd -T


SSH-määritystiedoston tällä hetkellä käytössä olevat vaihtoehdot näkyvät alla olevassa kuvassa. Voit vierittää tätä luetteloa alaspäin nähdäksesi kaikki vaihtoehdot.

Nyt voit aloittaa SSH-palvelimesi suojaamisen siirtymällä perusvaiheista edistyneisiin vaiheisiin Ubuntu 20: ssa.04.

Perustoiminnot SSH-palvelimen suojaamiseksi Ubuntu 20: ssa.04:

Perusvaiheet SSH-palvelimen suojaamiseksi Ubuntu 20: ssa.04 ovat seuraavat:

Vaihe 1: SSH-määritystiedoston avaaminen:

Voit avata SSH-määritystiedoston suorittamalla alla olevan komennon päätelaitteessasi:

sudo nano / etc / ssh / sshd_config


SSH-määritystiedosto näkyy seuraavassa kuvassa:

Vaihe 2: Salasanapohjaisen todennuksen poistaminen käytöstä:

Sen sijaan, että käytetään salasanoja todennuksessa, SSH-avaimia pidetään turvallisempina. Siksi, jos olet luonut SSH-avaimet todennusta varten, sinun on poistettava salasanapohjainen todennus käytöstä. Tätä varten sinun on löydettävä "PasswordAuthentication" -muuttuja, poistettava komento ja asetettava sen arvoksi "ei", kuten alla olevassa kuvassa korostetaan:

Vaihe 3: Tyhjien salasanojen hylkääminen / kieltäminen:

Toisinaan käyttäjien on erittäin kätevää luoda tyhjiä salasanoja säästääkseen itsensä muistamasta monimutkaisia ​​salasanoja. Tämä käytäntö voi osoittautua vahingolliseksi SSH-palvelimesi turvallisuudelle. Siksi sinun on hylättävä kaikki todennusyritykset tyhjillä salasanoilla. Tätä varten sinun on löydettävä PermitEmptyPasswords-muuttuja ja vain poistettava komento, koska sen arvo on jo oletusarvoisesti "ei", kuten seuraavassa kuvassa korostetaan:

Vaihe 4: Root-kirjautumisen kieltäminen:

Sinun tulisi ehdottomasti kieltää pääkäyttäjätunnukset suojaamaan kaikkia tunkeilijoita pääsemästä päätasolle palvelimelle. Voit tehdä tämän etsimällä "PermitRootLogin" -muuttujan, poistamalla kommentin ja asettamalla sen arvoksi "ei", kuten alla olevassa kuvassa korostetaan:

Vaihe 5: SSH-protokollan 2 käyttäminen:

SSH-palvelin voi toimia kahdella eri protokollalla, ts.e., Pöytäkirja 1 ja 2. Protokolla 2 ottaa käyttöön kehittyneempiä turvaominaisuuksia, minkä vuoksi se on parempana kuin protokolla 1. Protokolla 1 on kuitenkin SSH: n oletusprotokolla, eikä sitä nimenomaisesti mainita SSH: n määritystiedostossa. Siksi, jos haluat työskennellä protokollan 2 kanssa protokollan 1 sijasta, sinun on lisättävä nimenomaisesti rivi ”Protokolla 2” SSH-määritystiedostoosi seuraavan kuvan mukaisesti:

Vaihe # 6: Istunnon aikakatkaisun asettaminen:

Toisinaan käyttäjät jättävät tietokoneensa vartioimatta pitkään. Sillä välin kuka tahansa tunkeilija voi tulla ja päästä käsiksi järjestelmään samalla, kun se rikkoo sen turvallisuutta. Tässä tulee esiin istunnon aikakatkaisun käsite. Tätä ominaisuutta käytetään kirjautumaan ulos käyttäjästä, jos hän pysyy passiivisena pitkään, jotta kukaan muu käyttäjä ei pääse hänen järjestelmäänsä.

Tämä aikakatkaisu voidaan asettaa etsimällä "ClientAliveInterval" -muuttuja, poistamalla komento ja antamalla sille haluamasi arvo (sekunteina). Meidän tapauksessamme olemme antaneet sille arvon "300 sekuntia" tai "5 minuuttia". Se tarkoittaa, että jos käyttäjä pysyy poissa SSH-palvelimesta ”300 sekunnin ajan”, hänet kirjataan ulos automaattisesti alla olevan kuvan korostuksella:

Vaihe # 7: Tiettyjen käyttäjien salliminen käyttää SSH-palvelinta:

SSH-palvelin ei ole palvelin, jonka käyttöä tarvitsevat kaikki muut käyttäjät. Siksi sen käyttö on rajoitettava vain käyttäjille, jotka sitä todella tarvitsevat. Jotta tietyt käyttäjät voisivat käyttää SSH-palvelinta, sinun on lisättävä muuttuja nimeltä AllowUsers SSH-määritystiedostoon ja kirjoitettava sitten kaikkien niiden käyttäjien nimet, joiden haluat sallia pääsyn SSH-palvelimeen välilyönnillä. Meidän tapauksessamme halusimme sallia vain yhden käyttäjän pääsyn SSH-palvelimeen. Siksi olemme lisänneet hänen nimensä vain seuraavassa kuvassa korostettuna:

Vaihe 8: Todennusyritysten määrän rajoittaminen:

Aina kun käyttäjä yrittää käyttää palvelinta, mutta hän ei pysty todentamaan itseään ensimmäistä kertaa, hän yrittää tehdä sen uudelleen. Käyttäjä jatkaa näitä yrityksiä, kunnes hän onnistuu todentamaan itsensä, jolloin hän pääsee SSH-palvelimeen. Tätä pidetään erittäin epävarmana käytäntönä, koska hakkeri voi käynnistää Brute Force Attackin (hyökkäys, joka yrittää toistuvasti arvata salasanan, kunnes oikea ottelu löytyy). Tuloksena hän voi päästä käsiksi SSH-palvelimeesi.

Siksi on erittäin suositeltavaa rajoittaa todennusyritysten määrää estääksesi salasanan arvailuhyökkäykset. SSH-palvelimen todennusyritysten oletusarvo on “6”. Voit kuitenkin muuttaa sitä vaaditun suojaustason mukaan. Tätä varten sinun on löydettävä "MaxAuthTries" -muuttujat, poistettava komento ja asetettava sen arvo haluamaasi numeroon. Halusimme rajoittaa todennusyritykset arvoon "3", kuten alla olevassa kuvassa korostetaan:

Vaihe 9: SSH-palvelimen suorittaminen testitilassa:

Tähän mennessä olemme toteuttaneet kaikki perusvaiheet SSH-palvelimen suojaamiseksi Ubuntu 20: lla.04. Meidän on kuitenkin vielä varmistettava, että juuri määrittelemämme vaihtoehdot toimivat oikein. Tätä varten tallennamme ja suljet ensin kokoonpanotiedostomme. Sen jälkeen yritämme käyttää SSH-palvelinta testitilassa. Jos se toimii onnistuneesti testitilassa, se tarkoittaa, että määritystiedostossasi ei ole virheitä. Voit käyttää SSH-palvelinta testitilassa suorittamalla terminaalissa seuraavan komennon:

sudo sshd -t


Kun tämä komento suoritetaan onnistuneesti, se ei näytä päätelaitteessa mitään lähtöä, kuten alla olevassa kuvassa näkyy. Jos määritystiedostossasi on virheitä, tämän komennon suorittaminen tekee nämä virheet päätelaitteessa. Sitten sinun on tarkoitus korjata nämä virheet. Vasta sitten voit edetä pidemmälle.

Vaihe 10: SSH-palvelimen lataaminen uusilla kokoonpanoilla:

Nyt kun SSH-palvelin suoritettiin onnistuneesti testitilassa, meidän on ladattava se uudelleen, jotta se voi lukea uuden määritystiedoston,.e., SSH-määritystiedostoon edellä kuvatuissa vaiheissa tekemämme muutokset. Jos haluat ladata SSH-palvelimen uudelleen uusilla kokoonpanoilla, sinun on suoritettava seuraava komento päätelaitteessasi:

sudo service sshd lataa


Jos SSH-palvelimesi käynnistetään uudelleen onnistuneesti, pääte ei näytä mitään lähtöä, kuten alla olevassa kuvassa näkyy:

Edistyneet vaiheet SSH-palvelimen suojaamiseksi Ubuntu 20: ssa.04:

Suoritettuasi kaikki perusvaiheet SSH-palvelimen suojaamiseksi Ubuntu 20: ssa.04, voit vihdoin siirtyä edistyneisiin vaiheisiin. Tämä on vain askel eteenpäin SSH-palvelimesi suojaamiseksi. Jos kuitenkin aiot saavuttaa vain kohtuullisen turvallisuustason, yllä kuvatut vaiheet ovat riittäviä. Mutta jos haluat mennä hieman kauemmas, voit seurata seuraavia ohjeita:

Vaihe # 1: ~ / avaaminen.ssh / Authorized_keys-tiedosto:

SSH-palvelimen suojaamisen perusvaiheet toteutetaan SSH-määritystiedostossa. Tämä tarkoittaa, että nämä käytännöt sopivat kaikille käyttäjille, jotka yrittävät käyttää SSH-palvelinta. Se tarkoittaa myös, että perusvaiheet edustavat yleistä menetelmää SSH-palvelimen suojaamiseksi. Jos kuitenkin yritämme ottaa huomioon "Defence in Depth" -periaatteen, ymmärrämme, että meidän on suojattava kukin SSH-avain erikseen. Tämä voidaan tehdä määrittelemällä nimenomaiset suojausparametrit kullekin yksittäiselle avaimelle. SSH-avaimet tallennetaan ~ /.ssh / Authorized_keys-tiedosto, joten pääsemme ensin tähän tiedostoon muokkaamaan suojausparametreja. Suoritamme seuraavan komennon terminaalissa päästäksesi ~ /.ssh / authorised_keys-tiedosto:

sudo nano ~ /.ssh / valtuutetut avaimet

Tämän komennon suorittaminen avaa määritetyn tiedoston nano-editorilla. Voit kuitenkin käyttää mitä tahansa muuta valitsemaasi tekstieditoria tämän tiedoston avaamiseen. Tämä tiedosto sisältää kaikki SSH-avaimet, jotka olet luonut tähän mennessä.

Vaihe 2: Määritä erityiset kokoonpanot tietyille näppäimille:

Edistyneen turvallisuustason saavuttamiseksi on käytettävissä seuraavat viisi vaihtoehtoa:

Nämä vaihtoehdot voidaan kirjoittaa ennen valitsemaasi SSH-avainta, jotta ne ovat käytettävissä kyseiselle avaimelle. Jopa useampi kuin yksi vaihtoehto voidaan määrittää myös yhdelle SSH-avaimelle. Esimerkiksi haluat poistaa portin edelleenlähetyksen tietyltä avaimelta tai toisin sanoen haluat toteuttaa porttia välittämättömän siirron tietylle avaimelle, syntaksin muoto on seuraava:

no-port-forwarding DesiredSSHKey

Tässä, DesiredSSHKey-avaimen sijaan, sinulla on todellinen SSH-avain ~ /.ssh / Authorized_keys-tiedosto. Kun olet ottanut nämä asetukset käyttöön haluamillesi SSH-avaimille, sinun on tallennettava ~ /.ssh / authorised_keys-tiedosto ja sulje se. Hyvä tämä edistyneestä menetelmästä on, että se ei vaadi sinua lataamaan SSH-palvelinta uudelleen näiden muutosten tekemisen jälkeen. Sen sijaan SSH-palvelimesi lukee nämä muutokset automaattisesti.

Tällä tavalla voit suojata kukin SSH-avaimen perusteellisesti soveltamalla edistyneitä suojausmekanismeja.

Joitakin lisävinkkejä SSH-palvelimen suojaamiseen Ubuntu 20: ssa.04:

Kaikkien yllä suorittamiemme perus- ja edistyneiden vaiheiden lisäksi on myös joitain lisävinkkejä, jotka voivat osoittautua erittäin hyviksi SSH-palvelimen suojaamiseksi Ubuntu 20: ssä.04. Näitä lisävinkkejä on käsitelty alla:

Pidä tietosi salattuna:

SSH-palvelimellasi olevat tiedot, samoin kuin siirrossa olevat, on salattava ja myös vahvalla salausalgoritmilla. Tämä suojaa paitsi tietojesi eheyttä ja luottamuksellisuutta, mutta myös estää koko SSH-palvelimesi turvallisuuden vaarantumasta.

Pidä ohjelmisto ajan tasalla:

SSH-palvelimellasi käytettävän ohjelmiston on oltava ajan tasalla. Tämä tehdään sen varmistamiseksi, että ohjelmistosi tietoturvavirheet eivät jää valvomatta. Pikemminkin ne tulisi korjata hyvissä ajoin. Tämä säästää sinut mahdollisilta haitoilta pitkällä aikavälillä ja myös estää palvelinta menemästä alas tai olemasta poissa käytöstä tietoturvaongelmien vuoksi.

Varmista, että SELinux on käytössä:

SELinux on mekanismi, joka asettaa Linux-pohjaisten järjestelmien turvallisuuden perustan. Se toimii toteuttamalla pakollinen kulunvalvonta (MAC). Se toteuttaa tämän kulunvalvontamallin määrittelemällä pääsysäännöt turvallisuuspolitiikkaansa. Tämä mekanismi on oletusarvoisesti käytössä. Käyttäjät voivat kuitenkin muuttaa tätä asetusta milloin tahansa. Se tarkoittaa, että he voivat poistaa SELinuxin käytöstä milloin tahansa. On kuitenkin erittäin suositeltavaa, että pidät SELinuxin aina käytössä, jotta se voi estää SSH-palvelinta kaikilta mahdollisilta haitoilta.

Käytä tiukkoja salasanakäytäntöjä:

Jos olet suojannut SSH-palvelimesi salasanoilla, sinun on luotava vahvat salasanakäytännöt. Ihannetapauksessa salasanojen tulisi olla yli 8 merkkiä pitkiä. Ne tulisi vaihtaa tietyn ajan kuluttua, esimerkiksi kahden kuukauden välein. Niissä ei saa olla sanakirjasanoja; pikemminkin niiden tulisi olla aakkosien, numeroiden ja erikoismerkkien yhdistelmä. Vastaavasti voit määrittää joitain muita erityisen tiukkoja toimenpiteitä salasanakäytännöillesi sen varmistamiseksi, että ne ovat riittävän vahvoja.

Tarkkaile ja ylläpidä SSH-palvelimesi tarkastuslokeja:

Jos jotain menee pieleen SSH-palvelimellasi, ensimmäinen apuasi voi olla tarkastuslokit. Siksi sinun on ylläpidettävä näitä lokeja, jotta voit jäljittää ongelman perimmäisen syyn. Lisäksi, jos seuraat jatkuvasti SSH-palvelimesi kuntoa ja toimintaa, se estää myös merkittävien ongelmien esiintymisen ensinnäkin.

Säilytä tietojesi säännölliset varmuuskopiot:

Viimeisenä mutta ei vähäisimpänä, sinun tulee aina pitää varmuuskopio koko SSH-palvelimestasi. Tämän tekeminen ei pelkästään tallenna tietojasi vioittumiselta tai kokonaan kadottamiselta; pikemminkin voit käyttää tätä varmuuskopiointipalvelinta aina, kun pääpalvelimesi menee alas. Tämä myös rajoittaa palvelimen seisokkeja ja varmistaa sen saatavuuden.

Päätelmä:

Huolehtimalla kaikista tässä artikkelissa määrätyistä toimenpiteistä voit helposti suojata tai karkaista SSH-palvelimesi Ubuntu 20: ssä.04. Jos sinulla on tietoturva-tausta, sinun on kuitenkin tiedettävä tämä tosiasia, että mikään ei ole kuin 100-prosenttinen turvallisuus. Voimme saada vain parhaan ponnistelulupauksen, ja se on turvallista vain siihen saakka, kunnes se myös rikkotaan. Siksi edes näiden toimenpiteiden jälkeen et voi sanoa, että SSH-palvelimesi on 100% turvallinen; pikemminkin siinä voi silti olla sellaisia ​​haavoittuvuuksia, joita et olisi voinut edes edes ajatella. Tällaisista haavoittuvuuksista voidaan huolehtia vain, jos pidämme tarkkaan silmällä SSH-palvelinta ja päivitämme sitä jatkuvasti, kun sitä tarvitaan.

How to Develop a Game on Linux
A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...