Linux/CentOS Linux 6.5

Chapter 10. FTP Service - Vsftpd

The_j.n 2015. 8. 7. 02:26

Chapter 10. FTP Service - Vsftpd
1. FTP Service
 - FTP(File Transfer Protocol)

  · TCP/IP 환경에서의 파일 전송용 Application Protocol
  · FTP는 사용자가 Network 상의 다른 컴퓨터로 Login 한 후 FTP상에서 제공되는 명령어를 사용해 원격지의 또 다른 컴퓨터 간에 File을 교환할 수 있는 기능을 제공한다.
  · File System의 설정에 따라 File에 접근할 수 있는 권한을 설정할 수 있으며 Download 뿐만 아니라 Upload도 가능하다.
  · 익명사용자(Anonymous)
    ◦  읽기와 Download는 가능하지만 Upload는 불가능하다.
    ◦  익명사용자의 Upload는 보안상 이유와 Server 과부하를 초래할 수 있어 Linux System 자체적으로 FTP 설정과 관계없이 차단하고 있으며 권한을 주면 줄수록 강하게 차단한다.

 

2. Vsftpd
 - Vsftpd

  · Red Hat Enterprise Linux가 출시되면서 Red Hat Linux 계열에서 사용되는 FTP Package이다.
  · 주요기능
  ◦ 가상 IP별 별도의 환경 설정
  ◦ 가상 사용자 설정
  ◦ 전송 대역폭 설정
  ◦ PAM(Pulse Amplitude Modulation) 지원으로 PAM을 통해 wtmp에 Log 남김
  ◦ xferlog 표준 Log File보다 상세한 자체 Log File 형식 지원
  ◦ Standalone 방식과 Xinetd를 통한 운영방식 모두 지원
 - Active/Passive Mode 접속의 차이

  · Active Mode
  ◦ Client가 능동적으로 접속하기 때문에 Client 전용 Port를 사용한다.
  ◦ Data 전송 시 Data 전송 Port를 직접 찾아 전송한다.
  ◦ Server의 부하가 적다.
  · Passive Mode
  ◦ Client가 수동적으로 접속하기 때문에 Server에서 Port를 직접 알려줘야 한다.
  ◦ Data 전송 시 Data 전송 Port를 Server가 찾아 알려줘야 한다.
  ◦ Client가 Server에 하는 요청이 많아져 부하가 크다.
 - Vsftpd 설정
  · /etc/vsftpd/vsftpd.conf

  ◦ Line 12 : 익명사용자의 Login 허가(YES)/차단(NO)
  ◦ Line 15 : /etc/passwd File에 존재하는 사용자 계정의 사용 허가(YES)/차단(NO)
  ◦ Line 18 : FTP를 이용해서 쓰기 작업(Upload)의 허가(YES)/차단(NO)
  ◦ Line 22 : FTP를 이용해 생성된 Directory와 File의 Umask의 설정(Default : 022)
  ◦ Line 35 : Directory 접속 시 특정 Message 출력(.message File에 내용을 작성해 해당 Directory 생성)
  ◦ Line 39 : File 전송 시 Log 생성에 대한 Option(Line 52와 연동)
  ◦ Line 42 : FTP Server의 Data 전송 포트 설정
  ◦ Line 52 : File 전송 시 발생하는 Log를 다른 File에 기록하고 싶을 때 변경하는 Option(Default : /var/log/xferlog)
  ◦ Line 55 : xferlog를 표준 Format으로 기록할지를 설정(YES)/vsftpd로 설정(NO)
      (표준 Format : 사용자의 Login, Directory 생성 등의 Log 생성하지 않음/vsftpd Log 기록방식 : 표준 Format보다 더 상세한 Log를 기록)
  ◦ Line 59 : 사용자가 접속 후 아무런 작업을 하지 않을 때 종료 대기 시간 설정 Option(Default : 600)
  ◦ Line 61 : FTP Server로부터 Data 전송이 끝난 후 또 다른 전송이 없을 경우 종료 대기 시간(Default : 120)
  ◦ Line 66 : 일반 사용자로의 vsftpd Daemon을 실행하고자 할 때 사용하는 Option
  ◦ Line 105 : ls -R 명령어를 허용할 것인지를 지정하는 Option으로 FTP Server 부하 감소를 위해 일반적으로 사용하지 않음
  ◦ Line 110 : vsftpd Daemon의 방식 결정(YES : Standalone / NO : xinetd)
  ◦ Line 119 : vsftpd Servece가 TCP Wrappers에 의해 제어하게해서 허용​(/etc/hosts.allow) Host와 차단(/etc/hosts.deny) Host를 설정할 수 있게 한다.

  ◦ Line 121 : /etc/passwd에 등록된 계정이 현재 Directory를 벗어나지 못하게 하는 Option
  ◦ Line 122 : System의 모든 계정의 Directory 이동 제한
  ◦ Line 123 : 해당 File의 위치를 지정