구축

Rocky 9.2 - FTPs/vsftpd

상석하대 2023. 9. 23. 19:22

【사설 인증서 만들기】

certs 디렉터리로 이동한다.

cd /etc/pki/tls/certs

 

PEM 암호는 적당히 한다.
openssl genrsa -des3 -out vsftpd.key 2048

 

RSA 자체 서명을 한다.

openssl rsa -in vsftpd.key -out vsftpd.key
***암호는 키에 설정했던 PEM 것이다.

 

***인증서 정보 입력 예

국가 코드는 한국이니까 KR

서울은 주 이름이 없으니까 NA

도시는 Seoul

Organization Name은 회사이름
Organization Unit Name은 부서이름
Common Name은 FQDN(정규화된 도메인이름)이 바람직하나 그냥 호스트명 또는 로컬도메인을 넣음
Email Address에는 사용하는 이메일 주소를 입력

 

키파일로 인증서를 만든다.

3650일 즉, 10년 유효이니 상황봐서 적당히 하다.

openssl req -new -x509 -days 3650 -key vsftpd.key -out vsftpd.crt

 

키와 인증서를 통합한다.
cat vsftpd.key vsftpd.crt > vsftpd.pem

 

권한을 최소화한다.

chmod 400 vsftpd.*

 

관련 파일들을 확인한다.
ll

【설치】

dnf -y install vsftpd

 

【설정파일 수정】

vi /etc/vsftpd/vsftpd.conf

...
#connect_from_port_20=YES ***주석처리
...
xferlog_file=/var/log/vsftpd.log ***주석해제 및 수정, 로깅사용
...
ascii_upload_enable=YES ***주석해제, ASCII 파일 전송 허용
ascii_download_enable=YES
...
chroot_local_user=YES ***주석해제, 상위 이동 차단
allow_writeable_chroot=YES ***추가
...
ls_recurse_enable=YES ***주석해제, 디렉터리 별 삭제 허용
...
listen=YES ***NO를 YES로 바꿈, 독립 모드 동작
...
listen_ipv6=NO ***YES를 NO로 수정, IPv6 사용 안 함
...
#userlist_enable=YES ***주석처리 그리고 아래 옵션들을 추가
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
pasv_enable=YES
pasv_addr_resolve=YES
pasv_min_port=5001 ***패시브포트 범위는 적당히 정함
pasv_max_port=5100
#pasv_address=공인아이피 ***NAT환경에서의 WAN 아이피
use_localtime=YES
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
allow_anon_ssl=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES
ssl_ciphers=TLSv1.2
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

【TCP Wrapper 허용】

echo "vsftpd: ALL" >> /etc/hosts.allow

 

【사용자 추가】

echo 계정명 >> /etc/vsftpd/user_list

 

【서비스 시작 및 시작에 등록】

systemctl enable --now vsftpd

 

【방화벽에서 허용】

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

firewall-cmd --add-port=시작패시브포트-끝패시브포트/tcp --permanent
firewall-cmd --reload ***확인은 firewall-cmd --list-all

 

【SELinux 등록】

setsebool -P ftpd_full_access on

 

【기타】

인증서 트러블로 FTPs를 사용하지 않으려면 해당 옵션들을 주석한다.

#ssl_enable=YES
#rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
#allow_anon_ssl=NO
#force_local_logins_ssl=YES
#force_local_data_ssl=YES
#ssl_ciphers=TLSv1.2
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO

 

인증서를 한 번에 생성하고자 할 때는,

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/pki/tls/certs/vsftpd.key -out /etc/pki/tls/certs/vsftpd.pem 를 입력한다.

로드는,

rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/certs/vsftpd.key

이다.

 

반응형

'구축' 카테고리의 다른 글

Rocky 9.2 - Apache 설정 - 기본  (0) 2023.09.26
Rocky 9.2 - Apache 설치 - 기초  (0) 2023.09.26
RTMP 라이브 스트리밍 서버 - Windows 10, 11  (0) 2023.08.07
NFS 설정 - FreeBSD  (0) 2023.07.28
FTPs 설치 - Windows, IIS  (0) 2023.07.27