Si (dhe pse) të çaktivizoni hyrjen në rrënjë përmes SSH në Linux


Hyrja si përdorues rrënjë Linux është praktikë e keqe. Hyrja si rrënjë përmes një lidhjeje SSH është edhe më keq. Ne ju tregojmë pse dhe ju tregojmë se si ta parandaloni atë.

Shpata me dy tehe

Ju duhet dikush me autoritetin për të zotëruar dhe administruar ato pjesë të sistemit tuaj operativ që janë shumë të rëndësishme ose shumë të ndjeshme për t'u marrë me përdoruesit e rregullt. Këtu hyn root. root është superpërdoruesi i gjithëfuqishëm i sistemeve operative Unix dhe Linux.

Llogaria e përdoruesit rrënjë, si të gjitha llogaritë, mbrohet me një fjalëkalim. Pa fjalëkalimin e përdoruesit rrënjë, askush tjetër nuk mund të hyjë në atë llogari. Kjo do të thotë që privilegjet dhe fuqitë e root nuk mund të përdoren nga askush tjetër. Ana e kundërt është se e vetmja mbrojtje midis një përdoruesi keqdashës dhe fuqive të rrënjës është ai fjalëkalim. Fjalëkalimet, natyrisht, mund të hamendësohen, të konkludohen, të dallohen të shkruara diku ose të detyrohen me dhunë.

Nëse një sulmues me qëllim të keq zbulon fjalëkalimin e root, ai mund të identifikohet dhe të bëjë gjithçka që dëshiron në të gjithë sistemin. Me privilegjet e ngritura të root nuk ka kufizime për atë që mund të bëjnë. Do të ishte njëlloj sikur përdoruesi rrënjësor të ishte larguar nga një terminal pa dalë nga llogaria, duke lejuar akses oportunist në llogarinë e tij.

Për shkak të këtyre rreziqeve, shumë shpërndarje moderne Linux nuk lejojnë që root të identifikohet në kompjuter në nivel lokal, pa marrë parasysh SSH. Përdoruesi rrënjë ekziston, por ata nuk kanë një fjalëkalim të caktuar për ta. E megjithatë, dikush duhet të jetë në gjendje të administrojë sistemin. Zgjidhja për këtë rebus është komanda sudo .

sudo lejon përdoruesit e emëruar të përdorin përkohësisht privilegjet e nivelit rrënjë nga llogaria e tyre e përdoruesit. Ju duhet të vërtetoni për të përdorur sudo, gjë që e bëni duke futur fjalëkalimin tuaj. Kjo ju jep akses të përkohshëm në aftësitë e root.

Fuqitë tuaja rrënjësore vdesin kur mbyllni dritaren e terminalit ku janë përdorur. Nëse e lini dritaren e terminalit të hapur, ato do të skadojnë, duke ju kthyer automatikisht në statusin e zakonshëm të përdoruesit. Kjo siguron një lloj tjetër mbrojtjeje. Të mbron nga vetja.

Nëse zakonisht hyni si rrënjë në vend të një llogarie të rregullt, çdo gabim që bëni në vijën e komandës mund të jetë katastrofik. Të kesh nevojë të përdorësh sudo për të kryer administrimin do të thotë që ka më shumë gjasa të jesh i përqendruar dhe i kujdesshëm për atë që shkruan.

Lejimi i hyrjes në rrënjë mbi SSH rrit rreziqet sepse sulmuesit nuk duhet të jenë lokalë; ata mund të përpiqen të detyrojnë sistemin tuaj nga distanca.

Përdoruesi rrënjësor dhe SSH Access

Ju keni më shumë gjasa të hasni këtë problem kur administroni sisteme për njerëz të tjerë. Dikush mund të ketë vendosur të vendosë një fjalëkalim root në mënyrë që të mund të identifikohet. Cilësimet e tjera duhet të ndryshohen për të lejuar që root të identifikohet përmes SSH.

Kjo gjë nuk do të ndodhë rastësisht. Por kjo mund të bëhet nga njerëz që nuk i kuptojnë rreziqet e lidhura. Nëse merrni përsipër administrimin e një kompjuteri në atë gjendje, do t'ju duhet të këshilloni pronarët pse është një ide e keqe dhe më pas ta ktheni sistemin në funksionim të sigurt. Nëse ishte diçka e konfiguruar nga administratori i mëparshëm i sistemit, pronarët mund të mos dinë për të.

