FTP란 무엇인지 대해 살펴보자
FTP ( File Transfer Protocol ) : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜이다.
port 넘버는 TCP접속 21, TCP데이터 20를 사용하며 21번은 세션을 유지하고 20번은 데이터 전송할때만 사용한다.
ID와 Passwork가 있어야 원격으로 접속이 가능하며 익명사용자(anonymous)도 접속이 가능하도록 설정할 수 있다.
serv-u , G6 : 유료 FTP서버
FileZilla : 무료 FTP서버
FileZilla, 알FTP, WS FTP, CuteFTP : FTP 클라이언트
FTP 서버 구축에 대하여 살펴보자
rpm -qa | grep vsftpd
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd # centOS7버전 명령어
chkconfig on vsftpd # centOS6버전 명령어
# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 192.168.1.10:20 192.168.1.1:62843 TIME_WAIT
tcp6 0 0 192.168.1.10:21 192.168.1.1:62841 ESTABLISHED
현제 사용중인 네트워크를 확인해보면 20,21번 포트가 사용하고 있는걸 확인할 수 있다.
/etc/vsftpd/vsftpd.conf : FTP 서버 환경설정파일이다.
로컬 사용자가 디렉토리 이동문제
기본설정일 경우에 로컬 사용자는 서버 전체의 디렉토리를 볼 수 있고 권한이 없는곳이면 어디든 이동이 가능하다. 이 또한 보안상 좋지 않기에 가상의 루트디렉토리를 설정하여 문제를 해결할 수 있다.
특정 사용자 접근금지
FTP서버는 특정 사용자에 대하여 접근금지가 가능하다. 특정 사용자에 관한 리스트를 만들면 해당 사용자의 접근을 막을 수 있다.