Android

Hogyan állítsuk be az sftp chroot börtönt?

WiFi (Wireless) Password Security - WEP, WPA, WPA2, WPA3, WPS Explained

WiFi (Wireless) Password Security - WEP, WPA, WPA2, WPA3, WPS Explained

Tartalomjegyzék:

Anonim

Ebben az oktatóanyagban elmagyarázzuk, hogyan állítsunk be egy SFTP Chroot Jail környezetet, amely a felhasználókat az otthoni könyvtárakra korlátozza. A felhasználók csak SFTP hozzáféréssel rendelkeznek, az SSH hozzáférés le lesz tiltva. Ezeknek az utasításoknak minden modern Linux disztribúciónál működniük kell, beleértve az Ubuntu, CentOS, Debian és Fedora szoftvereket.

SFTP csoport létrehozása

Ahelyett, hogy az OpenSSH szervert minden felhasználóhoz külön konfigurálnánk, új csoportot hozunk létre, és az összes chroott felhasználót hozzáadjuk ehhez a csoporthoz.

Futtassa a következő groupadd parancsot az sftponly felhasználói csoport létrehozásához:

sudo groupadd sftponly Megnevezheti a csoportot a kívánt módon.

Felhasználók hozzáadása az SFTP csoporthoz

A következő lépés az, hogy felvegye a korlátozott felhasználókat a sftponly csoportba.

Ha ez egy új beállítás, és a felhasználó nem létezik, akkor új felhasználói fiókot hozhat létre a következő gépeléssel:

sudo useradd -g sftponly -s /bin/false -m -d /home/username username

  • A -g sftponly opció hozzáadja a felhasználót a sftponly csoporthoz. A -s /bin/false opció beállítja a felhasználó bejelentkezési héját. Ha a bejelentkezési héjat /bin/false értékre állítja, akkor a felhasználó nem fog SSH-n keresztül bejelentkezni a szerverre. A -m -d /home/username opciók azt mondják, hogy a useradd létrehozza a felhasználói otthoni könyvtárat.

Állítson be erős jelszót az újonnan létrehozott felhasználó számára:

sudo passwd username

Ellenkező esetben, ha a korlátozni kívánt felhasználó már létezik, akkor vegye fel a felhasználót a sftponly csoportba, és változtassa meg a felhasználó héját:

sudo usermod -G sftponly -s /bin/false username2

A felhasználói otthoni könyvtárnak a root tulajdonában kell lennie, és 755 jogosultsággal kell rendelkeznie:

sudo chown root: /home/username sudo chmod 755 /home/username

Mivel a felhasználói otthoni könyvtárak a gyökér felhasználó tulajdonában vannak, ezek a felhasználók nem tudnak fájlokat és könyvtárakat létrehozni az otthoni könyvtárakban. Ha a felhasználó otthonában nincs könyvtár, akkor új könyvtárakat kell létrehoznia, amelyekhez a felhasználó teljes hozzáféréssel rendelkezik. Létrehozhat például a következő könyvtárakat:

sudo mkdir /home/username/{public_html, uploads} sudo chmod 755 /home/username/{public_html, uploads} sudo chown username:sftponly /home/username/{public_html, uploads}

Ha egy webalkalmazás a felhasználó public_html könyvtárát használja a dokumentum gyökérként, ezek a változások engedélyekkel kapcsolatos problémákat okozhatnak. Például, ha a WordPress-t futtatja, létre kell hoznia egy PHP- sftponly amely a fájlok tulajdonosaként fut majd, és hozzá kell adnia a webes sftponly a sftponly csoporthoz.

Az SSH konfigurálása

Az SFTP az SSH alrendszere, és támogatja az összes SSH hitelesítési mechanizmust.

Nyissa meg az SSH konfigurációs fájlt /etc/ssh/sshd_config a szövegszerkesztővel:

sudo nano /etc/ssh/sshd_config

Keresse meg az Subsystem sftp kezdődő sort, általában a fájl végén. Ha a vonal hash # -val kezdődik, akkor távolítsa el a hash # -t, és módosítsa úgy, hogy a következőképpen néz ki:

/ Etc / ssh / sshd_config

Subsystem sftp internal-sftp

A fájl vége felé a következő beállításblokk:

/ Etc / ssh / sshd_config

Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

A ChrootDirectory irányelv meghatározza a chroot könyvtár elérési útját. %h a felhasználói otthoni könyvtárat jelenti. Ennek a könyvtárnak a gyökér felhasználó tulajdonában kell lennie, és semmilyen más felhasználónak vagy csoportnak nem írható.

Az SSH konfigurációs fájl módosításakor legyen különös óvatosság. A helytelen konfiguráció miatt az SSH szolgáltatás nem indulhat el.

Ha kész, mentse el a fájlt, és indítsa újra az SSH szolgáltatást a módosítások alkalmazásához:

sudo systemctl restart ssh

A CentOS-ban és a Fedora-ban az ssh szolgáltatás neve sshd :

sudo systemctl restart sshd

A konfiguráció tesztelése

Most, hogy konfigurálta az SFTP chroot-ot, megpróbálhat bejelentkezni a távoli gépbe az SFTP-n keresztül a chrootált felhasználó hitelesítő adataival. A legtöbb esetben az asztali SFTP-klienst fogja használni, például a FileZilla, de ebben a példában az sftp parancsot fogjuk használni.

Nyisson meg egy SFTP kapcsolatot az sftp paranccsal, amelyet a távoli kiszolgáló felhasználóneve és a kiszolgáló IP-címe vagy tartományneve követi:

sftp [email protected]

A rendszer felszólítja a felhasználói jelszó megadására. Csatlakozás után a távoli szerver megerősítő üzenetet és az sftp> parancssort jelenít meg:

[email protected]'s password: sftp>

Futtassa a pwd parancsot, az alább látható módon, és ha minden a várt módon működik, akkor a parancsnak visszatérnie kell / .

sftp> pwd Remote working directory: /

Az ls paranccsal felsorolhatja a távoli fájlokat és könyvtárakat is, és látnia kell a korábban létrehozott könyvtárakat:

sftp> ls public_html uploads

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan kell beállítani az SFTP Chroot Jail környezetet a Linux kiszolgálón, és korlátozni a felhasználók hozzáférését az otthoni könyvtárhoz.

Alapértelmezés szerint az SSH meghallgatja a 22. portot. Az alapértelmezett SSH port megváltoztatása extra biztonságot nyújt a szerver számára az automatikus támadások kockázatának csökkentésével. Érdemes beállítani egy SSH-alapú hitelesítést, és jelszó megadása nélkül csatlakozni a szerverhez.

ssh sftp biztonság