Weboldal keresés

4 módszer a root fiók letiltására Linuxban


A root fiók a Linux és más Unix-szerű operációs rendszerek végső fiókja. Ez a fiók hozzáfér a rendszer összes parancsához és fájljához, teljes olvasási, írási és végrehajtási engedéllyel. Bármilyen feladat elvégzésére szolgál egy rendszeren; más felhasználók fiókjainak létrehozásához/frissítéséhez/hozzáféréséhez/törléséhez, szoftvercsomagok telepítéséhez/eltávolításához/frissítéséhez és még sok minden máshoz.

Mivel a root felhasználó abszolút hatalommal rendelkezik, minden általa végrehajtott művelet kritikus a rendszerben. Ebben a tekintetben arootfelhasználó hibái nagy hatással lehetnek a rendszer normál működésére. Ezen túlmenően, ezzel a fiókkal visszaélhetnek, ha helytelenül vagy nem megfelelő módon használják, akár véletlenül, rosszindulatúan, akár az irányelvek mesterkélt figyelmen kívül hagyása miatt.

Ezért tanácsos letiltani a root hozzáférést a Linux-kiszolgálón, ehelyett hozzon létre egy adminisztrátori fiókot, amelyet úgy kell beállítani, hogy a sudo paranccsal root felhasználói jogosultságokat szerezzen a kiszolgálón végzett kritikus feladatok elvégzéséhez.

Ebben a cikkben négy módszert ismertetünk a root felhasználói fiókok bejelentkezés letiltására Linux rendszerben.

Figyelem: Mielőtt letiltja a hozzáférést a root fiókhoz, győződjön meg arról, hogy létrehozott egy rendszergazdai fiókot, amely képes a sudo paranccsal root megszerzésére. felhasználói jogosultságokat a useradd paranccsal, és erős jelszót adjon ennek a felhasználói fióknak. A -m jelző a felhasználó kezdőkönyvtárának létrehozását jelenti, a -c pedig megjegyzés megadását:

useradd -m -c "Admin User" admin
passwd admin

Ezután adja hozzá ezt a felhasználót a rendszergazdák megfelelő csoportjához a usermod paranccsal, ahol a -a kapcsoló a felhasználói fiók hozzáfűzését jelenti, a -G pedig egy csoportot ad meg a felhasználó hozzáadásához. in (kerék vagy sudo a Linux disztribúciótól függően):

usermod -aG wheel admin    #CentOS/RHEL
usermod -aG sudo admin     #Debian/Ubuntu 

Miután létrehozott egy rendszergazdai jogosultságokkal rendelkező felhasználót, váltson erre a fiókra a root hozzáférés letiltásához.

su admin

1. Változtassa meg a root felhasználó shelljét

A root felhasználói bejelentkezés letiltásának legegyszerűbb módja, ha a shelljét /bin/bash vagy /bin/bash (vagy bármely más shell, amely lehetővé teszi a felhasználói bejelentkezést) helyett /sbin/nologin, az /etc/passwd fájlban, amelyet megnyithat szerkesztésre bármelyik kedvenc parancssori szerkesztővel az ábrán látható módon.

  
sudo vim /etc/passwd

Változtassa meg a sort:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Mentse el a fájlt és zárja be.

Mostantól kezdve, amikor a root felhasználó bejelentkezik, a következő üzenetet kapja: „Ez a fiók jelenleg nem érhető el.” Ez az alapértelmezett üzenet, de módosítsa, és állítson be egyéni üzenetet az /etc/nologin.txt fájlban.

Ez a módszer csak olyan programok esetén hatásos, amelyekhez shell szükséges a felhasználói bejelentkezéshez, ellenkező esetben a sudo, ftp és email kliensek hozzáférhetnek a root fiókhoz.

2. Tiltsa le a root bejelentkezést konzoleszközön (TTY)

A második módszer a PAM pam_securetty nevű modult használja, amely csak akkor engedélyez root hozzáférést, ha a felhasználó „biztonságos” TTY-n jelentkezik be. az /etc/securetty listája határozza meg.

