Come posso chroot connessioni ssh?


20

Vorrei installare una prigione chroot per la maggior parte (non tutti) gli utenti che accedono tramite SSH. Ho sentito che è possibile con le ultime versioni di openssh, ma non sono stato in grado di scoprire come farlo. How To parla del patching di una versione precedente e la patch non è più disponibile.

Sto eseguendo debian etch.

Risposte:


13

Sto usando rssh per questo scopo.

Hai ragione, c'è un nuovo modo di farlo ed è una funzionalità integrata delle recenti versioni di ssh.

Ecco un articolo su Undeadly .


6

Ho dovuto solo configurare un utente che sarebbe stato in grado di accedere tramite SSH e SSH su un altro server (che non è direttamente collegato al mondo esterno). I collegamenti di cstama ed ericmayo sono stati un buon inizio.

Fondamentalmente, ho aggiunto quanto segue a / etc / ssh / sshd_config:

Abbina utente myuser
  ChrootDirectory / chroot / myuser

Da lì in poi, ho dovuto solo creare l'ambiente chroot sotto / chroot / myuser. Ho copiato / bin / bash e / usr / bin / ssh e le librerie condivise di cui avevano bisogno (ldd mostrerà quelle). Per un ambiente più ampio, probabilmente avrebbe senso compilare versioni collegate staticamente degli eseguibili necessari.

Bash ha funzionato subito, per far funzionare ssh, ho anche dovuto creare la directory .ssh, copiare / etc / passwd, /etc/nsswitch.conf e / lib / libnss_ * e creare / dev / null, / dev / tty e / dev / urandom via mknod.


2
mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

Devi modificare il file / etc / sshd_config e aggiungere

ChrootDirectory /chroot/%h

E riavvia il demone sshd.

Detto questo, onestamente penso che sftp sia un'opzione migliore.

Inoltre, ho trovato questo URL se è utile.

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229


1

Se si utilizza l'autenticazione con chiave pubblica, è possibile utilizzare l'opzione "comando" nelle chiavi autorizzate per configurare la jail chroot.

~ / .ssh / authorized_keys:

command="/path/to/the/chroot/script" ssh-dss keydata.....keydata... user@host

Non sto utilizzando l'autenticazione con chiave pubblica, l'autenticazione viene effettuata tramite password e nome utente
Malfist,

0

Per quanto ne so, le nuove versioni di OpenSSH consentono solo chroot per connessioni SFTP. Ho provato e funziona. Ma per SSH la soluzione disponibile è la patch chrootssh. Navigo sul sito SourceForge e non ci sono file, quindi penso che sia sospeso.

Per Debian Etch ci sono alcuni file qui: http://debian.home-dn.net/etch/ssh/

Ci sono altre soluzioni qui: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , incluso chrootssh.


-1 Spiacenti, la tua risposta era corretta anni fa quando l'hai scritta, ma non lo è più.
Chris S,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.