Dropbear SSH Server из среды chroot |

Dropbear SSH Server из среды chroot

Мануал

Это учебное пособие написано, чтобы помочь вам установить SSH-сервер Drop Bear в среду chroot.

Оно охватывает следующие разделы:

  • * Установка Drop Bear
  • * Настройка Drop Bear
  • * Настройка среды Chroot
  • * Отладка Chrooted Drop Bear

Drop Bear

Dropbear – относительно небольшой сервер и клиент SSH .

Это альтернативная легкая программа для OpenSSH и предназначена для сред с низкой памятью и ресурсами процессора, таких как встроенные системы.

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

Все этапы этого руководства запускаются от пользователя root с Debian 9 в качестве операционной системы.

Следующие шаги, показанные далее должны работать и для других ОС Linux.

Установка

Скачивание

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

Извлечение

tar jxf dropbear-2018.76.tar.bz2

Установка инструментов сборки

Для Debian 9 инструменты для компиляции программного обеспечения могут быть установлены с помощью apt:

apt-get install build-essential zlib1g-dev

Настройка

В нашей установке мы выбираем: /chroot/dropbear как корневой путь среды chroot.

И только для образовательных целей мы меняем порт TCP ssh по умолчанию ssh на 2222:

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

Сборка

make

Установка

Процесс установки по умолчанию:

make install

Ключи

Следующим шагом будет создание ключей dss & rsa для ssh-сервера dropbear.

Сначала мы должны создать папку с ключами:

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

Как вы можете видеть, мы использовали путь среды chroot без необходимости в иерархии путей распространения.

Ключи Drop Bear уже сразу установлены в нашу среду chroot.

Общие библиотеки

Теперь нам нужно проверить все необходимые общие библиотеки, которые dropbear необходимо запустить внутри среды chroot:

ldd /chroot/dropbear/sbin/dropbear

Среда Chroot

Структура

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

Библиотеки

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/

Дополнительные библиотеки

Эти библиотеки в основном предназначены для процесса аутентификации.

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/

Файлы

Скопируйте необходимые файлы root в 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

Девайсы

Теперь мы должны быть очень осторожны со следующим шагом нашего процесса.

Мы должны создать все необходимые устройства для запуска dropbear.

(Помните, что мы всегда находимся на пути chroot – например. /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

Пользователи

Конечно, нам нужно добавить пользователей в нашу установку chroot dropbear. Вы можете добавить пользователя или создать новый.

Я предпочитаю добавлять существующего пользователя (например, 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 !$

Оболочка

Каждому пользователю нужна оболочка!

Но нам не нужно устанавливать bash, мы можем просто использовать busybox.

Busybox – это легкая оболочка и объединяет множество общих Unix-утилов в маленький исполняемый двоичный файл.

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 ../

Точки монтирования

Это самое главное, что мы (вы) должны сделать правильно.

Новая среда нуждается в доступе к терминалам (это необходимо для входа пользователя в систему) и для файловой системы proc.

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

Запустите Drop Bear

Наконец, мы готовы запустить Drop Bear из среды 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

Отладка

Но если что-то пойдет не так, мы всегда можем отлаживать текущий процесс с помощью 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

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий