Information Security
31-3 CHROOT (change root) + TCP_WRAPPER 본문
chroot (change root)
-최상위 root 디렉터리를 변경시켜서 보안을 강화한다.
-사용자가 접근이 가능한 최상위 디렉터리가 자신의 홈 디렉터리로 제한된다.
vsftp.conf 파일을 수정하여 chroot 적용
chroot_local_user=YES
계정을 통해서 접속하는 사용자들에게 chroot를 적용하겠다는 의미
chroot_list_enable=YES
chroot를 적용하지 않을 사용자 정보를 가지고 있는 파일 사용
chroot_list_file=/etc/vsftpd/chroot_list
chroot를 적용하지 않을 사용자의 정보를 가지고 있는 파일의 경로
chroot 테스트
(1) ftp-user1, ftp-user2 계정의 홈 디렉터리에 파일 생성
(2) chroot_list 파일은 직접 생성
모든 사용자에게 chroot를 적용했지만 예외로 chroot 기능을 적용하지 않을 사용자(ftp-user2)를 정의
(3) 접속과 관련된 파일 확인
1. ftpusers 파일에서 ftp-user1, ftp-user2 계정을 삭제한다.
2. user_list 파일에 ftp-user1, ftp-user2 계정을 추가한다.
3. 주 설정 파일(/etc/vsftpd/vsftpd.conf)에서 user_list 파일을 활성화시키고 승인 목록으로 동작하도록 설정한다.
(4) ftp-user2 계정으로 서버에 접속하여 현재 경로 및 파일 리스트 출력
chroot가 적용되지 않아서 자신의 홈 디렉터리(/home/ftp-user2) 이상의 경로로 이동이 가능하다.
(5) ftp-user1 계정으로 서버에 접속하여 현재 경로 및 파일 리스트 출력
-기본적으로 사용자가 시스템에 접근 가능한 최상위 디렉터리는 루트(/)이다.
-chroot가 적용되면 최상위 디렉터리가 /home/username(여기서는 /home/ftp-user1)으로 변경되어 사용자의 홈 디렉터리 이상의 경로로 이동이 불가능하게 된다.
-> 최상위 디렉터리까지 자유롭게 접근이 가능할 경우 계정이 침해를 당했을 때 중요한 정보를 노출당할 수도 있기 때문에 보안을 고려한다면 반드시 사용할 것
TCP_WRAPPER
-xinetd 기반으로 동작할 수 있는 서비스들의 접근을 제어하는 프로그램
tcp_wrapper를 사용하기 위해 주 설정 파일 확인
[서비스명]:[IP주소/네트워크주소/도메인]
tcp_wrapper가 접근 금지 설정을 위해 사용하는 hosts.deny 파일에
모든 네트워크로(ALL)부터 VSFTP 서버로의 접근을 금지한다는 규칙을 추가한다.
접근을 허용할 네트워크 주소를 정의하기 위해 hosts.allow 파일에
100.100.100.0/24 대역의 네트워크의 접근을 허용한다는 규칙을 구한다.
tcp_wrappers 패키지 설치
#tcpdmatch [서비스명] [IP주소]
100.100.100.130이 vsftpd 서비스에 접근할 수 있는지 확인한다.
granted (허용)
denied (거부)
※ hosts.deny, hosts.allow 두 파일 중에서 hosts.allow 파일이 우선순위가 더 높다.
-두 파일 모두에서 동일한 규칙이 있다면 hosts.deny 파일의 규칙은 무시된다
-한 파일내에 존재하는 규칙들은 탑다운(top-down) 방식으로 해석하기 때문에 규칙의 순서가 중요하다.
-=두 개의 파일에 어떠한 규칙도 없다면 기본적으로 모든 접근을 허용하게 된다.
'Linux' 카테고리의 다른 글
34 KICKSTART (0) | 2017.11.01 |
---|---|
32-1 NFS(Network File System) (0) | 2017.10.31 |
31-2 PAM을 이용한 로그인 제한 (0) | 2017.10.30 |
31-1 FTP 서버 접속을 허용하기 위한 설정 (0) | 2017.10.29 |
30-2 FTP(File Transfer Protocol) (0) | 2017.10.27 |