A fenti fájl lehetővé teszi annak meghatározását, hogy a root felhasználó mely TTY eszközökön jelentkezzen be. A fájl kiürítése megakadályozza a root bejelentkezést a számítógépes rendszerhez csatlakoztatott eszközökön.

Üres fájl létrehozásához futtassa.

sudo mv /etc/securetty /etc/securetty.orig
sudo touch /etc/securetty
sudo chmod 600 /etc/securetty

Ennek a módszernek vannak bizonyos korlátai, csak olyan programokat érint, mint például a bejelentkezés, a megjelenítéskezelők (azaz gdm, kdm és xdm) és más hálózati szolgáltatások, amelyek indítson el egy TTY-t. Az olyan programok, mint a su, sudo, ssh és más kapcsolódó openssh eszközök hozzáférhetnek a root fiókhoz.

3. Tiltsa le az SSH root bejelentkezést

A távoli kiszolgálók vagy VPS-ek elérésének legáltalánosabb módja az SSH-n keresztül, és a root felhasználó bejelentkezés letiltásához az /etc/ssh/sshd_config fájlt kell szerkesztenie.

sudo vim /etc/ssh/sshd_config

Ezután törölje (ha meg van írva) a PermitRootLogin direktíva megjegyzését, és állítsa az értékét no értékre, ahogy a képernyőképen látható.

Ha végzett, mentse el és zárja be a fájlt. Ezután indítsa újra az sshd szolgáltatást a konfigurációk legutóbbi módosításának alkalmazásához.

sudo systemctl restart sshd 
OR
sudo service sshd restart 

Amint azt már biztosan tudod, ez a módszer csak az openssh eszközkészletet érinti, az olyan programok, mint az ssh, scp, sftp, blokkolva lesznek a root fiókhoz való hozzáférésben.

4. Korlátozza a root hozzáférést a PAM-on keresztüli szolgáltatásokhoz

A Pluggable Authentication Modules (röviden: PAM) egy központi, csatlakoztatható, moduláris és rugalmas hitelesítési módszer Linux rendszereken. A PAM a /lib/security/pam_listfile.so modulon keresztül nagy rugalmasságot tesz lehetővé bizonyos fiókok jogosultságainak korlátozásában.

A fenti modul segítségével hivatkozhat azon felhasználók listájára, akik nem léphetnek be bizonyos célszolgáltatásokon keresztül, mint például a login, az ssh és a PAM-tudatos programok.

Ebben az esetben szeretnénk letiltani a root felhasználói hozzáférést a rendszerhez, korlátozva a hozzáférést a bejelentkezési és az sshd szolgáltatásokhoz. Először nyissa meg és szerkessze a célszolgáltatás fájlját az /etc/pam.d/ könyvtárban az ábra szerint.


sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Ezután adja hozzá az alábbi konfigurációt mindkét fájlhoz.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Ha végzett, mentse el és zárja be az egyes fájlokat. Ezután hozza létre a /etc/ssh/deniedusers egyszerű fájlt, amelynek soronként egy elemet kell tartalmaznia, és nem olvasható a világban.

Adja hozzá a gyökér nevet, majd mentse el és zárja be.

sudo vim /etc/ssh/deniedusers

Ehhez állítsa be a szükséges engedélyeket is.

sudo chmod 600 /etc/ssh/deniedusers

Ez a módszer csak a PAM-tudatos programokat és szolgáltatásokat érinti. Letilthatja a root hozzáférést a rendszerhez ftp-n, e-mail klienseken és egyebeken keresztül.

További információkért tekintse meg a megfelelő man oldalakat.

man pam_securetty
man sshd_config
man pam

Ez minden! Ebben a cikkben négy módszert ismertetünk a root felhasználói bejelentkezés (vagy fiók) letiltására Linuxban. Ha bármilyen észrevétele, javaslata vagy kérdése van, forduljon hozzánk bizalommal az alábbi visszajelzési űrlapon keresztül.