Jinsi ya Kulinda na Kuimarisha Seva ya OpenSSH


Inapofikia kufikia vifaa vya mbali kama vile seva, vipanga njia, na swichi, itifaki ya SSH hupendekezwa sana kutokana na uwezo wake wa kusimba trafiki kwa njia fiche na kumzuia mtu yeyote ambaye anaweza kujaribu kusikiliza miunganisho yako.

Iwe hivyo, mipangilio chaguo-msingi ya SSH si dhabiti na marekebisho ya ziada yanahitajika ili kufanya itifaki kuwa salama zaidi. Katika mwongozo huu, tunachunguza njia tofauti unazoweza kutumia ili kulinda na kuimarisha usakinishaji wa OpenSSH kwenye seva.

1. Sanidi Uthibitishaji Usio na Nenosiri wa SSH

Kwa chaguo-msingi, SSH huhitaji watumiaji kutoa manenosiri yao wanapoingia. Lakini hapa ndio jambo kuu: wavamizi wanaweza kukisia manenosiri au hata kufanya mashambulizi ya kinyama kwa kutumia zana maalum za udukuzi na kupata ufikiaji wa mfumo wako. Ili kuwa katika upande salama, matumizi ya uthibitishaji usio na nenosiri wa SSH yanahimizwa sana.

Hatua ya kwanza ni kutengeneza ufunguo wa SSH ambao una ufunguo wa umma na ufunguo wa kibinafsi. Ufunguo wa kibinafsi hukaa kwenye mfumo wako wa mwenyeji wakati ufunguo wa umma unakiliwa kwa seva ya mbali.

Mara tu ufunguo wa umma unaponakiliwa kwa ufanisi, sasa unaweza SSH katika seva ya mbali bila mshono bila kulazimika kutoa nenosiri.

Hatua inayofuata ni kuzima uthibitishaji wa nenosiri, Ili kufikia hili, unahitaji kurekebisha faili ya usanidi wa SSH.

$ sudo vim /etc/ssh/sshd_config

Ndani ya faili ya usanidi, tembeza na utafute maagizo yafuatayo. Acha maoni na ubadilishe chaguo la ndiyo kuwa hapana

PasswordAuthentication no

Kisha anzisha tena daemon ya SSH.

# sudo systemctl restart sshd

Katika hatua hii, utakuwa na ufikiaji wa seva ya mbali kwa kutumia uthibitishaji wa ufunguo wa SSH.

2. Zima Maombi ya Muunganisho ya Mtumiaji ya SSH Bila Nenosiri

Njia nyingine inayopendekezwa ya kuimarisha usalama wa seva yako ni kuzima kuingia kwa SSH kutoka kwa watumiaji bila nywila. Hili linasikika kuwa la ajabu lakini wakati mwingine wasimamizi wa mfumo wanaweza kuunda akaunti za watumiaji na kusahau kuweka nenosiri - ambalo ni wazo mbaya sana.

Ili kukataa maombi kutoka kwa watumiaji bila nenosiri, tena, nenda kwenye faili ya usanidi iliyo /etc/ssh/sshd_config na uhakikishe kuwa una maagizo hapa chini:

PermitEmptyPasswords no

Kisha anza tena huduma ya SSH ili mabadiliko yatekelezwe.

$ sudo systemctl restart sshd

3. Zima Kuingia kwa Mizizi ya SSH

Haifikirii nini kinaweza kutokea ikiwa mdukuzi ataweza kulazimisha nenosiri lako la msingi kwa unyama. Kuruhusu kuingia kwa mizizi kwa mbali ni wazo mbaya ambalo linaweza kuhatarisha usalama wa mfumo wako.

Kwa sababu hii, inapendekezwa kila mara kwamba uzime kuingia kwa mzizi wa mbali wa SSH na badala yake ushikamane na mtumiaji wa kawaida asiye na mizizi. Kwa mara nyingine tena, nenda kwenye faili ya usanidi na urekebishe mstari huu kama inavyoonyeshwa.

PermitRootLogin no

Mara tu unapomaliza, anzisha tena huduma ya SSH ili mabadiliko yatekelezwe.

$ sudo systemctl restart sshd

Kuanzia sasa, kuingia kwa mizizi kwa mbali kutazimwa.

4. Tumia Itifaki ya SSH 2

SSH huja katika matoleo mawili: Itifaki ya SSH 1 na itifaki 2. Itifaki ya SSH 2 ilianzishwa mwaka wa 2006 na ni salama zaidi kuliko itifaki ya 1 kutokana na ukaguzi wake thabiti wa kriptografia, usimbaji fiche mwingi na algoriti dhabiti.

Kwa chaguomsingi, SSH hutumia itifaki 1. Ili kubadilisha hii hadi Itifaki 2 iliyo salama zaidi, ongeza laini iliyo hapa chini kwenye faili ya usanidi:

Protocol 2

