웹사이트 검색

RHEL 8에서 SSL/TLS를 사용하여 보안 FTP 파일 전송 설정


지난 기사에서는 RHEL 8 Linux에서 FTP 서버를 설치하고 구성하는 방법을 자세히 설명했습니다. 이 문서에서는 시스템 간 안전한 파일 전송을 위해 데이터 암호화 서비스를 활성화하기 위해 SSL/TLS를 사용하여 FTP 서버를 보호하는 방법을 설명합니다.

FTP 서버가 이미 설치되어 제대로 실행되고 있기를 바랍니다. 그렇지 않은 경우 다음 가이드를 사용하여 시스템에 설치하십시오.

  1. RHEL 8에서 FTP 서버를 설치, 구성 및 보안하는 방법

1단계. SSL/TLS 인증서 및 개인 키 생성

1. SSL/TLS 인증서와 키 파일을 저장하려면 다음 디렉터리를 만듭니다.

mkdir -p /etc/ssl/vsftpd

2. 그런 다음 다음 명령을 사용하여 자체 서명된 SSL/TLS 인증서와 개인 키를 생성합니다.

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

다음은 위 명령에 사용된 각 플래그에 대한 설명입니다.

  1. req – X.509 인증서 서명 요청(CSR) 관리를 위한 명령입니다.
  2. x509 – X.509 인증서 데이터 관리를 의미합니다.
  3. – 인증서가 유효한 일수를 정의합니다.
  4. newkey – 인증서 키 프로세서를 지정합니다.
  5. rsa:2048 – RSA 키 프로세서는 2048비트 개인 키를 생성합니다.
  6. keyout – 키 저장 파일을 설정합니다.
  7. out – 인증서 저장 파일을 설정합니다. 인증서와 키는 모두 동일한 파일(/etc/ssl/vsftpd/vsftpd.pem)에 저장됩니다.

위 명령은 아래 질문에 대답하라는 메시지를 표시합니다. 시나리오에 적용되는 값을 사용해야 합니다.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

2단계. SSL/TLS를 사용하도록 VSFTPD 구성

3. 선호하는 명령줄 편집기를 사용하여 편집할 VSFTPD 구성 파일을 엽니다.

vi /etc/vsftpd/vsftpd.conf

다음 구성 매개변수를 추가하여 SSL을 활성화한 다음 파일 끝에서 사용할 SSL 및 TLS 버전을 선택하세요.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. 다음으로 rsa_cert_filersa_private_key_file 옵션을 추가하여 SSL 인증서와 키 파일의 위치를 각각 지정합니다.

rsa_cert_file=/etc/ssl/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/ssl/vsftpd/vsftpd.pem

5. 이제 이러한 매개변수를 추가하여 SSL을 사용하는 익명 연결을 비활성화하고 SSL을 통한 모든 비익명 연결을 강제합니다.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. 그런 다음 SSL 데이터 연결의 모든 재사용을 비활성화하고 암호화된 SSL 연결을 허용하도록 SSL 암호를 HIGH 설정하려면 이 옵션을 추가하세요.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. 또한 pasv_min_portpasv_max_port를 사용하여 보안 연결을 위해 vsftpd에서 사용할 수동 포트의 포트 범위(최소 및 최대 포트)를 지정해야 합니다. 매개변수입니다. 또한 문제 해결을 위해 선택적으로 debug_ssl 옵션을 사용하여 SSL 디버깅을 활성화할 수 있습니다.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. 마지막으로 위의 변경 사항을 적용하려면 파일을 저장하고 vsftpd 서비스를 다시 시작하세요.

systemctl restart vsftpd

9. FTP 서버에 안전하게 액세스하기 전에 수행해야 할 또 하나의 중요한 작업은 시스템에서 포트 99040000-50000을 여는 것입니다. 방화벽. 그러면 vsftpd 서비스에 대한 TLS 연결이 허용되고 다음과 같이 각각 VSFTPD 구성 파일에 정의된 수동 포트의 포트 범위가 열립니다.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

3단계: FTP 서버에 안전하게 연결하기 위해 FileZilla 설치

10. FTP 서버에 안전하게 연결하려면 FileZilla와 같은 SSL/TLS 연결을 지원하는 FTP 클라이언트가 필요합니다. 이는 오픈 소스입니다. , 기본적으로 SSL/TLS 연결을 지원하는 널리 사용되는 크로스 플랫폼 FTP, SFTP 및 FTPS 클라이언트입니다.

다음과 같이 기본 패키지 관리자를 사용하여 Linux에 FileZilla를 설치합니다.

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Filezilla 패키지가 설치된 후 시스템 메뉴에서 검색하여 엽니다. 원격 FTP 서버에 빠르게 연결하려면 기본 인터페이스에서 호스트 IP 주소, 사용자 이름 및 사용자 비밀번호를 제공하십시오. 그런 다음 QuickConnect를 클릭하세요.

12. 그런 다음 애플리케이션은 알 수 없는 자체 서명 인증서를 사용하여 보안 연결을 허용하도록 요청합니다. 계속하려면 확인을 클릭하세요.

서버의 구성이 양호하면 다음 스크린샷과 같이 연결이 성공해야 합니다.

13. 마지막으로 다음 스크린샷과 같이 컴퓨터에서 서버로 파일을 업로드하여 FTP 보안 연결 상태를 테스트합니다.

그게 다야! 이 문서에서는 RHEL 8에서 보안 파일 전송을 위해 SSL/TLS를 사용하여 FTP 서버를 보호하는 방법을 보여주었습니다. 이는 RHEL 8에서 FTP 서버를 설치, 구성 및 보호하기 위한 종합 가이드의 두 번째 부분입니다. 질문이나 생각을 공유하려면 아래 피드백 양식을 사용하세요.