Këtu është një përdorues në një kompjuter që ekzekuton Fedora, duke bërë një lidhje SSH me një kompjuter Ubuntu si përdoruesi kryesor i kompjuterit Ubuntu.

ssh root@ubuntu-22-04.local

Kompjuteri Ubuntu lejon përdoruesin rrënjë të identifikohet përmes SSH. Në kompjuterin Ubuntu, ne mund të shohim se një lidhje e drejtpërdrejtë është duke u zhvilluar nga përdoruesi rrënjë.

who

Ajo që ne nuk mund të shohim është se kush po e përdor atë seancë. Ne nuk e dimë nëse personi në anën tjetër të lidhjes SSH është përdoruesi rrënjë ose dikush që ka arritur të marrë fjalëkalimin e rrënjës.

Çaktivizimi i aksesit SSH për rrënjë

Për të çaktivizuar aksesin SSH për përdoruesin rrënjë, duhet të bëjmë ndryshime në skedarin e konfigurimit SSH. Kjo është e vendosur në /etc/ssh/sshd_config. Do të na duhet të përdorim sudo për të shkruar ndryshime në të.

sudo gedit /etc/ssh/sshd_config

Lëvizni nëpër skedar ose kërkoni për vargun PermitRootLogin.

Ose vendosni këtë në jo ose komentoni rreshtin duke vendosur një hash # si karakterin e parë në rresht. Ruani ndryshimet tuaja.

Ne duhet të rinisim demonin SSH në mënyrë që ndryshimet tona të hyjnë në fuqi.

sudo systemctl restart ssh

Nëse dëshironi të parandaloni gjithashtu hyrjet lokale, çaktivizoni fjalëkalimin e rrënjës. Ne po marrim një qasje me rrip dhe mbajtëse dhe po përdorim të dyja opsionet -l (kyçet) dhe -d (fshij fjalëkalimin).

sudo passwd root -ld

Kjo bllokon llogarinë dhe heq fjalëkalimin e llogarisë në pazar. Edhe nëse përdoruesi rrënjësor është fizikisht i ulur në kompjuterin tuaj, ai nuk do të jetë në gjendje të identifikohet.

Një mënyrë më e sigurt për të lejuar qasjen në rrënjë SSH

Ndonjëherë do të hasni rezistencë menaxheriale për heqjen e aksesit rrënjësor mbi SSH. Nëse ata vërtet nuk do të dëgjojnë, ju mund ta gjeni veten në një pozicion ku duhet ta rivendosni atë. Nëse është kështu, ju duhet të jeni në gjendje të bëni kompromis në një mënyrë që të reduktojë rrezikun dhe të lejojë ende hyrje në distancë nga përdoruesi rrënjë.

Përdorimi i çelësave SSH për të krijuar një lidhje me SSH është shumë më i sigurt se përdorimi i fjalëkalimeve. Për shkak se nuk përfshihen fjalëkalime, ato nuk mund të detyrohen brutalisht, të hamendësohen ose të zbulohen ndryshe.

Përpara se të kyçni llogarinë lokale rrënjë, konfiguroni çelësat SSH në kompjuterin e largët në mënyrë që përdoruesi rrënjë të mund të lidhet me kompjuterin tuaj lokal. Pastaj shkoni përpara dhe fshini fjalëkalimin e tyre dhe bllokoni llogarinë e tyre lokale.

Do të na duhet gjithashtu të modifikojmë skedarin sshd_config edhe një herë.

sudo gedit /etc/ssh/sshd_config

Ndryshoni linjën PermitRootLogin në mënyrë që të përdorë opsionin ndaloj-password.

Ruani ndryshimet tuaja dhe rinisni demonin SSH.

sudo systemctl restart ssh

Tani, edhe nëse dikush rivendos fjalëkalimin e përdoruesit rrënjë, ai nuk do të jetë në gjendje të identifikohet përmes SSH duke përdorur një fjalëkalim.

Kur përdoruesi rrënjësor në distancë bën një lidhje SSH me kompjuterin tuaj lokal, çelësat shkëmbehen dhe ekzaminohen. Nëse ata kalojnë vërtetimin, përdoruesi rrënjë lidhet me kompjuterin tuaj lokal pa pasur nevojë për një fjalëkalim.

ssh root@ubuntu-22-04.local

Ndalohet hyrja

Refuzimi i lidhjeve në distancë nga përdoruesi rrënjë është alternativa më e mirë. Lejimi i lidhjes së rrënjës duke përdorur çelësat SSH është i dyti më i miri, por gjithsesi shumë më i mirë sesa përdorimi i fjalëkalimeve.