Ni ihamọ Wiwọle Olumulo SSH si Itọsọna Diẹ ninu Lilo Jail Chrooted


Awọn idi pupọ lo wa lati ni ihamọ igba olumulo SSH si itọsọna kan pato, paapaa lori awọn olupin wẹẹbu, ṣugbọn eyiti o han gbangba jẹ aabo eto kan. Lati le tii awọn olumulo SSH ni itọsọna kan, a le lo ilana chroot.

ayipada root (chroot) ninu awọn eto bii Unix bii Lainos, jẹ ọna ti yiya sọtọ awọn iṣẹ olumulo pato lati iyoku eto Linux; ayipada itọsọna gbongbo ti o han gbangba fun ilana olumulo ti nṣiṣẹ lọwọlọwọ ati ilana ọmọ rẹ pẹlu itọsọna gbongbo tuntun ti a pe ni tubu chrooted.

Ninu ẹkọ yii, a yoo fi ọ han bi o ṣe le ni ihamọ iraye si olumulo SSH si itọsọna ti a fun ni Linux. Akiyesi pe a yoo ṣiṣẹ gbogbo awọn ofin bi gbongbo, lo aṣẹ sudo ti o ba wọle si olupin bi olumulo deede.

Igbesẹ 1: Ṣẹda Sẹwọn SSH Chroot

1. Bẹrẹ nipa ṣiṣẹda tubu chroot nipa lilo aṣẹ mkdir ni isalẹ:

# mkdir -p /home/test

2. Itele, ṣe idanimọ awọn faili ti o nilo, ni ibamu si oju-iwe eniyan sshd_config, aṣayan ChrootDirectory ṣalaye orukọ ọna ti itọsọna si chroot si lẹhin ijẹrisi. Itọsọna naa gbọdọ ni awọn faili pataki ati awọn ilana lati ṣe atilẹyin igba olumulo kan.

Fun igba ibaraenisọrọ, eyi nilo o kere ju ikarahun kan, wọpọ sh , ati awọn ipilẹ /dev awọn apa bii asan, odo, stdin, stdout, stderr, ati awọn ẹrọ tty:

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

3. Bayi, ṣẹda awọn faili /dev bi atẹle nipa lilo aṣẹ mknod. Ninu aṣẹ ti o wa ni isalẹ, a lo Flag -m lati ṣafihan pato awọn igbanilaaye faili, c tumọ si faili ohun kikọ ati awọn nọmba meji jẹ pataki ati awọn nọmba kekere ti awọn faili tọka si .

# 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. Lẹhinna, ṣeto igbanilaaye ti o yẹ lori ile-ẹwọn chroot. Akiyesi pe ile-ẹwọn chroot ati awọn ipin-inu rẹ ati awọn folda kekere gbọdọ jẹ ohun-ini nipasẹ olumulo gbongbo, ati pe kii ṣe kikọ nipasẹ eyikeyi olumulo deede tabi ẹgbẹ:

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

Igbesẹ 2: Ikarahun Ibanisọrọ Ibaṣepọ fun Sẹwọn SSH Chroot

5. Ni akọkọ, ṣẹda itọsọna bin lẹhinna daakọ awọn faili /bin/bash sinu bin ilana bi atẹle:

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

6. Bayi, ṣe idanimọ bash ti a beere pinpin libs , bi isalẹ ki o daakọ wọn sinu itọsọna 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/

Igbesẹ 3: Ṣẹda ati Tunto Olumulo SSH

7. Bayi, ṣẹda olumulo SSH pẹlu aṣẹ useradd ki o ṣeto ọrọ igbaniwọle to ni aabo fun olumulo:

# useradd tecmint
# passwd tecmint

8. Ṣẹda itọsọna awọn atunto gbogbogbo chroot, /ile/idanwo/ati be be lo ki o daakọ awọn faili akọọlẹ imudojuiwọn (/ ati be be/passwd ati/ati be be lo/ẹgbẹ) sinu itọsọna yii gẹgẹbi atẹle yii:

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

Akiyesi: Ni igbakugba ti o ba ṣafikun awọn olumulo SSH diẹ sii si eto naa, iwọ yoo nilo lati daakọ awọn faili akọọlẹ imudojuiwọn sinu /ile/idanwo/ati be be lo itọsọna.

Igbesẹ 4: Tunto SSH lati Lo Jail Chroot

9. Bayi, ṣii faili sshd_config .

# vi /etc/ssh/sshd_config

ati ṣafikun/yipada awọn ila ni isalẹ ninu faili naa.

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

Fipamọ faili naa ki o jade, ki o tun bẹrẹ awọn iṣẹ SSHD:

# systemctl restart sshd
OR
# service sshd restart

Igbesẹ 5: Idanwo SSH pẹlu Jail Chroot

10. Ni aaye yii, ṣe idanwo ti iṣeto ewon chroot n ṣiṣẹ bi o ti ṣe yẹ:

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

Lati sikirinifoto ti o wa loke, a le rii pe olumulo SSH ti wa ni titiipa ninu tubu chrooted, ati pe ko le ṣiṣe eyikeyi awọn ofin ita (ls, ọjọ, uname ati be be lo).

Olumulo le nikan ṣiṣẹ bash ati awọn ofin ti a kọ sinu rẹ bii (pwd, itan-akọọlẹ, iwoyi abbl) bi a ti rii ni isalẹ:

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

Igbese 6. Ṣẹda Ilana Ile ti Olumulo SSH ati Ṣafikun Awọn ofin Linux

11. Lati igbesẹ ti tẹlẹ, a le ṣe akiyesi pe olumulo ti wa ni titiipa ninu itọsọna gbongbo, a le ṣẹda itọsọna ile fun olumulo SSH bii bẹẹ (ṣe eyi fun gbogbo awọn olumulo iwaju):

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

12. Nigbamii, fi awọn aṣẹ olumulo diẹ sii bii ls, ọjọ, mkdir ninu itọsọna bin :

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

13. Nigbamii, ṣayẹwo awọn ile ikawe ti a pin fun awọn ofin loke ki o gbe wọn sinu itọsọna awọn ile ikawe ẹwọn chrooted:

# 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/

Igbese 7. Idanwo SFTP pẹlu Jail Chroot

14. Ṣe idanwo ikẹhin nipa lilo sftp; ṣayẹwo ti awọn aṣẹ ti o ṣẹṣẹ fi sori ẹrọ ba n ṣiṣẹ.

Ṣafikun laini isalẹ ni /etc/ssh/sshd_config faili:

#Enable sftp to chrooted jail 
ForceCommand internal-sftp

Fipamọ faili naa ki o jade. Lẹhinna tun bẹrẹ awọn iṣẹ SSHD:

# systemctl restart sshd
OR
# service sshd restart

15. Bayi, idanwo nipa lilo SSH, iwọ yoo gba aṣiṣe wọnyi:

# ssh [email 

Gbiyanju lati lo SFTP gẹgẹbi atẹle:

# sftp [email 

Iyẹn ni fun bayi !. Ninu nkan yii, a fihan ọ bi o ṣe le ni ihamọ olumulo SSH kan ninu itọsọna ti a fun (ile-ẹwọn chrooted) ni Lainos. Lo abala ọrọ asọye ni isalẹ lati fun wa ni awọn ero rẹ nipa itọsọna yii.