본문 바로가기
서버 보안/리눅스 실무

[ProFTPD 설치] ProFTPD를 설치하고 운영해보기

by 어깨 :) 2023. 5. 26.
728x90

 

proFTPD(Pro File Transfer Protocol Daemon)는 오픈 소스 FTP(파일 전송 프로토콜) 서버 소프트웨어입니다. FTP는 클라이언트와 서버 간에 파일을 전송하기 위한 네트워크 프로토콜로, proFTPD는 이러한 파일 전송을 위한 서버 역할을 수행합니다.

proFTPD는 다양한 운영 체제에서 실행될 수 있으며, Linux, Unix, Windows 등을 지원합니다. 이 소프트웨어는 안정적이고 보안성이 뛰어나며, 대부분의 FTP 클라이언트와 호환됩니다. proFTPD는 기능이 풍부하며, 다양한 인증 방법과 암호화 프로토콜을 지원하여 데이터 전송의 보안을 강화할 수 있습니다.

proFTPD는 다음과 같은 기능을 제공합니다.

1. 다양한 인증 방법: proFTPD는 사용자 인증에 대해 다양한 방법을 지원합니다. 로컬 사용자, LDAP, MySQL, PostgreSQL 등의 데이터베이스, PAM(Pluggable Authentication Modules) 등을 통한 인증이 가능합니다.

2. 가상 호스팅: 여러 독립적인 가상 호스팅 환경을 구성할 수 있습니다. 각 가상 호스팅은 독립된 디렉터리 구조를 가지며, 서로 다른 사용자 및 권한 설정이 가능합니다.

3. 대역폭 제한: proFTPD는 사용자 또는 그룹별로 대역폭 제한을 설정할 수 있습니다. 이를 통해 네트워크 트래픽을 효율적으로 관리하고, 원하는 사용자에게 우선적으로 대역폭을 할당할 수 있습니다.

4. 암호화: proFTPD는 FTP 데이터 전송을 암호화하기 위한 SSL/TLS 프로토콜을 지원합니다. 이를 통해 데이터의 기밀성을 보호하고, 안전한 파일 전송을 제공할 수 있습니다.

5. 로깅 및 감사: proFTPD는 다양한 로깅 기능을 제공하여 서버의 활동을 기록할 수 있습니다. 이를 통해 문제 해결, 보안 감사, 통계 수집 등에 도움을 줍니다.

6. 확장성: proFTPD는 모듈 기반 아키텍처를 가지고 있어 새로운 기능을 추가하거나 기존 기능을 확장하기가 용이합니다. 다양한 모듈이 제공되며, 사용자의 요구에 맞게 선택적으로 활성화할 수 있습니다.


1.  proftpd 패키지를 설치합니다.

터미널 열기, apt-get –y install proftpd 명령어를 입력합니다.

 

 

 

2. proftpd 설정 파일을 변경합니다.

- gedit 에디터로 설정 파일인 /etc/proftpd/proftpd.conf 열기

- anonymous 사용자가 접속하여 파일 업로드, 다운로드할 수 있도록 다음 내용 입력, 저장

- gedit 에디터에서 행 번호를 표시하고 싶다면 Esc누르고 ‘:set number 입력

 

proftpd.conf 옵션

- ServerName: 서버의 이름. 아무거나 관계없음

- DefaultServer: 기본 FTP 서버로 사용할지 설정

- MaxInstances: 최대 생성 프로세스 수. 너무 크면 DDoS 공격 시 취약할 수 있으므로 적당한 값(20~30) 설정

- User/Group: Proftpd가 실행될 때 실행될 사용자. 보안상 root 사용자로 지정하면 위험함

- <Global> ~ </Global>: 모든 접속된 사용자에게 공통으로 적용되는 설정

- AllowOverwrite: 디렉터리 안에 같은 파일이 있으면 덮어 쓸지를 설정

- <Anonymous ~ftp> ~ </Anonymous>: anonymous 사용자 접속 여부 설정

- UserAlias anonymous ftp: anonymous 사용자로 접속했을 때 내부적으로 ftp의 권한을 부여함

- MaxClients: anonymous 사용자로 동시 접속할 수 있는 최대 숫자

- <Directory uploads/*> ~ </Directory>: 업로드할 디렉터리(‘/uploads’)의 설정

- <Limit READ> ~ </Limit>: 읽기를 허용할지 설정. 업로드 디렉터리는 읽기를 못하도록 설정하는 것이 좋음

- <Limit STOR> ~ </Limit>: 쓰기를 허용할지 설정. STOR은 동일 파일 이름이면 덮어 쓸지를 물어봄

 

 

3.  systemctl restart proftpd 명령과 systemctl enable proftpd 명령으로 서비스 시작합니다.

 

 

4.  외부에서 FTP 서버에 접근하도록 ufw allow ftp 명령으로 포트 허용합니다.

 

 

5.  ifconfig ens32 명령으로 서버의 IP 주소 확인합니다.

 

 

 

6. Client 가상머신에서 FTP 서버에 접속합니다.

 

 

 

 

7. filezilla 명령으로 파일질라 실행, 접속합니다.

 

 

 

 

8. 왼쪽에서 적당한 파일을 선택, 마우스 오른쪽 버튼을 클릭하여 [업로드]를 선택합니다.

728x90