Installare Drop Bear in un ambiente chroot

Drop Bear è un server SSH 2 piuttosto leggero e rappresenta un’alternativa a openssh per i server in cui le risorse sono particolarmente limitate.

Howtoforge propone un’interessante guida per l’installazione di Drop Bear in un ambiente chroot.

Installazione
La prima cosa da fare è scariacare l’archivio dal sito ufficiale.
wget -c http://matt.ucc.asn.au/dropbear/releases/dropbear-0.52.tar.bz2

L’archivio può poi essere estratto.
tar jxf dropbear-0.52.tar.bz2

In questo esempio si è deciso di utilizzare /chroot/dropbear come root dell’ambiente chroot.
cd dropbear-0.52
./configure –prefix=/chroot/dropbear

Terminata la configurazione è possibile compilare l’applicazione e installarla
make
make install

Configurazione
Una volta installata l’applicazione, è necessario creare le chiavi dss e rsa per il server ssh.
La prima cosa da fare è creare una cartella per le chiavi.
mkdir -pv /chroot/dropbear/etc/dropbear

/chroot/dropbear/bin/dropbearkey -t dss -f /chroot/dropbear/etc/dropbear/dropbear.dss
/chroot/dropbear/bin/dropbearkey -t rsa -s 4096 -f /chroot/dropbear/etc/dropbear/dropbear.rsa

La fase successiva consiste nel verificare le librerie necessarie per eseguire Drop Bear all’interno dell’ambiente chroot.
ldd /chroot/dropbear/sbin/dropbear

Con i seguenti comandi è possibile creare la struttura dell’ambiente chroot per Drop Bear.
cd /chroot/dropbear/
mkdir -pv dev/pts proc etc lib usr/lib var/run var/log

A questo punto le librerie necessarie vengono copiate nella struttura creata.
cp /lib/libutil.so.1 lib/
cp /usr/lib/libz.so.1 usr/lib/
cp /lib/libcrypt.so.1 lib
cp /lib/libc.so.6 lib/
cp /lib/ld-linux.so.2 lib/
cp /lib/libnss_dns.so.2 lib/
cp /lib/libnss_files.so.2 lib/

Oltre alle librerie, è necessario copiare anche i seguenti file nell’ambiente chroot.
cp /etc/localtime etc/
cp /etc/nsswitch.conf etc/
cp /etc/resolv.conf etc/
cp /etc/host.conf etc/
cp /etc/hosts etc/
touch var/log/lastlog
touch var/run/utmp
touch var/log/wtmp

Terminata la copia, è possibile creare nell’ambiente chroot le periferiche richiese da Drop Bear
cd /chroot/dropbear
mknod dev/urandom c 1 9
chmod 0666 dev/urandom
mknod dev/ptmx c 5 2
chmod 0666 dev/ptmx
mknod dev/tty c 5 0
chmod 0666 dev/tty

La fase successiva consiste nell’aggiungere gli utenti all’ambiente chroot.
In besto esempio viene aggiunto un utente esistente chiamato user1.
grep ^user1 /etc/passwd > etc/passwd
grep ^user1 /etc/group > etc/group
grep ^user1 /etc/shadow > etc/shadow
mkdir home/user1
chown user1.user1 !$

Gli utenti hanno bisogno di una shell e in qusto caso viene utilizzato busybox
cp /etc/shells etc/
sed -i ‘s/bash/sh/’ etc/passwd
cd bin
wget -c http://busybox.net/downloads/binaries/1.16.0/busybox-i686
mv busybox-i686 busybox
chmod 0755 busybox
ln -s busybox sh
cd ../

A questo punto è necessario creare i mount point per permettere all’ambiente chroot di accedere al terminale e al filesystem proc.
mount -o bind /dev/pts dev/pts/
mount -o bind /proc proc/

Terminata questa operazione è possibile eseguire Drop Bear nell’ambiente chroot
chroot /chroot/dropbear/
/sbin/dropbear
-b /etc/dropbear/dropbear.banner
-d /etc/dropbear/dropbear.dss
-r /etc/dropbear/dropbear.rsa
-m -w -g