Piirake SSH-i kasutaja juurdepääsu teatud kataloogile chrootitud vangla abil


SSH-kasutaja seansi piiramiseks konkreetse kataloogiga, eriti veebiserverites, on mitu põhjust, kuid ilmselge on see süsteemi turvalisus. SSH-kasutajate lukustamiseks teatud kataloogi saame kasutada chroot-mehhanismi.

muutus root (chroot) Unixi-laadsetes süsteemides nagu Linux on vahend konkreetsete kasutajate operatsioonide eraldamiseks ülejäänud Linuxi süsteemist; muudab käimasoleva kasutajaprotsessi näilist juurkataloogi ja selle alamprotsessi uue juurkataloogiga, mida nimetatakse chrootitud vanglas.

Selles õpetuses näitame teile, kuidas piirata SSH-i kasutaja juurdepääsu Linuxi antud kataloogile. Pange tähele, et käivitame kõik käsud juurkasutajana, kasutage sudo käsku, kui olete sisse logitud tavalise kasutajana.

1. samm: looge SSH Chroot Vangla

1. Alustage chroot vangla loomisega, kasutades allolevat käsku mkdir:

# mkdir -p /home/test

2. Järgmisena määrake vajalikud failid vastavalt käsulehele sshd_config, valik ChrootDirectory määrab kataloogi teekonna nime, kuhu pärast autentimist chroot. Kataloog peab sisaldama kasutaja seansi toetamiseks vajalikke faile ja katalooge.

Interaktiivse seansi jaoks on selleks vaja vähemalt kesta, tavaliselt sh ja põhisõlmi /dev nagu null, zero, stdin, stdout, stderr ja tty seadmed:

# ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}

3. Nüüd looge failid /dev käsuga mknod järgmiselt. Allolevas käsus kasutatakse faili lubade bittide määramiseks lippu -m , c tähendab märgifaili ja kaks numbrit on suuremad ja väiksemad numbrid, millele failid viitavad .

# mkdir -p /home/test/dev/		
# cd /home/test/dev/
# mknod -m 666 null c 1 3
# mknod -m 666 tty c 5 0
# mknod -m 666 zero c 1 5
# mknod -m 666 random c 1 8

4. Seejärel määrake chroot vanglasse vastav luba. Pange tähele, et chroot-vangla ning selle alamkataloogid ja alamfailid peavad kuuluma juurkasutajale ning neid ei saa kirjutada ükski tavakasutaja ega -grupp:

# chown root:root /home/test
# chmod 0755 /home/test
# ls -ld /home/test

2. samm: seadistage SSH Chroot Jaili interaktiivne kest

5. Esmalt looge kataloog bin ja kopeerige seejärel failid /bin/bash kataloogi bin järgmiselt:

# mkdir -p /home/test/bin
# cp -v /bin/bash /home/test/bin/

6. Nüüd tuvastage bashi jaoks vajalikud jagatud libs , nagu allpool, ja kopeerige need kataloogi lib :

# ldd /bin/bash
# mkdir -p /home/test/lib64
# cp -v /lib64/{libtinfo.so.5,libdl.so.2,libc.so.6,ld-linux-x86-64.so.2} /home/test/lib64/

3. samm: SSH-kasutaja loomine ja konfigureerimine

7. Nüüd looge SSH kasutaja käsuga useradd ja määrake kasutajale turvaline parool:

# useradd tecmint
# passwd tecmint

8. Looge chroot jail'i üldkonfiguratsioonide kataloog, /home/test/etc ja kopeerige värskendatud kontofailid (/ etc/passwd ja/etc/group) sellesse kataloogi järgmiselt:

# mkdir /home/test/etc
# cp -vf /etc/{passwd,group} /home/test/etc/

Märkus. Iga kord, kui lisate süsteemi rohkem SSH-i kasutajaid, peate värskendatud kontofailid kopeerima kataloogi /home/test/etc .

4. samm: konfigureerige SSH Chrooti vangla kasutamiseks

9. Nüüd avage fail sshd_config .

# vi /etc/ssh/sshd_config

ja lisage/muutke faili allolevaid ridu.

#define username to apply chroot jail to
Match User tecmint
#specify chroot jail
ChrootDirectory /home/test

Salvestage fail ja väljuge ning taaskäivitage SSHD-teenused.

# systemctl restart sshd
OR
# service sshd restart

5. samm: SSH testimine Chroot Jailiga

10. Seejärel kontrollige, kas chroot vangla seade töötab ootuspäraselt:

# ssh [email 
-bash-4.1$ ls
-bash-4.1$ date
-bash-4.1$ uname

Ülaltoodud ekraanipildilt näeme, et SSH-kasutaja on lukustatud vanglasse ja ei saa käivitada väliseid käske (ls, date, uname jne).

Kasutaja saab käivitada ainult bashi ja selle sisseehitatud käske nagu (pwd, ajalugu, kaja jne), nagu allpool näha:

# ssh [email 
-bash-4.1$ pwd
-bash-4.1$ echo "Tecmint - Fastest Growing Linux Site"
-bash-4.1$ history

Samm 6. Looge SSH-i kasutaja kodukataloog ja lisage Linuxi käsud

11. Eelmisest etapist võime märgata, et kasutaja on lukustatud juurkataloogi, saame luua SSH-kasutajale kodukataloogi nii (tehke seda kõigi tulevaste kasutajate jaoks):

# mkdir -p /home/test/home/tecmint
# chown -R tecmint:tecmint /home/test/home/tecmint
# chmod -R 0700 /home/test/home/tecmint

12. Järgmisena installige kataloogis bin mõned kasutaja käsud, näiteks ls, date, mkdir:

# cp -v /bin/ls /home/test/bin/
# cp -v /bin/date /home/test/bin/
# cp -v /bin/mkdir /home/test/bin/

13. Seejärel kontrollige jagatud teeke ülaltoodud käskude osas ja teisaldage need chrootitud vangla teekide kataloogi:

# ldd /bin/ls
# cp -v /lib64/{libselinux.so.1,libcap.so.2,libacl.so.1,libc.so.6,libpcre.so.1,libdl.so.2,ld-linux-x86-64.so.2,libattr.so.1,libpthread.so.0} /home/test/lib64/

7. samm. SFTP testimine Chroot Jailiga

14. Tehke viimane test sftp abil; kontrollige, kas äsja installitud käsud töötavad.

Lisage failis /etc/ssh/sshd_config allolev rida:

#Enable sftp to chrooted jail 
ForceCommand internal-sftp

Salvestage fail ja väljuge. Seejärel taaskäivitage SSHD-teenused:

# systemctl restart sshd
OR
# service sshd restart

15. Nüüd proovige SSH-d kasutades järgmine tõrge:

# ssh [email 

Proovige SFTP-d kasutada järgmiselt:

# sftp [email 

Praegu on see kõik !. Selles artiklis me näitasime teile, kuidas piirata SSH-i kasutajat Linuxi antud kataloogis (chrooted vanglas). Kasutage allpool toodud kommentaaride jaotist, et pakkuda meile oma mõtteid selle juhendi kohta.