SSH-сервер Drop Bear Chrooted HowTo
На этой странице
- Падение медведя
- Установка
- Скачать
- Извлечь
- Установить инструменты сборки
- Конфигурация
- Подборка
- Установка
- Структура
- Библиотеки
- Дополнительные библиотеки
- Файлы
- Устройства
- Пользователи
- Оболочка
Это руководство написано, чтобы помочь вам установить SSH-сервер Drop Bear в среде chroot. Он охватывает следующие разделы:
* Установка Drop Bear
* Настройка Drop Bear
* Настройка среды Chroot
* Отладка Chrooted Drop BearОтбросьте медведя
Dropbear — это относительно небольшой сервер и клиент SSH 2. Это альтернативная облегченная программа для OpenSSH, предназначенная для сред с небольшим объемом памяти и ресурсов процессора, таких как встроенные системы.
Все шаги в этом руководстве выполняются от имени пользователя 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 на 2222:
cd dropbear-2018.76
./configure --prefix=/chroot/dropbear
sed -i 's/22/2222/g' options.hСборник
Просто как тот:
make
Установка
Процесс установки по умолчанию:
make install
Ключи
Следующим шагом будет создание ключей dss и rsa для ssh-сервера dropbear.
Сначала мы должны создать папку с ключами dropbears:
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 Bears уже установлены в нашу среду 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/Файлы
Скопируйте необходимые файлы из корня в 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 из среды 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