GNU/Linux >> Znalost Linux >  >> Linux

Jak na to Chrooted Drop Bear SSH Server

Tento výukový program byl napsán, aby vám pomohl nainstalovat server Drop Bear SSH do prostředí chroot. Pokrývá níže uvedené sekce:

* Instalace Drop Bear
* Nastavení Drop Bear
* Nastavení prostředí Chroot
* Ladění Chrooted Drop Bear

Drop medvěd

Dropbear je relativně malý server a klient SSH 2. Je to alternativní odlehčený program pro OpenSSH a je navržený pro prostředí s nízkým množstvím paměti a procesoru, jako jsou embedded systémy.

https://matt.ucc.asn.au/dropbear/dropbear.html

Všechny kroky v tomto tutoriálu jsou spuštěny jako uživatel root s operačním systémem Debian 9. Níže uvedené kroky by měly fungovat i pro ostatní OS Linux.

Instalace

Stáhnout

wget -c https://matt.ucc.asn.au/dropbear/dropbear-2018.76.tar.bz2

Extrahovat

tar jxf dropbear-2018.76.tar.bz2

Instalovat nástroje Build

Pro Debian 9 lze nástroje pro kompilaci softwaru nainstalovat pomocí apt:

apt-get install build-essential zlib1g-dev

Konfigurace

V naší instalaci zvolíme:/chroot/dropbear jako kořenovou cestu našeho prostředí chroot. A pouze pro vzdělávací účely měníme výchozí port TCP ssh na 2222:

cd dropbear-2018.76
./configure --prefix=/chroot/dropbear
sed -i 's/22/2222/g' options.h

Kompilace

Jednoduše:

make

Instalace

Výchozí instalační proces:

make install

Klíče

Dalším krokem je vytvoření klíčů dss a rsa pro ssh server Dropbear.

Nejprve musíme vytvořit složku s klíči dropbeara:

mkdir -pv /chroot/dropbear/etc/dropbear

A pak:

/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

Jak můžete vidět, použili jsme cestu prostředí chroot, aniž bychom potřebovali naši hierarchii distribuční cesty. Klíče Drop Bear's jsou již nainstalovány do našeho chrootového prostředí najednou.

Sdílené knihovny

Nyní musíme zkontrolovat všechny potřebné sdílené knihovny, které dropbear potřebuje ke spuštění v prostředí chroot:

ldd /chroot/dropbear/sbin/dropbear

Prostředí Chroot

Struktura

cd /chroot/dropbear/
mkdir -pv dev/pts proc etc lib usr/lib var/run var/log lib/x86_64-linux-gnu lib64

Knihovny

cp /lib/x86_64-linux-gnu/libutil.so.1 lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libz.so.1 lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libcrypt.so.1 lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 lib64/

Další knihovny

Tyto knihovny slouží většinou k procesu ověřování.

cp /lib/x86_64-linux-gnu/libnss_dns.so.2 lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu//libnss_files.so.2 lib/x86_64-linux-gnu/

Soubory

Zkopírujte potřebné soubory z root do 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
echo 'SSH' > etc/dropbear/dropbear.banner

Zařízení

Nyní musíme být velmi opatrní s dalším krokem našeho procesu. Musíme vytvořit všechna potřebná zařízení, aby se dropbear spustil.

(Nezapomeňte, že jsme vždy na cestě chroot – např. /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

Uživatelé

Samozřejmě musíme přidat uživatele do našeho nastavení chroot dropbear. Můžete přidat stávajícího uživatele, nebo můžete vytvořit nového. Preferuji přidat existujícího uživatele (např. ebal):

grep ^ebal /etc/passwd > etc/passwd
grep ^ebal /etc/group > etc/group
grep ^ebal /etc/shadow > etc/shadow
mkdir -pv home/ebal
chown ebal.ebal !$

Shell

Každý uživatel potřebuje shell! Nemusíme však instalovat bash, můžeme jednoduše použít busybox. Busybox je odlehčený shell a kombinuje mnoho běžných unixových utilit do malého spustitelného binárního souboru.

cp /etc/shells etc/
sed -i 's/bash/sh/' etc/passwd
cd bin
wget -c https://busybox.net/downloads/binaries/1.27.1-i686/busybox
chmod 0755 busybox
ln -s busybox sh
cd ../

Připojovací body

Toto je ta nejdůležitější věc, kterou my (vy) musíme udělat správně. Nové prostředí potřebuje přístup k terminálům (to je nezbytné pro přihlášení uživatele) a k systému souborů proc.

mount -o bind /dev/pts dev/pts/
mount -o bind /proc proc/

Spustit Drop Bear

Konečně jsme připraveni spustit Drop Bear z prostředí chroot:

chroot /chroot/dropbear/ \
/sbin/dropbear \
-b /etc/dropbear/dropbear.banner \
-d /etc/dropbear/dropbear.dss \
-r /etc/dropbear/dropbear.rsa \
-F -E -w -g -p 2222

Ladění

Pokud se ale něco pokazí, vždy můžeme běžící proces odladit pomocí strace:

strace -f chroot /chroot/dropbear/ \
/sbin/dropbear \
-b /etc/dropbear/dropbear.banner \
-d /etc/dropbear/dropbear.dss \
-r /etc/dropbear/dropbear.rsa \
-F -E -w -g -p 2222

Linux
  1. Ssh, Sudo, pak stáhnout?

  2. Jak SSH na server pomocí jiného serveru?

  3. Odstraňování problémů s SSH

  1. Jak nastavit SSH bez hesla v systému Linux

  2. Proč je moje přihlášení přes SSH pomalé?

  3. SSH bez zdroje .bashrc

  1. Jak na SSH na Linuxu z Androidu

  2. Ssh – přesunout běžící aplikaci na jiný X server?

  3. Jak udržet relace SSH naživu