Kuinka mukauttaa SSH-asetuksia maksimaalisen turvallisuuden takaamiseksi
Unix-järjestelmän SSH-määritystiedosto ohjaa suojatun kuoren toimintaa. Sitä voidaan käyttää helpottamaan ssh-komennon käyttöä, määrittämään käyttäjän haluamat toiminnot tai vahvistamaan tietoturvaa mahdollisia hyökkäyksiä vastaan. Vaikka suhteellisen yksinkertaiset toiminnot, kuten laitteiden ssh-portin vaihtaminen, voivat usein eliminoida suuren määrän ssh "kylmiä puheluja" koneessa, ssh-määritystiedosto voi tehdä paljon enemmän.
Missä on SSH-määritystiedosto?
Linux-järjestelmissä löydät koko järjestelmän kattavan ssh-määritystiedoston kansiosta "/ etc / ssh / ssh / ssh_config".
MacOS-järjestelmissä sama tiedosto löytyy kansiosta "/ private / etc / ssh / ssh_config", joka on symbolisesti linkitetty tiedostoon "/ etc / ssh / ssh_config" yhteensopivuuden vuoksi.
Toinen käyttäjäkohtainen ssh_config-tiedosto löytyy kansiosta "~ / .ssh / ssh_config" ("~" -merkki edustaa kotihakemistoa). Tämä tiedosto korvaa koko järjestelmän kattavan määritystiedoston, jolloin voit määrittää käyttäjäkohtaiset asetukset muuttamatta järjestelmäasetuksia. Järjestelmät eivät aina sisällä "~ / .ssh / ssh_config" -tiedostoa, mutta se voidaan luoda helposti.
Tästä eteenpäin viitataan tähän asetustiedostoon nimellä "ssh_config" selkeyden ja yksinkertaisuuden vuoksi.
Liittyvät Salasanattomien SSH-kirjautumisten käyttöönotto Linuxissa
Ssh_config-tiedoston muokkaaminen
Jos haluat muokata ssh_config-tiedostoa, avaa pääteikkuna ja muokkaa tiedostoa suosikkitekstieditorilla. Käytämme tässä demossa nanoa, mutta voit käyttää sen sijaan vi- tai emacs-tiedostoja.
sudo nano /etc/ssh/ssh_config
Tämä avaa tiedoston, jossa on kymmeniä kommentoituja rivejä, jotka selittävät tiedoston tekemisen, mutta se ei ole täydellinen selitys.
Mikä on ssh_config-tiedosto ja mitä ssh_config tekee?
Ssh_config-tiedostoa käytetään hallitsemaan, kuinka suojattu kuori, joka tunnetaan paremmin nimellä ssh-terminaalikomento, toimii järjestelmässäsi. Ssh_config-tiedoston järjestävät isännät. Jokainen isäntä sisältää tietyt asetukset kyseiselle isännälle. Jokerimerkkejä, kuten *, voidaan käyttää sovittamaan useita isäntänimiä yhteen ilmoitukseen.
Vaihtoehdot ilmoitetaan käyttämällä avain- / määritysparia. Saatavilla on monia avaimia. Yksityiskohtainen kuvaus kunkin avaimen toiminnallisuudesta löytyy man-sivulta ssh_config .
SSH-kokoonpanon vahvistaminen
Tiedostojen lukitseminen: Ennen kuin muokkaat tiedostoa, varmista, että ssh_config- ja sshd_config-tiedostoissa omistaja ja käyttäjä on asetettu juuriksi. Useimmissa tapauksissa haluat myös kieltää käyttöoikeudet muille kuin juurille.
sudo chown -juuri: root / etc / ssh / sshd_config
sudo chmod og-rwx / etc / ssh / sshd_config
Vahvista SSH-protokolla 2
Varmista, että käytät uutta, modernia Protokolla 2 Protokollan 1 sijaan. Vanha protokolla toimii heikommalla eheystarkistuksella ja on yleensä vähemmän turvallinen.
Voit määrittää protokollan nimenomaisesti käyttämällä seuraavaa ssh_config-tiedostossa:
Protocolo 2
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>.
Voit myös määrittää implisiittisesti protokollasi salauksilla, jotka asettavat protokollaksi automaattisesti 2 käyttämään moderneja salauksia.
Kuviot aes128-ctr, aes192-ctr, aes256-ctr
Poista tyhjä salasana käytöstä
Varmista, että jokainen SSH-tili käyttää salasanaa sisäänkirjautumisen yhteydessä estämällä tyhjät salasanat.
PermitEmptyPasswords ei> PermitEmptyPasswords
Poista root-kirjautuminen käytöstä
Rootia tulisi käyttää harvoin useimpiin Linux-käyttöihin. Juurihakemiston estäminen antaa sinun lukita tilit nimenomaisesti tarpeita varten ja estää koko järjestelmän käytön. Tämä on myös hyökkäyksen kohteena oleva tili. PermitRootLogin-vaihtoehdot sisältävät "kyllä", "ei salasanaa", "vain pakotetut komennot" tai "ei". Oletusarvo on "kyllä". Voit lopettaa pääkäyttäjän kirjautumisen napsauttamalla alla olevaa riviä.
PermitRootLogin nro
Vaihda portin numero
Voit muuttaa portin numeroksi 22 (oletus) rajoittaaksesi yhteyksiä kyseisen portin palvelimeen. Tämä rajoittaa useimpien komentosarjaa käyttävien ihmisten pääsyä kyseiseen porttiin tai hyökkäystä kyseiseen porttiin manuaalisesti. Tämä ei kuitenkaan rajoita niitä, jotka skannaavat avoimia ovia ja hyökkäävät auki oleviin. Lisäksi sinun on varmistettava, että kuka tahansa, joka käyttää tätä porttia, tietää uuden numeron ja että mikä tahansa asiakas tai ohjelmisto käyttää uutta portin numeroa.
Määritä portti vaihtamalla ssh-päädemonemoniksi "/ etc / ssh / sshd_config". Sinun on lisättävä uusi rivi, joka määrittelee portin XXXXX-portin syntaksin mukaisesti.
Rajoitettu pääsy
Jos palvelimellesi kirjautuu useita ihmisiä, haluat ehkä rajoittaa ssh: n käyttöä kokonaan. Näissä tapauksissa voit sallia ja kieltää sekä käyttäjät että ryhmät. Tätä varten sinun on käytettävä yhtä seuraavista avaimista ja sen jälkeen arvoja, jotka haluat sallia tai kieltää: DenyUsers, AllowUsers, DenyGroups ja AllowGroups. Tämä suoritetaan tässä järjestyksessä, joten vaikka sallit käyttäjän löytyvän "estä käyttäjät" -osiossa, häneltä evätään.
Salli käyttäjien ramesh john jason
AllowGroups sysadmin dba
Estä Apache CVS -käyttäjät Jane
DenyGroups-kehittäjät qa>
Päivitä LoginGraceTime
Oletusarvoisesti aika, jonka henkilön on pysyttävä passiivisena kirjautumatta sisään, on kaksi minuuttia. Tämän rajoittaminen auttaa estämään luvattomat yhteydet. Tyypillinen vinkki on minuutti tai vähemmän. Aseta aika LoginGraceTime-toiminnolla.
LoginGraceTime 1m
SSH-asetusten mukauttaminen
Luo aliaksia
Ssh-komentoriviasetukset voidaan määrittää aliaksen kautta osoitteessa ssh_config. Seuraava alias antaa käyttäjän muodostaa yhteyden kehityspalvelimeen määritetyillä vaihtoehdoilla yksinkertaisesti kirjoittamalla ssh dev komentoriville.
Isäntäkehitys
Isäntänimi dev.example.com
Portti 22222
Käyttäjä Foobar
Tämä suorittaa seuraavan komennon suoritettaessa:
ssh [email protected] -p 22222
Huomaa, että ssh-portti on vaihdettu arvoon 22222, jotta vältetään puhelut. Muuten se on hyvin yksinkertainen ssh-yhteys, jota monet merkit ovat lyhentäneet mukavuuden vuoksi.
Todennus suojatuilla avainparilla
ssh on turvallisempi ja kätevämpi, kun sitä käytetään todennukseen julkisten / yksityisten avainparien kanssa, eikä salasanojen kanssa. Ssh_config-tiedosto voi ilmoittaa tietyn avaimen tietylle isännälle käyttämällä IdentityFile-avainta.
Isäntäkehitys
Isäntänimi dev.example.com
Portti 22222
Käyttäjä Foobar
IdentityFile ~ / .ssh / dev.example.key
Kuten edellisissä esimerkeissä, tämä ssh-komento suoritetaan ssh dev: llä suorittamalla seuraava vastaava komento komentorivillä:
ssh -i ~/.ssh/dev.example.key [email protected] -p 22222
Muiden ssh-asetusten asettaminen
Seuraavat ssh-asetukset ovat joitain yleisempiä avaimia, jotka löytyvät ssh_config-tiedostoista.
Pakkaus: Tämä avain hyväksyy "kyllä" tai "ei" argumentteina ja sitä käytetään pakkauksen poistamisen käytöstä isännässä. Tämä ei yleensä ole tarpeen, ellei yhteys ole uskomattoman hidasta.
Lokitaso: Aseta ssh-asiakaspuolen lokien sujuvuuden taso. Vähintään yksityiskohtaisimmat vaihtoehdot ovat QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG1, DEBUG2 ja DEBUG3.
StrictHostKeyChecking: Määritä isäntien lisäämiseksi tunnetut_palvelimet -asetus. "Kyllä" ei koskaan lisää tunnettuja isäntiä. "Ei" liitetään aina tunnettuihin isäntiin. "Ask", joka on oletusasetus, kysyy käyttäjältä ennen kuin lisäät heidät tunnettuun_hosts-tiedostoon. "Kyllä" tarjoaa parhaan suojan Troijan hevoshyökkäyksiltä, mutta se voi olla ärsyttävää huonosti hoidetulla tiedolla_host-tiedostolla. "Ei" on vähiten turvallinen, mutta se voi tehdä yhteyden muodostamisen suureen määrään väliaikaisia isäntiä vähemmän tuskalliseksi.
UserKnownHostsFile - Määrittää polun käyttäjäkohtaiseen tunnettu_host-tiedostoon.
Yhteyden edelleenlähetys
ssh: tä käytetään usein yhteyksien välittämiseen, mikä sallii paikallisen yhteyden tunneliin etäyhteyden kautta. Seuraavia asetuksia voidaan käyttää yhteyden edelleenohjauksen määrittämiseen.
LocalForward: Määritä yhteys liikenteen siirtämiseksi paikallisesta portista etäkoneeseen. Tämä aiheuttaa yhteyden muodostamisen etäverkossa.
RemoteForward: määrittää etäportin, joka puretaan paikallisesta portista. Tämä on edellisen vaihtoehdon käänteinen.
DynamicForward - Määritä paikallinen portti käytettäväksi dynaamisen edelleenlähetysprotokollan kanssa.
Johtopäätös
Suurin osa ssh_config-vaihtoehdoista on olemassa tarjoamaan mukavampia tapoja suorittaa tiettyjä tehtäviä ssh-komennolla. Se on tapa luoda monimutkaisia aliaksia ja pikavalintoja, jotka lisäävät tietoturvaa tekemällä ssh: n turvallisempia osia helpommaksi käyttää.
Vastaa