Infra & Security Eng/Project Implementation

vsftpd 사용자 접근제어 (user_list 화이트리스트, PAM 기반 접속 제한 설정하기)

엔지니어 E 2026. 1. 23. 13:12
반응형
이전 시간 복습 

이전 시간은 chroot 설정으로 테스트 계정(test01)을 root 로 가두거나, 테스트계정(test01,02)을 root에서 해방하는 실습을 진행 하였다.

오늘은 chroot 설정이 아닌 사용자 접속 제한으로  테스트 계정(test01) 다른 서버에서 접속을 가능하게 하거나, 테스트 계정을(test02,03) 을 접속 안되게 하는 실습을 진행 한다 

 

실습1

test 01 만 접속 
test 02, 03 는  접속 안되게 설정

192번 서버 

test03 테스트 계정 먼저 생성 
# useradd -g 2500 -u 2503 test03

# vi /etc/vsftpd/vsftpd.conf
chroot_list_enable 설정과 chroot_local_user 설정은 yes, no 아무거나 설정 해도 된다. 그 이유는 지금은 chroot 설정이 아니라 접속 되게 , 안되게 하는 설정이기 때문이다 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
# vi /etc/vsftpd/user_list 에서 있어야 하는 것
chroot_local_user=no 임의 설정 (지워도됨)
chroot_list_enable=yes 임의설정(지워도됨)
chroot_list_file=/etc/vsftpd/chroot_list
(지워도됨)
allow_writeable_chroot=YES
(chroot 관련 보안설정. 지워도됨)

userlist_file=/etc/vsftpd/user_list
userlist_enable=yes / userlist_deny =no
(conf 파일 아래쪽에 있음)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

1)conf 파일에서 chroot 설정 관련 명령어는 지워도 된다
2) 맨 마지막에 userlist_enable=yes , userlist_dany=no 로 세팅을 한다

* userlist_enable:yes / userlist_deny=yes 라면 user_list 파일에 등록된 사용자는 접속이 불가 
* userlist_enable:yes / userlist_deny=no 라면 user_list 파일에 등록된 사용자는 접속이 가능
==> 기업은 이 화이트 리스트 방식으로 많이 사용 하고 있다 

# vi/etc/vsftpd/user_list
test 01 을 적어준다

혹은 userlist_enable=yes / userlist_deny =yes 라고 적는다면 user_list 는 vi 편집기 모드에서 test02,test03 만 리스트에 추가 하면 됨 (접속 불가)
실습2 - 사용자 제한 설정(ftpusers) pam 방식

test02 접속
test01, 03 은 접속이 불가능 하도록

# vi /etc/vsftpd/ftpusers에 test02를 등록,  etc/pam.d/vsftp 에서 sense=allow 로 수정하면 된다

* deny: ftpuser에 등록된 계정 접근 불가 
* allow: ftpuser에 등록된 계정만 접근 가능

193번 들어가서 
1.ftp 192.168.10.서버 ip 
2. 로그인 적고 test02 접속 가능한지, test01,03 접속 불가능한지만 보면 된다

* 반드시 FTP 접속 종료 할 때 exit 입력할 것