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상태로 잘 돌아가게 해주는군요.
'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 |