Hướng dẫn này được viết để giúp bạn cài đặt máy chủ DropBear SSH vào môi trường chroot. Nó bao gồm các phần bên dưới:
* Cài đặt DropBear
* Thiết lập DropBear
* Thiết lập Môi trường Chroot
* Gỡ lỗi DropBear đã Chroot
https://matt.ucc.asn.au/dropbear/dropbear.htmlhttps://matt.ucc.asn.au/dropbear/dropbear.html?utm_source=diendancongnghe.com
Tất cả các bước trong hướng dẫn này đều được chạy với tư cách là người dùng root và sử dụng hệ điều hành Debian 9. Các bước dưới đây cũng có thể áp dụng cho các hệ điều hành Linux khác.
Trước tiên, chúng ta phải tạo thư mục khóa của dropbear:
Sau đó:
Như bạn thấy, chúng ta đã sử dụng đường dẫn môi trường chroot mà không cần hệ thống phân cấp đường dẫn phân phối của mình. Các khóa DropBear đã được cài đặt vào môi trường chroot của chúng tôi ngay lập tức.
(Hãy nhớ rằng, chúng ta luôn ở trên đường dẫn chroot – ví dụ: /chroot/dropbear.)
* Cài đặt DropBear
* Thiết lập DropBear
* Thiết lập Môi trường Chroot
* Gỡ lỗi DropBear đã Chroot
DropBear
Dropbear là máy chủ và máy khách SSH2 tương đối nhỏ. Đây là chương trình nhẹ thay thế cho OpenSSH và được thiết kế cho các môi trường có ít tài nguyên bộ nhớ và bộ xử lý, chẳng hạn như hệ thống nhúng.https://matt.ucc.asn.au/dropbear/dropbear.htmlhttps://matt.ucc.asn.au/dropbear/dropbear.html?utm_source=diendancongnghe.com
Tất cả các bước trong hướng dẫn này đều được chạy với tư cách là người dùng root và sử dụng hệ điều hành Debian 9. Các bước dưới đây cũng có thể áp dụng cho các hệ điều hành Linux khác.
Cài đặt
Tải xuống
Mã:
wget -chttps://matt.ucc.asn.au/dropbear/dropbear-2018.76.tar.bz2
Giải nén
Mã:
tar jxfdropbear-2018.76.tar.bz2
Cài đặt công cụ Build
Đối với Debian 9, các công cụ biên dịch phần mềm có thể được cài đặt bằng apt:
Mã:
apt-get install build-essentialzlib1g-dev
Cấu hình
Trong quá trình cài đặt, chúng tôi chọn: /chroot/dropbear làm đường dẫn gốc của môi trường chroot. Và chỉ vì mục đích giáo dục, chúng tôi thay đổi cổng TCP mặc định của ssh thành 2222:
Mã:
cddropbear-2018.76
./configure --prefix=/chroot/dropbear
sed -i 's/22/2222/g' options.h
Biên dịch
Đơn giản như sau:
Mã:
make
Cài đặt
Quy trình cài đặt mặc định:
Mã:
make install
Keys
Bước tiếp theo là tạo dss& rsakeys cho sshserver dropbear.Trước tiên, chúng ta phải tạo thư mục khóa của dropbear:
Mã:
mkdir -pv /chroot/dropbear/etc/dropbear
Mã:
/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
Thư viện dùng chung
Bây giờ chúng ta phải kiểm tra tất cả các thư viện dùng chung cần thiết mà dropbear cần để chạy bên trong môi trường achroot:
Mã:
ldd /chroot/dropbear/sbin/dropbear
Môi trường Chroot
Cấu trúc
Mã:
cd /chroot/dropbear/
mkdir -pv dev/pts proc etc lib usr/lib var/run var/log lib/x86_64-linux-gnu lib64
Thư viện
Mã:
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/
Thư viện bổ sung
Các thư viện này chủ yếu dành cho quy trình xác thực.
Mã:
cp /lib/x86_64-linux-gnu/libnss_dns.so.2lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu//libnss_files.so.2lib/x86_64-linux-gnu/
Các tệp
Sao chép các tệp cần thiết từ thư mục gốc tochroot:
Mã:
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
Thiết bị
Bây giờ chúng ta phải rất cẩn thận với bước tiếp theo của quy trình. Chúng ta phải tạo tất cả các thiết bị cần thiết để dropbear chạy.(Hãy nhớ rằng, chúng ta luôn ở trên đường dẫn chroot – ví dụ: /chroot/dropbear.)
Mã:
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
Người dùng
Tất nhiên, chúng ta cần thêm người dùng vào thiết lập chroot dropbear của mình. Bạn có thể chọn thêm người dùng hiện tại hoặc tạo người dùng mới. Tôi thích thêm người dùng hiện tại (ví dụ: ebal):
Mã:
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
Mọi người dùng đều cần một shell! Nhưng chúng ta không cần cài đặt bash, chúng ta chỉ cần sử dụng busybox. Busybox là một shell nhẹ và kết hợp nhiều tiện ích unix phổ biến thành một tệp nhị phân thực thi nhỏ.
Mã:
cp /etc/shells etc/
sed -i 's/bash/sh/' etc/passwd
cd bin
wget -chttps://busybox.net/downloads/binaries/1.27.1-i686/busybox
chmod 0755 busybox
ln -s busybox sh
cd ../
Điểm gắn kết
Đây là điều quan trọng nhất mà chúng ta (bạn) phải thực hiện đúng. Môi trường mới cần truy cập vào các thiết bị đầu cuối (điều này là cần thiết để người dùng đăng nhập) và hệ thống tệp toproc.
Mã:
mount -o bind /dev/pts dev/pts/
mount -o bind /proc proc/
Chạy Drop Bear
Cuối cùng, chúng ta đã sẵn sàng để chạy DropBear từ môi trường achroot:
Mã:
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
Gỡ lỗi
Nhưng nếu có sự cố xảy ra, chúng ta luôn có thể gỡ lỗi quy trình đang chạy bằng strace:
Mã:
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