웹사이트 검색

Chrooted Drop Bear SSH 서버 하우투


이 페이지에서

  1. 드롭 곰
  2. 설치
    1. 다운로드
    2. 추출
    3. 빌드 도구 설치
    4. 구성
    5. 컴파일
    6. 설치

    1. 구조
    2. 라이브러리
    3. 추가 라이브러리
    4. 파일
    5. 장치
    6. 사용자

    이 튜토리얼은 Chroot 환경에 Drop Bear SSH 서버를 설치하는 데 도움이 되도록 작성되었습니다. 아래 섹션을 다룹니다.

    * Drop Bear 설치
    * Drop Bear 설정
    * Chroot 환경 설정
    * Chrooted Drop Bear 디버그

    드롭 베어

    Dropbear는 상대적으로 작은 SSH 2 서버 및 클라이언트입니다. OpenSSH를 위한 대체 경량 프로그램이며 임베디드 시스템과 같은 메모리 및 프로세서 리소스가 적은 환경을 위해 설계되었습니다.

    이 자습서의 모든 단계는 운영 체제가 Debian 9인 루트 사용자로 실행됩니다. 아래 단계는 다른 Linux OS에서도 작동합니다.

    설치

    다운로드

    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 환경의 루트 경로로 /chroot/dropbear를 선택합니다. 교육 목적으로만 ssh의 기본 TCP 포트를 2222로 변경합니다.

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

    편집

    다음과 같이 간단합니다.

    make

    설치

    기본 설치 프로세스:

    make install

    열쇠

    다음 단계는 dropbear ssh 서버용 dss 및 rsa 키를 만드는 것입니다.

    먼저 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는 가벼운 셸이며 많은 일반적인 유닉스 유틸리티를 작은 실행 가능한 바이너리 파일로 결합합니다.

    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 -o bind /dev/pts dev/pts/
    mount -o bind /proc proc/

    드롭 베어 실행

    마지막으로 chroot 환경에서 Drop Bear를 실행할 준비가 되었습니다.

    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