OpenSUSE Leap 42.1에서 TLS 및 가상 사용자와 함께 Pure-FTPd를 설치하는 방법
이 페이지에서
- 1단계 - SuSEfirewall2 설치 및 구성
- 2단계 - Pure-FTPd 설치 및 구성
- 3단계 - Pure-FTPd용 TLS/SSL 구성
- 4단계 - 가상 사용자 구성
- 5단계 - 테스트
- 참조
Pure-FTPd는 Troll-FTPd를 기반으로 하는 무료 경량 FTP 서버로 2001년에 개발이 시작되었으며 Linux, *BSD, Solaris 및 HP-UX를 포함한 많은 Unix 계열 OS에서 실행됩니다. Pure-FTPd에는 가상 도메인, chroot 홈 디렉토리, 가상 사용자, TLS/SSL 지원, 가상 할당량 등과 같은 많은 기능이 있습니다.
이 튜토리얼에서는 OpenSUSE Leap 42.1에서 pure-ftpd를 설치하고 구성하는 방법을 보여줍니다. TLS/SSL로 pure-ftpd를 설정한 다음 가상 사용자를 설정하는 방법을 보여 드리겠습니다.
전제 조건
- OpenSUSE 도약 42.1
- 루트 권한\n
- OpenSUSE, Zypper 지식
1단계 - SuSEfirewall2 설치 및 구성
SuSEfirewall2는 /etc/sysconfig/SuSEfirewall2 파일에 방화벽 구성을 생성하는 스크립트입니다. SuSEfirewall2를 설치한 다음 SSH 및 FTP 서비스용 포트를 엽니다.
zypper를 사용하여 SuSEfirewall2를 설치합니다.
zypper in SuSEfirewall2
그런 다음 vim을 사용하여 /etc/sysconfig/SuSEfirewall2 구성 파일을 편집합니다.
vim /etc/sysconfig/SuSEfirewall2
새 서비스 ssh 및 FTP를 253행에 추가합니다.
FW_SERVICES_EXT_TCP="ssh ftp"
저장 및 종료.
이제 systemctl 명령으로 SuSEfirewall2를 시작합니다.
systemctl start SuSEfirewall2
2단계 - Pure-FTPd 설치 및 구성
이 단계에서는 TLS/SSL 구성을 위해 OpenSSL과 함께 pure-ftpd를 설치하고 pure-ftpd 사용자 및 그룹을 구성합니다.
아래와 같이 zypper로 애플리케이션을 설치합니다.
zypper in pure-ftpd openssl
이제 새 그룹 ftpgroup과 ftpuser라는 마스터 FTP 사용자의 새 사용자를 그룹에 추가합니다.
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
pure-ftpd 디렉토리로 이동하여 vim 편집기로 pure-ftpd.conf 구성 파일을 편집합니다.
cd /etc/pure-ftpd/
vim pure-ftpd.conf
익명 사용자를 비활성화하려면 81행의 값을 yes로 변경하십시오.
NoAnonymous yes
백엔드를 구성하려면 라인 131의 주석을 제거하십시오. Pure-ftpd는 MySQL, PostgreSQL, LDAP를 백엔드로 지원하지만 이 가이드에서는 백엔드로 PureDB를 사용합니다.
PureDB /etc/pure-ftpd/pureftpd.pdb
PureDB를 인증 소스로 사용할 것이므로 PAMAuthentication 행을 주석 처리하여 141행에서 PAM 인증을 비활성화하십시오.
#PAMAuthentication yes
저장 및 종료.
3단계 - Pure-FTPd용 TLS/SSL 구성
openssl 명령을 사용하여 /etc/ssl/private 디렉토리에 자체 서명된 새 인증서 파일을 생성합니다.
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365
인증서 파일의 권한을 0600으로 변경합니다.
chmod 600 /etc/ssl/private/pure-ftpd.pem
그런 다음 pure-ftpd 디렉토리로 돌아가서 구성 파일을 편집하여 클라이언트 연결에 대한 TLS/SSL 지원을 활성화합니다.
cd /etc/pure-ftpd/
vim pure-ftpd.conf
TLS를 활성화하려면 라인 439의 주석을 제거하십시오.
TLS 1
449행의 주석을 해제하고 새 옵션을 추가하여 보안을 강화하십시오.
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3
445행의 주석을 제거하여 인증서 파일을 정의하십시오.
CertFile /etc/ssl/private/pure-ftpd.pem
저장 및 종료.
이제 systemctl 명령으로 pure-ftpd를 시작합니다.
systemctl start pure-ftpd
4단계 - 가상 사용자 구성
Pure-FTPd는 실제 시스템(Linux) 사용자 대신 가상 사용자를 생성하고 사용할 수 있는 기능을 제공합니다. Pure-FTPd는 여러 인증 백엔드를 제공하며 가상 사용자 구성은 서버에서 사용하는 백엔드에 따라 다릅니다. 2단계에서는 PureDB를 백엔드로 설정했습니다.
pure-ftpd에서 제공하는 pure-pw 명령으로 새로운 가상 사용자를 생성할 수 있습니다. 이 단계에서는 /srv/ftp/shiro 디렉토리를 ftp 홈 디렉토리로 사용하여 shiro라는 새 가상 사용자를 생성하고 사용자는 다른 시스템 디렉토리에 액세스할 수 없도록 해당 디렉토리로 이동합니다.
pure-pw를 사용하여 새 가상 사용자를 만듭니다.
pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro
가상 사용자를 위한 디렉터리를 생성하고 해당 디렉터리의 소유자를 마스터 FTP 사용자로 변경합니다.
mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiro
다음으로 아래 명령을 사용하여 변경 사항을 저장해야 합니다.
pure-pw mkdb

이제 사용자 shiro를 사용할 준비가 되었습니다. 명령줄에서 FTPp를 사용하거나 GUI 인터페이스용 FileZilla를 사용하여 서버에 연결할 수 있습니다.
메모:
pure-pw에는 더 많은 명령 옵션이 있으므로 pure-pw 도움말을 사용하여 모든 유용한 명령을 볼 수 있습니다.
5단계 - 테스트
테스트를 위해 터미널에서 FTP 명령을 사용하겠습니다. 터미널을 열고 "ftp"를 입력하십시오:
ftp
다음으로 pure-ftpd 서버 IP를 입력하십시오.
open 192.168.43.69
사용자 shiro와 암호로 로그인한 다음 Enter 키를 누릅니다.
put 명령으로 파일 업로드를 시도하십시오.
put picture.png mypict.png
이제 아래 ls 명령을 사용하여 서버에서 mypict.png 파일을 볼 수 있습니다.
ls

참조
- https://www.novell.com/coolsolutions/feature/11418.html