jail은 감옥뭐 그런뜻이죠.. 여기서는 각유저의 /디렉토리를 특정디렉토리로 묶어서 시스템의 루트 ( / )에는 접근할수없게
하는것입니다. 첨부파일은 jail-1.9입니다.


그림을 예로 들면

   /(시스템루트)
    /bin
    /home
    /lib
    /etc
      ...  
이런구조를

     /(시스템루트)
      /bin
      /home
      /lib
      /etc
      /host(chroot된 루트)
      -----/bin
      -----/home
      -----/lib
      -----/etc
      /tmp
      /....

이렇게 특정디렉토리 이하를 시스템 루트로 인식하게  만드는 겁니다.

아래 설정에서는 /var/chroot디렉토리를 chroot된 시스템 루트로 이용합니다.


이제 실제로 설치를 해보죠.
첨부파일을 받고 소스디렉토리에서 make 와 make install명령을 치면 기본 경로 /usr/local/bin아래에 파일들이 설치가 됩니다.
이젠 새유저를 만들어서 테스트해보죠.
일단 chroot될 루트를 만들어 둡니다.(ex : /var/chroot)
useradd -d /var/chroot -s /usr/local/bin/jail

이젠 jail설정을 해봅시다.
/usr/local/bin/mkenv.pl /var/chroot 하면 시스템파일들을 /var/chroot아래로 카피하게 됩니다.

이젠 jail에 가둬둘(?)사용자를 만들어 봅시다.
/usr/local/bin/addjailuser.pl /var/chroot /home/user_name /bin/bash user_name
다음은 시스템 명령을 chroot에 카피합니다.
/usr/local/bin/addjailsw.pl /var/chroot
몇몇 명령들이 chroot안에 카피가 됐을겁니다. 이제 새로 만든 유저로 테스트를 해보죠.
sh - user_name 뭔가 에러가 났다면 확인해보고 처리(?)를 해야겠죠.
저도 테스트중 에러가 나서 /etc/passwd와 /var/chroot/etc/passwd등을 비교해가며 해결했습니다.

아래링크는 quick guide입니다.

http://www.jmcresearch.com/projects/jail/howto.html

관련 링크: http://www.jmcresearch.com/projects/jail/


----------------------------------------------------------------------------------------

jail project는 한동안 업데이트가 없습니다. 현재 활발하게 개발되고 있는 jailkit을 이용하시는것도

좋을듯 합니다. 설치해서 테스트 해봤는데 ssh, scp, sftp등을 chroot상태로 잘 돌아가게 해주는군요.

http://olivier.sessink.nl/jailkit/index.html

'Security' 카테고리의 다른 글

LSOF 설치 & 활용가이드  (0) 2001.11.15
변종 nimda 체크룰셋  (0) 2001.10.31
각데몬의 chroot 운영  (0) 2001.10.20
root가 생성하는 파일모드를 600으로 만들기  (0) 2001.10.03
nimda worm 체크 센드메일 룰셋  (0) 2001.09.21

+ Recent posts