이 글은 현재 사용하고 있는 서버와 가상서버에서 테스트가 완료되었습니다.
테스트 서버 : CentOS 6.5 64 bit CentOS 6.6 64 bit
1. yum 으로 vsftpd를 설치합니다. 빠르게 설치하고 싶다면 install 앞에 -y를 넣어주고 설치하세요.
# yum install vsftpd
2. vsftpd.conf 를 설정합니다.
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO = 임의의 사용자를 거절합니다.
chroot_list_enable=YES = 루트 디렉토리 (/)의 접근을 차단합니다.
chroot_list_file=/etc/vsftpd/chroot_list = 루트 디렉토리의 접근을 차단할 유저를 모은 파일을 설정합니다.
allow_writeable_chroot=YES = Vsftp chroot 관련 설정이라고 하네요
3 chroot_lis 를 생성합니다. 파일의 이름을 바꿔서 하고싶으신 분은 chroot_list_file의 2번의 설정에서
chroot_lis의 이름도 같이 변경해주세요.
# touch chroot_lis
4. 유저를 생성하고 비밀번호를 설정합니다. xe는 예시입니다.
# useradd -d /home/xe xe
# passwd xe
5. 루트 디렉토리 접근 차단 및 보안을 위해 chroot_lis에서 유저를 등록합니다.
# vi /etc/vsftpd/chroot_lis
xe
6. 모든 설정을 마친후 vsftp를 재시작합니다.
# service vsftpd restart
# /etc/init.d/vsftpd restart
7. 리부팅할때 vsftpd가 자동으로 올라오도록 chkconfig로 설정합니다.
# chkconfig –level 2345 vsftpd on
8. iptables에서 20번 포트와 21번 포트를 등록합니다.
# vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
9. iptables에 룰을 등록시켜줍니다.
# iptables-restore < /etc/sysconfig/iptables
10. iptables -nL로 룰이 적용됐는지 확인합니다.
11. 등록한 유저로 FTP 접속을 진행합니다.
[polldaddy rating=”7739789″]