- Ubuntu용 설치 가이드
- CentOS용 설치 가이드
- 사용자 가이드
- FTP 전송 모드
- 관리자 가이드
- Port 변경
- FTP Client 명령어
- 참고 문헌
FTP 서버인 vsftp(Very Secure FTP Daemon)를 정리 한다.
홈페이지 : http://vsftpd.beasts.org/
라이선스 :
플랫폼 : CentOS / RHEL / Fedora and other Linux distributions
Ubuntu용 설치 가이드
vsftpd 2.0.7 설치
apt-get install vsftpd
vi /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
file_open_mode=0644
vi /etc/ftpusers
#--- FTP를 사용할 사용자 아이디를 주석으로 막아 해당 사용자가 FTP를 사용할 수 있도록 한다.
service vsftpd restart
#--- /etc/init.d/vsftpd restart, 예전 방식의 명령어
#--- FileZilla로 접속시 전송 설정을 "활성"으로 한다.
환경 설정 파일
vi /etc/vsftpd.conf : vsftp 설정 파일
vi /etc/ftpusers : vsftp 차단 사용자 목록
vi /etc/vsftpd/user_list : 차단 사용자 목록
참고 문헌 : 우분투: vsftpd 설정, 2009.3
CentOS용 설치 가이드
vsftp 설치
yum -y install vsftpd
vi /etc/vsftpd/user_list 파일에서 root를 제거 합니다.
vi /etc/vsftpd/ftpusers 파일에서 root를 제거 합니다.
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
userlist_enable=NO
userlist_deny=YES
tcp_wrappers=YES
setsebool -P ftp_home_dir=1
service vsftpd restart
환경 설정 파일
vi /etc/vsftpd/vsftpd.conf : vsftp 설정 파일
vi /etc/vsftpd/ftpusers : vsftp 차단 사용자 목록
vi /etc/vsftpd/user_list : 차단 사용자 목록
vsftp 설정
getsebool -a | grep ftp
CentOS 방화벽 설정
setup
#--- 21/tcp, 20/tcp를 열어 둔다. 또는 서비스 중 FTP 서비스를 열어 둔다.
Windows 방화벽 설정
FileZilla 프로그램을 방화벽에서 차단하지 않도록 한다.
FileZilla 설정
일반 -> 프로토콜 : FTP
일반 -> 암호화 : 일반 FTP 사용
일반 -> 로그온 유형 : 일반
고급 : 서버 종류 : Unix
기본 리모트 디렉토리 : /tmp
전송 설정 : 능동형
문자셋 : UTF-8로 강제 설정
사용자 가이드
FTP 전송 모드
FTP Server는 기본적으로 아래와 같은 2개의 Port를 사용한다.
FTP Port : Default 21 port / tcp, FTP 명령어 송수신
FTP-Data Port : Default 20 port / tcp, FTP 데이터 송수신
FTP를 사용하기 위해서는 방화벽이 열려 있어야 한다.
일반적으로 1024 이상의 포트는 방화벽에서 열려 있다.
{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center"
|-
|width="20%" align="center" valign="middle" style="background-color:#eee;"|Active Mode
|width="80%"|
Active Mode는 정해진 포트를 사용하여 송수신 한다. (Default port. 21, 20)
Active Mode (활성 모드)에서의 송수신 절차
#--- FTP Client에서 FTP Server의 21 port (FTP Port)로 접속 한다.
#--- FTP Client가 FTP Server에게 데이터 통신을 위한 xx2 port를 알려준다.
FTP Client:xx1/tcp -> FTP Server:21/tcp #--- xx1은 1023보다 큰 port
#--- FTP Server에서 데이터 송수신을 위해 FTP Client의 xx2 Port로 접속 한다.
FTP Client:xx2/ucp <- FTP Server:20/ucp #--- xx1은 1023보다 큰 port
Active Mode로 FTP를 사용하기 위해 방화벽을 설정 한다.
FTP Server 방화벽 설정 : 21, 20 port 오픈
FTP Client 방화벽 설정 : xx1, xx2 port 오픈 align="center" valign="middle" style="background-color:#eee;"
Passive Mode는 임의의 포트를 할당하여 송수신 한다.
Passive Mode (수동 모드)에서의 송수신 절차
#--- FTP Client에서 FTP Server의 21 port (FTP Port)로 접속 한다.
#--- FTP Server가 FTP Client에게 데이터 통신을 위한 yy1 port를 알려 준다.
FTP Client:xx3/tcp -> FTP Server:21/tcp #--- xx3은 1023보다 큰 port
#--- FTP Client에서 데이터 송수신시 FTP Server에서 제공한 yy1 port로 접속 한다.
FTP Client:xx4/ucp -> FTP Server:yy1/ucp #--- xx4, yy1은 1023보다 큰 port
Passive Mode로 FTP를 사용하기 위해 방화벽을 설정 한다.
FTP Server 방화벽 설정 : 21, yy1 port 오픈
FTP Client 방화벽 설정 : xx3, xx4 port 오픈
ftp client에서 passive mode로 변경하기 위한 명령어
passive
|}
관리자 가이드
Port 변경
Active Mode에서 FTP를 위한 Port 변경 방법
FTP 포트로 50021을 사용하고, FTP-Data 포트로 50020을 사용하도록 설정해 보자.
서버 방화벽에서 50021, 50020 port가 열려 있어야 한다.
vi /etc/vsftpd.conf (in Ubuntu), vi /etc/vsftpd/vsftpd.conf (in CentOS)
#--- inetd 모드가 아닌 독립 모드로 vsftp 실행
listen=YES
#--- FTP를 위한 Listen Port를 지정 한다.
listen_port=50021
#--- 데이터 전송을 위해서 Active Mode를 사용도록 설정 한다.
#--- Active Mode에서 FTP 데이터 전송을 위한 디폴트 포트는 20 port 이다.
port_enable=YES
#--- 데이터 전송을 위해서 Passive Mode를 사용하지 못하도록 한다.
pasv_enable=NO
#--- 20번 포트의 데이터전송 연결을 허용 한다.
connect_from_port_20=YES
#--- Active Mode에서 사용할 FTP-Data 포트를 강제로 50020 port로 변경 한다.
ftp_data_port=50020
Passive Mode에서 FTP를 위한 Port 변경 방법
FTP 포트로 50021을 사용하고, FTP-Data 포트로 50031 ~ 50040을 사용하도록 설정해 보자.
서버 방화벽에서 50021, 50020, 50031 ~ 50040 port가 열려 있어야 한다.
사내 방화벽이 설정되어 있을 경우, Passive Mode를 사용하여야 할 경우가 있다.
vi /etc/vsftpd.conf (in Ubuntu), vi /etc/vsftpd/vsftpd.conf (in CentOS)
#--- inetd 모드가 아닌 독립 모드로 vsftp 실행
listen=YES
#--- FTP를 위한 Listen Port를 지정 한다.
listen_port=50021
#--- 데이터 전송을 위해서 Active Mode를 사용도록 설정 한다.
#--- Active Mode에서 FTP 데이터 전송을 위한 디폴트 포트는 20 port 이다.
port_enable=YES
#--- 데이터 전송을 위해서 Passive Mode를 사용하지 못하도록 한다.
pasv_enable=YES
#--- 20번 포트의 데이터전송 연결을 허용 한다.
connect_from_port_20=YES
#--- Active Mode에서 사용할 FTP-Data 포트를 강제로 50020 port로 변경 한다.
ftp_data_port=50020
#--- Passive Mode에서 사용할 FTP-Data 포트를 강제로 50031 port에서 50040 port까지 허용 한다.
pasv_min_port=50031
pasv_max_port=50040
vsftp 서버를 재기동 한다.
Ubuntu : /etc/init.d/vsftpd restart
CentOS : service vsftpd restart
vsftpd.conf 샘플
listen=YES
listen_port=21
port_enable=YES
connect_from_port_20=YES
ftp_data_port=50031
pasv_enable=YES
pasv_min_port=50032
pasv_max_port=50040
FTP Client 명령어
PASSIVE 모드로 변경
literal pasv
참고 문헌
분류: 오픈소스