Tutorial ini ditulis untuk membantu Anda menginstal server Drop Bear SSH ke lingkungan chroot. Ini mencakup bagian di bawah ini:
* Pemasangan Drop Bear
* Setup Drop Bear
* Setup Chroot Environment
* Debug Chrooted Drop Bear
Jatuhkan Beruang
Dropbear adalah server dan klien SSH 2 yang relatif kecil. Ini adalah program ringan alternatif untuk OpenSSH dan dirancang untuk lingkungan dengan memori dan sumber daya prosesor rendah, seperti sistem tertanam.
https://matt.ucc.asn.au/dropbear/dropbear.html
Semua langkah dalam tutorial ini dijalankan sebagai pengguna root dengan Debian 9 sebagai sistem operasi. Langkah-langkah di bawah ini juga bisa digunakan untuk OS Linux lainnya.
Instalasi
Unduh
wget -c https://matt.ucc.asn.au/dropbear/dropbear-2018.76.tar.bz2
Ekstrak
tar jxf dropbear-2018.76.tar.bz2
Instal alat Bangun
Untuk Debian 9, alat untuk mengkompilasi perangkat lunak dapat diinstal dengan apt:
apt-get install build-essential zlib1g-dev
Konfigurasi
Dalam penginstalan, kami memilih:/chroot/dropbear sebagai jalur root dari lingkungan chroot kami. Dan hanya untuk tujuan pendidikan, kami mengubah port TCP default ssh menjadi 2222:
cd dropbear-2018.76
./configure --prefix=/chroot/dropbear
sed -i 's/22/2222/g' options.h
Kompilasi
Sesederhana itu:
make
Instalasi
Proses penginstalan default:
make install
Kunci
Langkah berikutnya adalah membuat kunci dss &rsa untuk server dropbear ssh.
Kita harus membuat folder kunci dropbear terlebih dahulu:
mkdir -pv /chroot/dropbear/etc/dropbear
Dan kemudian:
/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
Seperti yang Anda lihat, kami menggunakan jalur lingkungan chroot tanpa memerlukan hierarki jalur distribusi kami. Kunci Drop Bear's sudah diinstal ke lingkungan chroot kami sekaligus.
Pustaka Bersama
Sekarang kita harus memeriksa semua library bersama yang diperlukan dropbear untuk dijalankan di dalam lingkungan chroot:
ldd /chroot/dropbear/sbin/dropbear
Lingkungan Chroot
Struktur
cd /chroot/dropbear/
mkdir -pv dev/pts proc etc lib usr/lib var/run var/log lib/x86_64-linux-gnu lib64
Perpustakaan
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/
Perpustakaan Ekstra
Library ini sebagian besar untuk proses autentikasi.
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/
File
Salin file yang diperlukan dari root ke 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
Perangkat
Kami sekarang harus sangat berhati-hati dengan langkah selanjutnya dari proses kami. Kami harus membuat semua perangkat yang diperlukan agar dropbear berjalan.
(Ingat, kita selalu berada di jalur chroot – mis. /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
Pengguna
Tentu saja, kami perlu menambahkan pengguna ke penyiapan dropbear chroot kami. Anda dapat memilih untuk menambahkan pengguna yang sudah ada atau membuat pengguna baru. Saya lebih suka menambahkan pengguna yang sudah ada (mis. 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 !$
kulit
Setiap pengguna membutuhkan shell! Namun kita tidak perlu menginstal bash, kita cukup menggunakan busybox. Busybox adalah shell ringan dan menggabungkan banyak utilitas unix umum menjadi file biner kecil yang dapat dieksekusi.
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 ../
Mount Point
Ini adalah hal terpenting yang harus kami (Anda) lakukan dengan benar. Lingkungan baru memerlukan akses ke terminal (ini diperlukan bagi pengguna untuk login) dan untuk memproses sistem file.
mount -o bind /dev/pts dev/pts/
mount -o bind /proc proc/
Jalankan Drop Bear
Terakhir, kami siap untuk menjalankan Drop Bear dari lingkungan 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
Debug
Namun jika terjadi kesalahan, kami selalu dapat men-debug proses yang berjalan dengan 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