Zuia Ufikiaji wa Mtumiaji wa SSH kwa Saraka Fulani inayotumia Jela ya Chrooted
Kuna sababu kadhaa za kuzuia kikao cha mtumiaji wa SSH kwa saraka fulani, haswa kwenye seva za wavuti, lakini dhahiri ni usalama wa mfumo. Ili kufunga watumiaji wa SSH kwenye saraka fulani, tunaweza kutumia utaratibu wa chroot.
badilisha mzizi (chroot) katika mifumo inayofanana na Unix kama vile Linux, ni njia ya kutenganisha shughuli mahususi za mtumiaji kutoka kwa mfumo mwingine wa Linux; inabadilisha saraka ya mizizi inayoonekana kwa mchakato wa sasa wa mtumiaji na mchakato wa mtoto wake na saraka mpya ya mizizi inayoitwa jela iliyokatwa.
Katika somo hili, tutakuonyesha jinsi ya kuzuia ufikiaji wa mtumiaji wa SSH kwa saraka fulani katika Linux. Kumbuka kuwa tutaendesha amri zote kama mzizi, tumia sudo amri ikiwa umeingia kwenye seva kama mtumiaji wa kawaida.
Hatua ya 1: Unda Jela ya SSH Chroot
1. Anza kwa kuunda jela ya chroot kwa kutumia amri ya mkdir hapa chini:
# mkdir -p /home/test
2. Kisha, tambua faili zinazohitajika, kulingana na ukurasa wa mtu wa sshd_config, chaguo la ChrootDirectory
hubainisha njia ya saraka ya kuchroot baada ya uthibitishaji. Saraka lazima iwe na faili na saraka zinazohitajika ili kusaidia kipindi cha mtumiaji.
Kwa kipindi shirikishi, hii inahitaji angalau ganda, kwa kawaida sh
, na nodi za msingi za /dev
kama vile null, zero, stdin, stdout, stderr, na tty vifaa:
# ls -l /dev/{null,zero,stdin,stdout,stderr,random,tty}
3. Sasa, unda faili za /dev
kama ifuatavyo kwa kutumia amri ya mknod. Katika amri iliyo hapa chini, bendera ya -m
inatumika kubainisha biti za ruhusa za faili, c
inamaanisha faili ya herufi na nambari mbili ni nambari kuu na ndogo ambazo faili huelekeza. .
# 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. Baadaye, weka ruhusa inayofaa kwenye jela ya chroot. Kumbuka kuwa jela ya chroot na saraka zake ndogo na faili ndogo lazima zimilikiwe na mtumiaji wa mizizi, na haziwezi kuandikwa na mtumiaji au kikundi chochote cha kawaida:
# chown root:root /home/test # chmod 0755 /home/test # ls -ld /home/test
Hatua ya 2: Sanidi Shell Interactive kwa SSH Chroot Jail
5. Kwanza, unda saraka ya bin
kisha unakili faili za /bin/bash
kwenye bin
saraka kama ifuatavyo:
# mkdir -p /home/test/bin # cp -v /bin/bash /home/test/bin/
6. Sasa, tambua bash inayohitajika kushiriki libs
, kama ilivyo hapo chini na unakili kwenye saraka ya 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/
Hatua ya 3: Unda na Usanidi Mtumiaji wa SSH
7. Sasa, unda mtumiaji wa SSH kwa amri ya useradd na uweke nenosiri salama kwa mtumiaji:
# useradd tecmint # passwd tecmint
8. Unda saraka ya jumla ya usanidi wa jela ya chroot, /home/test/etc
na unakili faili za akaunti zilizosasishwa (/etc/passwd na /etc/group) kwenye saraka hii kama ifuatavyo:
# mkdir /home/test/etc # cp -vf /etc/{passwd,group} /home/test/etc/
Kumbuka: Kila wakati unapoongeza watumiaji zaidi wa SSH kwenye mfumo, utahitaji kunakili faili za akaunti zilizosasishwa kwenye saraka ya /home/test/etc
.
Hatua ya 4: Sanidi SSH ili Kutumia Jela ya Chroot
9. Sasa, fungua faili ya sshd_config
.
# vi /etc/ssh/sshd_config
na ongeza/rekebisha mistari iliyo hapa chini kwenye faili.
#define username to apply chroot jail to Match User tecmint #specify chroot jail ChrootDirectory /home/test
Hifadhi faili na uondoke, na uanze upya huduma za SSHD:
# systemctl restart sshd OR # service sshd restart
Hatua ya 5: Kujaribu SSH na Jela ya Chroot
10. Katika hatua hii, jaribu ikiwa usanidi wa jela ya chroot unafanya kazi inavyotarajiwa:
# ssh [email -bash-4.1$ ls -bash-4.1$ date -bash-4.1$ uname
Kutoka kwenye picha ya skrini iliyo hapo juu, tunaweza kuona kwamba mtumiaji wa SSH amefungwa kwenye jela iliyofungwa, na hawezi kutekeleza amri zozote za nje (ls, tarehe, uname n.k).
Mtumiaji anaweza tu kutekeleza bash na amri zake za ujenzi kama vile(pwd, historia, echo n.k) kama inavyoonekana hapa chini:
# ssh [email -bash-4.1$ pwd -bash-4.1$ echo "Tecmint - Fastest Growing Linux Site" -bash-4.1$ history
Hatua ya 6. Unda Saraka ya Nyumbani ya Mtumiaji wa SSH na Ongeza Amri za Linux
11. Kutoka kwa hatua iliyotangulia, tunaweza kugundua kuwa mtumiaji amefungwa kwenye saraka ya mizizi, tunaweza kuunda saraka ya nyumbani kwa mtumiaji wa SSH kama hivyo (fanya hivi kwa watumiaji wote wa siku zijazo):
# mkdir -p /home/test/home/tecmint # chown -R tecmint:tecmint /home/test/home/tecmint # chmod -R 0700 /home/test/home/tecmint
12. Kisha, sakinisha amri chache za watumiaji kama vile ls, tarehe, mkdir katika saraka ya bin
:
# cp -v /bin/ls /home/test/bin/ # cp -v /bin/date /home/test/bin/ # cp -v /bin/mkdir /home/test/bin/
13. Kisha, angalia maktaba zilizoshirikiwa kwa amri zilizo hapo juu na uzihamishe hadi kwenye saraka ya maktaba ya jela iliyochongwa:
# 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/
Hatua ya 7. Kujaribu SFTP na Jela ya Chroot
14. Fanya mtihani wa mwisho kwa kutumia sftp; angalia ikiwa amri ambazo umesakinisha hivi punde zinafanya kazi.
Ongeza laini iliyo hapa chini katika /etc/ssh/sshd_config
faili:
#Enable sftp to chrooted jail ForceCommand internal-sftp
Hifadhi faili na uondoke. Kisha anza tena huduma za SSHD:
# systemctl restart sshd OR # service sshd restart
15. Sasa, jaribu kwa kutumia SSH, utapata hitilafu ifuatayo:
# ssh [email
Jaribu kutumia SFTP kama ifuatavyo:
# sftp [email
Ni hayo kwa sasa!. Katika nakala hii, tulikuonyesha jinsi ya kumzuia mtumiaji wa SSH kwenye saraka fulani (jela iliyokatwa) katika Linux. Tumia sehemu ya maoni hapa chini ili kutupa maoni yako kuhusu mwongozo huu.