Ito ang command rssh na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
rssh - pinaghihigpitan ang secure na shell na nagpapahintulot lamang sa scp at/o sftp
SINOPSIS
rssh [ mga pagpipilian... ] [ ... ]
rssh -v
DESCRIPTION
rssh ay isang restricted shell para sa pagbibigay ng limitadong access sa isang host sa pamamagitan ng SSH(1), na nagpapahintulot sa a
user kung saan naka-configure ang shell rssh gamitin ang isa o higit pa sa (mga) command scpNa (1),
sftp(1) CVSNa (1), rdist(1), at rsync(1), at lamang ang mga utos na iyon. Ito ay inilaan pangunahin
upang gumana sa OpenSSH (tingnan http://www.openssh.com), ngunit maaaring gumana sa iba
mga pagpapatupad.
Dapat i-install ng system administrator ang shell sa pinaghihigpitang system. Pagkatapos ay ang
password file entry ng sinumang user na gustong magbigay ng pinaghihigpitang pag-access
dapat i-edit, na ang kanilang shell ay rssh. Halimbawa:
luser:x:666:666::/home/luser:/usr/bin/rssh
Kung hinihingi ng -v pagpipilian, rssh ay mag-uulat ng bersyon nito, at lalabas. Lahat ng iba pa
mga argumento sa rssh ay ang mga tinukoy ng remote SSH(1) kliyente, at hindi gaanong
pag-aalala sa karaniwang gumagamit. Ang mga argumentong ibinigay ay dapat na kung ano ang isang shell sa remote
matatanggap ang katapusan upang maipasa ang kontrol sa scpNa (1), sftp(1), atbp. Kung rssh natatanggap
mga argumento na hindi tumutugma, maglalabas ito ng mensahe ng error at lalabas. Kung ang programa
ang user na sinusubukang tumakbo ay hindi pinapayagan, o naglalaman ng syntax na susubukan na magsagawa ng a
shell command (tulad ng command substitution), maglalabas din ito ng error at lalabas.
rssh may configuration file, rssh.conf(5), na nagpapahintulot sa ilan sa pag-uugali ng rssh sa
ipasadya. Tingnan ang man page na iyon para sa mga detalye.
SEGURIDAD NOTA
Basahin ito seksyon sa pambihira pakialam, or ikaw maaari ilagay iyong sistema at panganib!
paggamit rssh may CVS
Kung gumagamit ka ng rssh upang payagan ang pag-access sa CVS, dapat tandaan na hindi posible na
pigilan ang isang user na pamilyar sa CVS mula sa pag-bypass rssh at kumuha ng shell,
maliban kung ang user ay walang access sa pagsulat sa repositoryo. Malinaw, ang gumagamit ay dapat
magkaroon ng access sa pagsulat sa repository upang ma-update ito, na nagpapahintulot sa kanila na mag-upload
arbitrary na mga programa sa repositoryo. Nagbibigay ang CVS ng ilang mga mekanismo para sa pagpapatupad
mga ganitong di-makatwirang programa... Ang tanging makatwirang ligtas na paraan upang gamitin rssh na may CVS ay ang gamitin
ang chroot jail facility para ilagay ang CVS repository sa loob ng chroot jail. Mangyaring tingnan
sa ibaba at lahat ng nauugnay na dokumentasyon para sa mga detalye kung paano mag-set up ng chroot jails. Tandaan na
gumagamit habilin pa rin be maaari sa makuha talukap ng alimango daan sa loob ng ang bilangguan; ang tanging proteksyon na
sa kondisyon na hindi sila makakatakas sa kulungan. Ako ay hinabol upang mapanatili ang suporta
para sa CVS dahil ang proteksyon na ito ay mas mahusay kaysa sa walang proteksyon. Ikaw mayroon naging nagbabala. paggamit
CVS at iyong sarili panganib.
Malamang na ugat Ilagay sa kompromiso may Luma Mga bersyon
Bago rssh 2.3.0, kung ang isang regular na user ay may shell access sa isang makina kung saan rssh ay
naka-install, nagkaroon ng root compromise dahil sa rssh_chroot_helper na nagpapahintulot sa isang gumagamit na
arbitraryo chroot(2) sa kahit saan sa filesystem. Posibleng pagaanin ito
pag-atake laban sa mga apektadong bersyon ng rssh gamit ang mahigpit na mga kontrol sa pag-access sa mga file, sa pamamagitan ng paggawa
siguraduhin na ang user ay hindi maaaring sumulat sa anumang file sa parehong partition bilang mga executable ng system,
at ang anumang partisyon kung saan maaari silang magsulat ng mga file ay hindi nagpapahintulot sa pagpapatupad ng SUID
mga programa. Bilang ng rssh 2.3.0, ang pag-atakeng ito ay napigilan sa pamamagitan ng pagpigil sa arbitraryo
chroot(), if iyong bilangguan is itakda up ligtas. Sa partikular, siguraduhin na ang mga regular na gumagamit
hindi maaaring sumulat sa mga direktoryo sa loob ng kulungan na naglalaman ng mga kinopyang binary. yun
dapat ay halata, ngunit kailangan itong sabihin. Bagama't hindi ito dapat mahigpit na kailangan,
upang higit pang maprotektahan ang iyong system mula sa posibleng kompromiso, ipinapayong sundin
ang seksyon sa ibaba, na pinamagatang "Mga Pag-iingat Laban sa Paglampas sa rssh".
Mga Pananggalang Laban sa bypassing rssh
rssh ay dinisenyo upang makipag-ugnayan sa ilang iba pang mga programa. Kahit na ang rssh ay ganap na bug-
libre, ang mga pagbabago sa iba pang mga program na iyon ay posibleng magresulta sa mga pamamaraan upang iwasan ang
proteksyon yan rssh ay inilaan upang magbigay. It is mahalaga para iyo, ang sistema
tagapangasiwa, sa manatili kasalukuyan on ang mga serbisyo ikaw gumawa magagamit sa rssh, sa be sigurado
na mga ito utos do hindi magbigay mekanismo sa pumayag ang gumagamit sa tumakbo hindi makatwiran utos.
Gayundin, habang ang layunin ng bawat paglabas ay maging walang bug, walang perpekto... Maaaring
maging hindi natuklasang mga bug sa rssh na maaaring magpapahintulot sa isang user na iwasan ito.
Maaari mong protektahan ang iyong system mula sa mga taong sasamantalahin ang mga ganitong kahinaan. Ito
ay hindi kinakailangan para sa rssh upang gumana nang maayos, ngunit ito ay talagang magandang ideya. May anim na
pangunahing hakbang:
1. protektahan ang lahat ng hindi pang-administrator na account na may rssh (ibig sabihin walang regular na user
dapat magkaroon ng shell access sa server)
2. ilagay ang iyong mga user sa isang chroot jail
3. limitahan ang mga binary na nakatira sa kulungan sa ganap na minimum na kinakailangan
4. i-mount ang kanilang home filesystem na may opsyon na noexec/nosuid (ibig sabihin, gumamit ng hiwalay
mga partisyon sa kulungan para sa mga direktoryo ng tahanan ng gumagamit at lahat ng iba pang mga file, kung
posible/makatwiran)
5. lumikha ng grupo para sa mga gumagamit ng rssh, at limitahan ang executable na pag-access sa mga binary
sa mga user sa pangkat na iyon.
6. gumamit ng karaniwang mga pahintulot ng file nang maingat at naaangkop
Kung maaari, tiyaking walang regular na user ang may anumang uri ng shell access sa system
maliban sa pamamagitan ng rssh. Kung hindi, ang mga user na may shell access ay maaaring magsamantala
hindi natuklasang mga bug sa rssh_chroot_helper upang makakuha ng root access sa server.
rssh binibigyan ang system administrator ng kakayahang ilagay ang mga user sa isang chroot jail. Tingnan mo
mga detalye sa man page para sa rssh.conf at sa file CHROOT na ipinamamahagi kasama ang
source code. Kung nais mong matiyak na ang mga gumagamit ay hindi maaaring magpatakbo ng mga arbitrary na programa, gumamit ng isang chroot
kulungan, at siguraduhing huwag maglagay ng anumang mga programa maliban sa kung ano ang talagang kinakailangan
ibigay ang serbisyong sinusubukan mong ibigay. Pinipigilan nito ang mga ito na tumakbo sa pamantayan
mga utos ng system.
Pagkatapos, siguraduhin na ang mga file ng user sa loob ng kulungan ay nasa isang hiwalay na filesystem mula sa iyong
mga executable ng system. Kung maaari sa iyong kapaligiran, siguraduhing i-mount mo ito
filesystem gamit ang noexec at nosuid mga opsyon, kung ang iyong operating system ay nagbibigay ng mga ito.
Pinipigilan nito ang mga user na makapagsagawa ng mga programa kung saan sila nag-upload
ang target na makina (hal. gamit ang scp) na maaaring maisakatuparan, at pinipigilan ang SUID
mga programa mula sa paggalang sa mga bit ng SUID. Tandaan na ang mga pagpipiliang ito ay nangangailangan ng mga gumagamit
Ang mga file ay nasa hiwalay na mga partisyon mula sa mga binary at mga aklatan na nakatira sa kulungan.
Samakatuwid, kakailanganin mo ng hindi bababa sa 2 partition para sa iyong kulungan upang magawa ito nang maayos (isa para sa
ang mga binary ng system sa kulungan, ang isa para sa mga direktoryo ng gumagamit).
Bilang karagdagan, lumikha ng isang pangkat, halimbawa "rsshuser", para sa mga gumagamit ng rssh. Ilagay ang lahat ng iyong mga gumagamit
sino ang hihigpitan ng rssh sa grupong iyon. Itakda ang pagmamay-ari at mga pahintulot sa rssh
at rssh_chroot_helper upang ang mga user lamang na iyon ang makakapagsagawa ng mga ito. Ang mga sumusunod na utos
dapat ilarawan:
# groupadd rsshuser
# chown ugat:rsshuser rssh rssh_chroot_helper
# chmod 550 rssh
# chmod 4550 rssh_chroot_helper
Panghuli, gumamit ng karaniwang mga pahintulot ng Unix/POSIX file upang matiyak na hindi nila maa-access ang mga file nila
hindi dapat sa loob ng chroot jail.
Utos Linya Parser
Bilang ng rssh bersyon 2.2.3, dapat i-parse ng program ang kumpletong command line upang maiwasan
mga opsyon sa command line na nagiging sanhi ng pagpapatupad ng mga di-makatwirang programa (at samakatuwid ay i-bypass ang
seguridad ng rssh). Upang mapanatiling maayos ang source code ng program, ang parser ay kaunti
sobrang masigasig tungkol sa pagtutugma ng mga opsyon sa command line. Sa pagsasagawa, malamang na hindi ito mangyayari
isang isyu, ngunit sa teorya ito ay posible.
Kung may problema ka kung saan rssh tumangging tumakbo, na nagsasabing tinatanggihan ang kawalan ng katiyakan
mga opsyon sa command line na hindi tinukoy, subukang baguhin ang iyong command line nang ganoon
lahat maikli ang mga opsyon ay tinukoy bilang mga isahang titik na mga flag ng opsyon (hal -e -p sa halip na -ep)
at siguraduhing ihiwalay mo ang mga argumento mula sa kani-kanilang mga opsyon sa pamamagitan ng isang puwang (hal -p 123
sa halip na -p123). Sa halos lahat ng mga kaso, dapat itong malutas ang problema. Aminin, isang
hindi isinagawa ang kumpletong paghahanap, ngunit walang nakitang mga problemang kaso
malamang na karaniwan.
Ang kahalili ay ang pagsasama ng isang kumpletong command-line parser para sa rcp, rdist,
at rsync; ito ay malayo sa saklaw ng proyektong ito. Sa pagsasagawa, ang umiiral
sapat na ang parser. Kung, gayunpaman, makakita ka ng mga kaso kung saan hindi, mangyaring mag-post ng mga detalye
sa rssh mailing list. Ang mga detalye tungkol sa kung paano mag-post sa mailing list ay matatagpuan sa
ang rssh homepage.
OpenSSH Mga bersyon at bypassing rssh
Bago ang OpenSSH 3.5, sshd(8) sa pangkalahatan ay susubukang i-parse ang mga file sa tahanan ng user
direktoryo, at maaari ring subukang magpatakbo ng isang start-up na script mula sa user $HOME/.ssh direktoryo.
rssh hindi gumagamit ng kapaligiran ng gumagamit sa anumang paraan. Ang nauugnay na utos ay
isinagawa sa pamamagitan ng pagtawag execv(3) kasama ang buong landas sa utos, tulad ng tinukoy sa pag-compile
oras. Hindi ito nakasalalay sa variable ng PATH ng gumagamit, o sa anumang iba pang kapaligiran
variable
Gayunpaman, mayroong ilang mga problema na maaaring lumitaw. Ito ay ganap na dahil sa paraan ng
Gumagana ang sshd ng OpenSSH Project, at hindi ito kasalanan rssh. Halimbawa, isa
problema na maaaring umiiral ay iyon, ayon sa sshd(8) man page mula sa kahit ilan
mga release ng OpenSSH, ang mga command na nakalista sa $HOME/.ssh/rc file ay pinaandar gamit ang
/ Bin / SH sa halip na tinukoy na shell ng gumagamit. Mukhang hindi ito ang kaso sa
mga sistemang magagamit ng may-akda upang subukan; ang mga utos ay naisakatuparan gamit ang user
naka-configure na shell (rssh), na hindi pinapayagan ang pagpapatupad. Gayunpaman kung ito ay totoo sa iyong
system, kung gayon ang isang malisyosong user ay maaaring makaiwas rssh sa pamamagitan ng pag-upload ng file sa
$HOME/.ssh/rc na isasakatuparan ng / Bin / SH sa sistemang iyon. Kung may mga release (ng
OpenSSH) ay, sa katunayan, ay mahina sa problemang ito, kung gayon ito ay malamang na sila ay
mga luma at lumang bersyon lamang. Hangga't nagpapatakbo ka ng isang kamakailang bersyon ng OpenSSH, ito
hindi dapat maging problema sa aking masasabi.
Kung ang iyong sshd is mahina sa pag-atake na ito, mayroong isang solusyon para sa problemang ito, bagaman
ito ay medyo mahigpit. Ang ng gumagamit bahay direktoryo walang pasubali dapat hindi be nasusulat by
ang user. Kung ito ay, ang gumagamit ay maaaring gumamit ng sftp upang alisin ang direktoryo o palitan ang pangalan nito, at pagkatapos
lumikha ng bago, at punan ito ng anumang mga file sa kapaligiran na gusto nila. Para sa pagbibigay
mga pag-upload ng file, nangangahulugan ito na dapat gumawa ng direktoryo na maisusulat ng user para sa kanila, at dapat sila
ipaalam sa kanilang kawalan ng kakayahan na magsulat sa kanilang home directory maliban dito
lokasyon.
Ang pangalawang problema ay pagkatapos na mapatunayan ang gumagamit, nagbabasa din ang sshd
$HOME/.ssh/environment upang payagan ang user na magtakda ng mga variable sa kanilang kapaligiran. Ito
nagbibigay-daan sa user na ganap na umiwas rssh sa pamamagitan ng matalinong pagmamanipula ng naturang kapaligiran
mga variable bilang LD_LIBRARY_PATH or LD_PRELOAD upang i-link ang rssh binary laban sa arbitrary
mga shared library. Upang maiwasang maging problema ito, sa bersyon 0.9.3, ni
default rssh ay naipon na ngayon nang statically. Ang paghihigpit na gawain-sa paligid na nabanggit sa itaas ay
talunin din ang ganitong uri ng pag-atake.
Mula sa OpenSSH 3.5, sshd ngayon ay sumusuporta sa opsyon PermitUserEnvironment na nakatakda sa "hindi"
bilang default. Pinapayagan ng pagpipiliang ito ang mga pinaghihigpitang shell tulad ng rssh upang gumana nang maayos nang wala
na nangangailangan ng mga ito na maiugnay nang static. Bilang ng rssh bersyon 1.0.1, ang script ng pag-configure
dapat makita na ang OpenSSH 3.5 ay naroroon, at huwag paganahin ang default ng static na compilation.
Gumamit ng rssh online gamit ang mga serbisyo ng onworks.net