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.