Kama kawaida, anzisha tena SSH ili mabadiliko yaanze kutumika.

$ sudo systemctl restart sshd

Kwenda mbele, SSH itatumia Itifaki ya 2 kwa chaguomsingi.

Ili kujaribu ikiwa itifaki ya 1 ya SSH inaungwa mkono tena, endesha amri:

$ ssh -1 [email 

Utapata hitilafu inayosomeka \Itifaki ya SSH v.1 haitumiki tena.

Katika kesi hii, amri ilikuwa:

$ ssh -1 [email 

Zaidi ya hayo, unaweza kubainisha tu lebo ya -2 ili kuhakikisha kuwa Itifaki ya 2 ndiyo itifaki chaguomsingi inayotumika.

$ ssh -2 [email 

5. Weka Thamani ya Kuisha kwa Muunganisho wa SSH

Kuacha Kompyuta yako bila kutunzwa kwa muda mrefu na muunganisho wa SSH usio na kitu kunaweza kuleta hatari ya usalama. Mtu anaweza kupita tu na kuchukua kikao chako cha SSH na kufanya chochote apendacho. Ili kushughulikia suala hilo, ni busara, kwa hiyo, kuweka kikomo cha muda wa kutofanya kazi ambacho kinapozidi, kipindi cha SSH kitafungwa.

Kwa mara nyingine tena, fungua faili yako ya usanidi wa SSH na utafute maagizo ClientAliveInterval. Weka thamani inayofaa, kwa mfano, nimeweka kikomo hadi sekunde 180.

ClientAliveInterval 180

Hii inamaanisha kuwa kipindi cha SSH kitasimamishwa ikiwa hakuna shughuli iliyosajiliwa baada ya dakika 3 ambayo ni sawa na sekunde 180.

Kisha anzisha tena daemon ya SSH ili kuathiri mabadiliko yaliyofanywa.

$ sudo systemctl restart sshd

6. Punguza Ufikiaji wa SSH kwa Watumiaji fulani

Kwa safu ya usalama iliyoongezwa, unaweza kufafanua watumiaji wanaohitaji itifaki ya SSH kuingia na kufanya kazi za mbali kwenye mfumo. Hii huzuia watumiaji wengine wowote ambao wanaweza kujaribu kuingia kwenye mfumo wako bila idhini yako.

Kama kawaida, fungua faili ya usanidi na uongeze maagizo ya AllowUsers yakifuatiwa na majina ya watumiaji unaotaka kuwaruhusu. Katika mfano ulio hapa chini, nimewaruhusu watumiaji 'tecmint' na 'james' kupata ufikiaji wa mbali kwa mfumo kupitia SSH. Mtumiaji mwingine yeyote anayejaribu kupata ufikiaji wa mbali atazuiwa.

AllowUsers tecmint james

Baada ya hapo anzisha tena SSH ili mabadiliko yaendelee.

$ sudo systemctl restart sshd

7. Sanidi Kikomo cha Majaribio ya Nenosiri

Njia nyingine unaweza kuongeza safu ya usalama ni kwa kupunguza idadi ya majaribio ya kuingia kwa SSH ili baada ya majaribio kadhaa ambayo hayakufaulu, muunganisho unashuka. Kwa hivyo kwa mara nyingine nenda kwenye faili ya usanidi na utafute maagizo ya \MaxAuthTries na ubainishe thamani ya idadi ya juu zaidi ya majaribio.

Katika mfano huu, kikomo kimewekwa kwa majaribio 3 kama inavyoonyeshwa.

MaxAuthTries 3

Na mwishowe, anzisha tena huduma ya SSH kama katika hali zilizopita.

Unaweza pia kupata nakala hizi zinazohusiana na SSH kuwa muhimu:

  • Jinsi ya Kusakinisha Seva ya OpenSSH 8.0 kutoka Chanzo katika Linux
  • Jinsi ya kusakinisha Fail2Ban ili Kulinda SSH kwenye CentOS/RHEL 8
  • Jinsi ya Kubadilisha Mlango wa SSH katika Linux
  • Jinsi ya Kuunda Njia ya SSH au Usambazaji Mlango katika Linux
  • Njia 4 za Kuharakisha Miunganisho ya SSH kwenye Linux
  • Jinsi ya Kupata Majaribio Yote Yanayoshindwa Kuingia katika SSH katika Linux
  • Jinsi ya Kutenganisha Viunganisho vya SSH Visivyotumika au Visivyotumika kwenye Linux

Huo ulikuwa mkusanyo wa baadhi ya hatua unazoweza kuchukua ili kulinda miunganisho yako ya mbali ya SSH. Ni muhimu kuongeza kwamba unapaswa kupeana nywila dhabiti kila wakati kwa watumiaji walio na ufikiaji wa mbali ili kuzuia mashambulizi ya nguvu ya kikatili. Ni matumaini yetu kwamba umepata mwongozo huu wa kina. Maoni yako yanakaribishwa sana.