Это учебное пособие написано, чтобы помочь вам установить 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/dropbearsed -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/lastlogtouch var/run/utmptouch var/log/wtmpecho 'SSH' > etc/dropbear/dropbear.bannerДевайсы
Теперь мы должны быть очень осторожны со следующим шагом нашего процесса.
Мы должны создать все необходимые устройства для запуска dropbear.
(Помните, что мы всегда находимся на пути chroot — например. /Chroot/dropbear.)
mknod dev/urandom c 1 9chmod 0666 dev/urandommknod dev/ptmx c 5 2chmod 0666 dev/ptmxmknod dev/tty c 5 0chmod 0666 dev/ttyПользователи
Конечно, нам нужно добавить пользователей в нашу установку chroot dropbear. Вы можете добавить пользователя или создать новый.
Я предпочитаю добавлять существующего пользователя (например, ebal):
grep ^ebal /etc/passwd > etc/passwdgrep ^ebal /etc/group > etc/groupgrep ^ebal /etc/shadow > etc/shadowmkdir -pv home/ebalchown ebal.ebal !$Оболочка
Каждому пользователю нужна оболочка!
Но нам не нужно устанавливать bash, мы можем просто использовать busybox.
Busybox — это легкая оболочка и объединяет множество общих Unix-утилов в маленький исполняемый двоичный файл.
cp /etc/shells etc/sed -i 's/bash/sh/' etc/passwdcd binwget -c https://busybox.net/downloads/binaries/1.27.1-i686/busyboxchmod 0755 busyboxln -s busybox shcd ../Точки монтирования
Это самое главное, что мы (вы) должны сделать правильно.
Новая среда нуждается в доступе к терминалам (это необходимо для входа пользователя в систему) и для файловой системы 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
0 Комментарии