본문 바로가기
OS/Linux

FTP, SFTP, FTPS 구성

by 짜깡이 2020. 12. 14.

 

FTP(File Transfer Protocol)란 대량의 파일을 네트워크를 통해 주고받을 때 사용하는 파일 전송 서비스이다.

빠른 파일 전송이 주된 목적이라 동작 방식이 단순하고 직관적이다.

 

 

SFTP: 보안 네트워크 프로토콜 SSH를 이용한 암호화 통신을 하여 안전하게 사용하는 파일 전송 서비스이다. 

 

 

FTPS: FTP 서비스에 TLS를 결합해 HTTPS방식과 마찬가지로 공개키 암호화 방식을 사용하는 파일 전송 서비스이다.

 

 

SFTP와 FTPS의 차이점은 암호화를 하는 방식에 차이가 있다.

 

 

다음으로는 실제 FTP, SFTP, FTPS를 구성하여 파일 공유를 진행해보려고 한다.

 

 

 

 

FTP구성

FTP 구성 전에 VM을 구성하고 FTP프로그램 을 설치하여 진행한다.

 

레드햇 리눅스 기반의 VM 생성(vmware, cloud 등)

파일 질라 다운로드(FTP 프로그램https://filezilla-project.org/

 

 

VM이 생성되었으면 아래 절차를 따른다

 

 

yum -y install vsftpd (vsftpd 설치, ftp관련 패키지)

systemctl start vsftpd (vsftpd 시작)

systemctl enable vsftpd (vsftpd 부팅 시 자동실행 등록)

방화벽에 21번 포트 추가(클라우드는 NSG에 추가)

firewall-cmd --permanent --add-port=21

firewall-cmd --reload

파일질라

호스트: ip

사용자명: 계정

비밀번호: 패스워드

포트: 21

정상연결 시 다음과 같이 공유폴더 확인 가능

SFTP구성(SSH 연결)

firewall-cmd --permanent --add-port=22

firewall-cmd --reload

클라우드

클라우드 NSG에서 22 포트 추가

새 사이트 관리자에서 SFTP프로토콜을 적용 후 22 포트를 사용

-키를 갖고있을시

ppk키로 변환 후 키파일 항목에 넣어줌

-키가 없을시

계정/패스워드를 통해 연결해줌

키파일을 통한 SSH 연결

 

FTPS 구성

SFTP와 차이점=SFTP는 SSH를 이용, FTPS는 인증서를 이용한 FTP+SSL 구성

 

openssl을 이용해 인증서 생성

openssl req -x509 -days 3650 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

인증서 생성 과정 (빈칸은 IP입력)

 

포트 990 추가

firewall-cmd --permanent --add-port=990

firewall-cmd --reload

클라우드일 경우 NSG에 포트 추가

파일질라

호스트:ip

포트:990

암호화:TLS를 통한 명시적 FTP 필요

사용자:계정

FTPS 연결

 

인증서 확인 후 연결

 

댓글