Fórum Root.cz

Hlavní témata => Server => Téma založeno: Pavel M 28. 05. 2011, 20:51:20

Název: SFTP a přepnutí do adresáře
Přispěvatel: Pavel M 28. 05. 2011, 20:51:20
Ahoj,

nakonfiguroval jsem podle clanku http://www.root.cz/clanky/jak-nahradit-ftp-pomoci-sftp-a-zamknout-uzivatele/ ssh server. Vse jede jak ma. Jen po prihlaseni se uzivatel dostane do jeho chroot, ve kterem nemuze nic... ma tam vsak  mnou vytvoreny adresar, do ktereho se muze prepnout, a ve kterem ma pravo delat cokoliv.

Co potrebuju? Je nejaka moznost, aby se uzivatel ihned po prihlaseni automaticky dostal do onoho adresare, aniz by se tam musel prepinat? Nastavil jsme mu ho jako home v /etc/passwd ale nepomohlo.
 
Kód: [Vybrat]
/etc/passwd
ftp:x:1001:1001:ftp,,,:/test/scp:/bin/false

konfigurace ssh
Kód: [Vybrat]
ChrootDirectory     /test
Diky za pripadne rady...
Název: Re: SFTP - prihlaseni zamceneho uzivatele do jeho home adresare
Přispěvatel: Harvie.CZ 29. 05. 2011, 02:28:28
Tohle uz bylo diskutovany (na anglicky mluvicich mailing listech) opravdu hodnekrat a je to ostuda, ze to nejde nejak rozumne udelat.

Ja bych jeste vice ocenil, kdyby bylo mozny usera chrootnout do jeho homu, bohuzel to neni bezpecne a OpenSSH chrootovani do adresare, kam ma user pravo zapisu nepripusti... (BTW da se tusim revertnout ten patch, kterej do openssh ochranu proti chrootnuti do takovyho adresare pridava a pak pripadne to zkusit nejak doresit treba pomoci apparmoru).

Bohuzel si myslim ze tohle je vec, ktera brani OpenSSH, aby masove nahradilo FTP servery, ktery problem s bezpecnosti chrootu jednim z nasledujicich zpusobu:
- ignoruji ho a chrootnou se kamkoliv
- ve skutecnosti se nechrootnou, ale jen chroot predstiraji na urovni sveho kodu
- po prihlaseni jen zmeni adresar a na chroot kaslou
- nejak jinak, coz nam ale stejne nepomuze :)

A tak diky zabezpeceni OpenSSH stale vsichni pouzivaji FTP(S) :) Ja verim, ze chlapci z OpenSSH jednou prijdou na nejake rozumne reseni pro hostingove stroje. Napiste jim mail, poslete jim pytel kafe a prosebnou pohlednici. Uz nevim kolik hodin sem bezvysledne stravil vymejslenim ruznejch klicek jak to obejit (nejsem fanouskem scponly a podobnych a nehodlam je zavadet). Pro me je problem uz jen to, ze kazdy home by mel byt zanoren v dalsi urovni, je to oskliva prasarna, kterou nezachrani ani automaticka zmena adresare po prihlaseni (jestli neco takoveho vubec v tomhle protokolu jde).
Název: Re: SFTP - prihlaseni zamceneho uzivatele do jeho home adresare
Přispěvatel: VS 29. 05. 2011, 02:47:22
Tohle uz bylo diskutovany (na anglicky mluvicich mailing listech) opravdu hodnekrat a je to ostuda, ze to nejde nejak rozumne udelat.

Nejde sice chroot přímo do vlastního adresáře uživatele, ale to zpravidla nevadí. Pokud předpokládám, že domovské adresáře pod /home mají rozumná oprávnění, tj. RW pro vlastníka a případně čtení pro jednotlivé uživatele/skupiny, tak nevadí chroot dělat do celého /home. Na /home nemusí mít uživatelé právo R, stačí X - tj. ani nevylistují seznam adresářů.

A teď jak to skloubit s OpenSSH? Potíž je, že má-li uživatel home adresář /home/jarda, tak po provedení chroot(/home) nejde udělat cd(/home/jarda), uživatel zůstane v /home, a ten nemůže ani číst... Řeší se to triviálním trikem, kdy si vytvoříme adresář např. /var/ssh-chroot, v něm /var/ssh-chroot/home. Uděláme bind mount /home -> /var/ssh-chroot/home. V konfiguraci sshd pak bude chroot dir /var/ssh-chroot.

Výhoda je, že lze udělat zároveň i bind mount dalších adresářů, např. /var/www. Uživatel přes ssh vidí jakoby celý filesystem, jen filtrovaný. Jistě nejsem sám, kdo to takhle používá. Inspirací mi bylo nějaké HOWTO na webu.
Název: Re: SFTP a přepnutí do adresáře
Přispěvatel: Kicko 03. 07. 2011, 11:02:55
Ako homedir mu nastav napr.:

/test/user/./wwwroot