Chroot SFTP, noFTP, noSCP, noSSH

Miroslav Lachman 000.fbsd at quip.cz
Wed May 15 00:01:46 CEST 2019


Ivo Hazmuk wrote on 2019/05/14 21:33:

> Horší je to s povolením SFTP s chrootem.
> 
> 1) Nainstaluj si scponly shell a do /etc/shells přidej cestu k scponly. 
> Nejspíš "/usr/local/bin/scponly".

scponly neni potreba pro chrootovane SFTP. To zajistuje samotne openssh 
tim "internal-sftp" a jako shell se pouzije /usr/bin/false

> 2) V /etc/group musíš mít skupinu "ftp":
> ftp:*:14:

Tohle mi prijde dost matouci - zakazat uzivateli FTP v /etc/ftpusers a 
pritom ho mit ve skupine ftp.

Ja bych si tu skupinu pojmenoval treba "sftponly"

> 3) V /etc/master.passwd potřebuješ:
> ftp-user:tady=je=hash=hesla:1246:14::0:0:temporary FTP 
> account:/ftp/ftp-user:/usr/local/bin/scponly

Kdyz uz se resi prechod z FTP na SFTP, tak bych doporucil pouzit SSH 
klice a ne hesla.

Bud globalne, nebo v sekci Match nastavit
     PasswordAuthentication no
     ChallengeResponseAuthentication no

YMMV

> 5) Musíš nastavit správně domovský adresář:
> mkdir /ftp/ftp-user
> cd /ftp
> chown root:ftp ftp-user
> cd ftp-user
> mkdir files
> chown ftp-user files

Tady by bylo asi dobre zminit, co a proc se nastavuje.
Vsechny komponenty cesty k cilovemu domovskemu adresari musi byt 
vlastnene rootem a nesmi byt zapisovatelne nikym jinym. (viz man 
sshd_config, sekce ChrootDirectory)
Teprve podslozky toho home mohou byt vlastnene a zapisovatelne tim 
uzivatelem, co se tam hlasi. Coz pro nektere uzivatele muze byt dost 
matouci, ze nemohou zapsat do vlastniho homediru. To je holt dan za ten 
sftp chroot.

Tzn. /ftp/ i /ftp/ftp-user/ - pokud nekdo nekdy zmeni nastaveni, 
napriklad ze povoli zapis nejakou jinou skupinou, tak to prestane 
fungovat a prihlaseni na ten sftp only ucet nepujde.

> Práva mám potom takto:
> stroj: # pwd
> /ftp
> stroj: # ls -lRa ftp-user
> total 6
> drwxr-x--x  3 root  ftp    512 Oct 25  2018 .
> drwxr-xr-x  7 root  wheel  512 May 13 14:52 ..
> drwxrwxrwx  2 ftp-user  ftp    512 Apr 19 13:47 files
> 
> ftp-user/files:
> total 4
> drwxrwxrwx  2 ftp9  ftp  512 Apr 19 13:47 .
> drwxr-x--x  3 root  ftp  512 Oct 25  2018 ..

Pak bych tam pridal adresar /ftp/ftp-user/.ssh/ kam se pak vlozi 
authorized_keys, aby se uzivatel mohl prihlasovat klicem a ne heslem.

A stoji jeste ze zvazeni, jestli chces nechat uzivatele, aby si sami 
spravovali klice, nebo ne.
Pokud bys jim to nechtel povolit, tak slozka /ftp/ftp-user/.ssh/ muze 
patrit taky rootovi a nepovolit tam nikomu jinemu zapis, pak vlozit 
klice /ftp/ftp-user/.ssh/authorized_keys a je to.

Mirek


More information about the Users-l mailing list