Limitahi ang SSH User Access sa Piho nga Direktoryo Gamit ang Chrooted Jail
Adunay ubay-ubay nga mga rason nga higpitan ang usa ka sesyon sa gumagamit sa SSH sa usa ka partikular nga direktoryo, labi na sa mga web server, apan ang klaro usa ka seguridad sa sistema. Aron ma-lock ang mga tiggamit sa SSH sa usa ka direktoryo, magamit namon ang mekanismo sa chroot.
pagbag-o sa gamut (chroot) sa mga sistema nga sama sa Unix sama sa Linux, usa ka paagi sa pagbulag sa piho nga mga operasyon sa tiggamit gikan sa nahabilin nga sistema sa Linux; giusab ang dayag nga root directory alang sa kasamtangan nga proseso sa user ug ang proseso sa bata niini nga adunay bag-ong root directory nga gitawag og chrooted jail.
Sa kini nga panudlo, ipakita namon kanimo kung giunsa ang pagpugong sa usa ka SSH nga pag-access sa gumagamit sa usa ka gihatag nga direktoryo sa Linux. Timan-i nga among ipadagan ang tanan nga mga mando ingon gamut, gamita ang sudo nga mando kung naka-log in ka sa server ingon usa ka normal nga tiggamit.
Lakang 1: Paghimo SSH Chroot Jail
1. Sugdi pinaagi sa paghimo sa chroot jail gamit ang mkdir command sa ubos:
# mkdir -p /home/test
2. Sunod, ilha ang gikinahanglan nga mga file, sumala sa sshd_config man page, ang ChrootDirectory
nga opsyon nagtino sa pathname sa direktoryo nga chroot human sa authentication. Ang direktoryo kinahanglan adunay mga gikinahanglan nga mga file ug mga direktoryo aron suportahan ang sesyon sa usa ka user.
Alang sa interactive nga sesyon, nagkinahanglan kini og bisan usa ka shell, kasagaran sh
, ug basic /dev
nodes sama sa null, zero, stdin, stdout, stderr, ug tty device:
# ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
3. Karon, buhata ang /dev
files sama sa mosunod gamit ang mknod command. Sa sugo sa ubos, ang -m
nga bandera gigamit sa pagtino sa mga permiso sa file bits, c
nagpasabot sa karakter file ug ang duha ka numero mao ang mayor ug menor de edad nga mga numero nga ang mga file nagpunting sa .
# 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. Pagkahuman, ibutang ang angay nga pagtugot sa chroot jail. Timan-i nga ang chroot jail ug ang mga subdirectory ug subfile niini kinahanglan nga gipanag-iya sa root user, ug dili masulat sa bisan unsang normal nga user o grupo:
# chown root:root /home/test # chmod 0755 /home/test # ls -ld /home/test
Lakang 2: I-setup ang Interactive Shell para sa SSH Chroot Jail
5. Una, buhata ang bin
directory ug dayon kopyaha ang /bin/bash
files ngadto sa bin
directory sama sa mosunod:
# mkdir -p /home/test/bin # cp -v /bin/bash /home/test/bin/
6. Karon, ilha ang gikinahanglan nga bash nga gipaambit nga libs
, sama sa ubos ug kopyaha kini sa lib
nga direktoryo:
# 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/
Lakang 3: Paghimo ug I-configure ang SSH User
7. Karon, paghimo sa SSH user gamit ang useradd command ug pagtakda og luwas nga password para sa user:
# useradd tecmint # passwd tecmint
8. Paghimo sa chroot jail general configurations directory, /home/test/etc
ug kopyaha ang updated nga mga file sa account (/etc/passwd ug /etc/group) ngadto niini nga direktoryo sama sa mosunod:
# mkdir /home/test/etc # cp -vf /etc/{passwd,group} /home/test/etc/
Mubo nga sulat: Matag higayon nga magdugang ka ug daghang SSH user sa sistema, kinahanglan nimong kopyahon ang updated nga mga file sa account ngadto sa /home/test/etc
directory.
Lakang 4: I-configure ang SSH aron magamit ang Chroot Jail
9. Karon, ablihi ang sshd_config
file.
# vi /etc/ssh/sshd_config
ug idugang/bag-ohon ang mga linya sa ubos sa file.
#define username to apply chroot jail to Match User tecmint #specify chroot jail ChrootDirectory /home/test
I-save ang file ug paggawas, ug i-restart ang mga serbisyo sa SSHD:
# systemctl restart sshd OR # service sshd restart
Lakang 5: Pagsulay sa SSH gamit ang Chroot Jail
10. Niini nga punto, sulayi kung ang chroot jail setup nagtrabaho sama sa gipaabut:
# ssh [email -bash-4.1$ ls -bash-4.1$ date -bash-4.1$ uname
Gikan sa screenshot sa ibabaw, atong makita nga ang SSH user kay naka-lock sa chrooted jail, ug dili makadagan sa bisan unsa nga external commands (ls, date, uname etc).
Ang user makahimo lamang sa pag-execute sa bash ug sa mga builtin command sama sa(pwd, history, echo etc) nga makita sa ubos:
# ssh [email -bash-4.1$ pwd -bash-4.1$ echo "Tecmint - Fastest Growing Linux Site" -bash-4.1$ history
Lakang 6. Paghimo og SSH User's Home Directory ug Add Linux Commands
11. Gikan sa miaging lakang, atong mamatikdan nga ang user kay naka-lock sa root directory, makahimo kita og home directory para sa SSH user nga sama niini (buhata kini para sa tanang umaabot nga tiggamit):
# mkdir -p /home/test/home/tecmint # chown -R tecmint:tecmint /home/test/home/tecmint # chmod -R 0700 /home/test/home/tecmint
12. Sunod, i-install ang pipila ka mga command sa user sama sa ls, date, mkdir sa bin
directory:
# cp -v /bin/ls /home/test/bin/ # cp -v /bin/date /home/test/bin/ # cp -v /bin/mkdir /home/test/bin/
13. Sunod, susiha ang gipaambit nga mga librarya alang sa mga sugo sa ibabaw ug ibalhin kini ngadto sa chrooted jail libraries directory:
# 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/
Lakang 7. Pagsulay sa SFTP gamit ang Chroot Jail
14. Paghimo ug kataposang pagsulay gamit ang sftp; susiha kung ang mga sugo nga imong gi-install nagtrabaho.
Idugang ang linya sa ubos sa /etc/ssh/sshd_config
file:
#Enable sftp to chrooted jail ForceCommand internal-sftp
I-save ang file ug paggawas. Dayon i-restart ang mga serbisyo sa SSHD:
# systemctl restart sshd OR # service sshd restart
15. Karon, pagsulay gamit ang SSH, imong makuha ang mosunod nga sayop:
# ssh [email
Sulayi gamit ang SFTP sama sa mosunod:
# sftp [email
Mao na sa karon!. Sa kini nga artikulo, gipakita namon kanimo kung giunsa ang pagpugong sa usa ka gumagamit sa SSH sa usa ka gihatag nga direktoryo (chrooted jail) sa Linux. Gamita ang seksyon sa komento sa ubos aron itanyag kanamo ang imong mga hunahuna bahin sa kini nga giya.