728x90

FTP


FTP란?


- 파일 전송 프로토콜

- 암호화하여 전송하지 않기 때문에 보안에 취약

- TCP 기반으로 클라이언트/서버 관계로 동작

- 기본 사용 포트: 20번(데이터 포트: 데이터 전송), 21번(제어 포트: 클라이언트 접속 및 제어)

 

 

FTP 동작 모드


액티브 모드 (서버 > 클라이언트)


- 연결 과정

1) 클라이언트에서 서버로 연결 요청

2) 서버에서 클라이언트로 연결 시도

- 클라이언트의 방화벽에 의해 연결이 거부되는 경우 발생

- 외부에서의 접속, NAT를 이용한 통신은 사용할 수 없음

 

 

패시브 모드 (클라이언트 > 서버)


- 액티브 모드를 보완한 것

- 연결 과정

1) 클라이언트에서 서버로 연결 시도

2) 서버에서 클라이언트로 서버가 사용할 데이터 포트 정보 전달

3) 클라이언트에 데이터 포트로 연결 시도

 

 

vsftp 구성 및 관리


구성


패키지 설치

# vsftpd라는 이름의 패키지 설치

yum install -y vsftpd

# 기본 공유 디렉토리 /var/ftp/pub

 

서비스 시작

systemctl start vsftpd
systemctl enable vsftpd

 

방화벽 설정

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

 

관리


설정 파일 

/etc/vsftpd/vsftpd.conf

 

- 설정 파일에서 익명 계정 업로드 허용 (29, 33 라인) -> 보안에 취약! > 실무에서는 허용 X

No 항목 설명
12 anonymous_enable 익명사용자 접속허용
16 local_enable 로컬 계정 접속 허용
19 write_enable 로컬 계정이 접속한후에 디렉터리 만들기, 삭제, 생성 등 쓰기가 가능하게 허용
29 anon_upload_enable 익명사용자 업로드 허용
33 anon_mkdir_write_enable 익명사용자 디렉터리; 생성 허가 여부
  dirlist_enable 접속한 디렉토리 파일리스트 보기 허용
  download_enable 다운로드 허용
  listen_port ftp 서비스 포트번호

 

 

사용 불가 계정 설정

/etc/vsftpd/ftpusers

 

 

소유자 소유그룹 변경

 

ftp 연결 확인


Client 2 서버에서 진행

 

ftp 클라이언트 설치

yum -y install ftp

 

 

ftp 접속

# Server 1(10.0.2.15)로 ftp 접속

ftp 10.0.2.15

 

user 계정으로 ftp 접속

 

익명 계정으로 ftp 접속

728x90

+ Recent posts