본문 바로가기
리눅스-Linux

Linux CentOS 8에서 FTP 서버 설정 및 포트 변경 방법

by info4503 2025. 3. 19.

FTP(File Transfer Protocol)는 파일을 전송하는 데 사용되는 가장 기본적인 네트워크 프로토콜 중 하나입니다.

CentOS 8에서 FTP 서버를 설정하고 보안을 위해 포트를 변경하는 방법을 자세히 설명해 드리겠습니다.


1. FTP 서버 설치하기

CentOS 8에서는 vsftpd(Very Secure FTP Daemon)가 가장 많이 사용됩니다.

1.1 vsftpd 설치

sudo dnf install -y vsftpd

1.2 vsftpd 서비스 시작 및 활성화

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

서비스가 정상적으로 실행되고 있는지 확인하려면 다음 명령을 사용하세요.

sudo systemctl status vsftpd

2. 방화벽 및 SELinux 설정

2.1 방화벽에서 FTP 허용

기본적으로 FTP는 21번 포트를 사용하므로 방화벽에서 허용해야 합니다.

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

2.2 SELinux 설정

SELinux가 활성화된 경우 FTP를 정상적으로 작동시키려면 다음 명령을 실행합니다.

sudo setsebool -P ftpd_full_access 1

3. FTP 사용자 설정

FTP 접속을 허용할 사용자 계정을 추가합니다.

sudo useradd ftpuser
sudo passwd ftpuser

기본적으로 /home/ftpuser 디렉터리가 생성되며, FTP 접근을 허용할 디렉터리를 설정합니다.

sudo mkdir -p /home/ftpuser/ftp_files
sudo chown -R ftpuser:ftpuser /home/ftpuser/ftp_files
sudo chmod 750 /home/ftpuser/ftp_files

4. vsftpd 설정 변경

FTP 서버의 기본 설정을 수정하려면 /etc/vsftpd/vsftpd.conf 파일을 편집해야 합니다.

sudo nano /etc/vsftpd/vsftpd.conf

다음과 같은 옵션을 수정 또는 추가합니다.

  • 익명 사용자 접속 차단
anonymous_enable=NO
  • 로컬 사용자 접속 허용
local_enable=YES
write_enable=YES
  • chroot 적용 (사용자가 홈 디렉터리 밖으로 나가지 못하도록 설정)
chroot_local_user=YES
allow_writeable_chroot=YES

파일을 저장한 후, vsftpd를 재시작합니다.

sudo systemctl restart vsftpd

5. FTP 포트 변경하기

기본적으로 FTP는 21번 포트를 사용하지만, 보안을 위해 다른 포트로 변경할 수 있습니다.

5.1 vsftpd 설정 파일 수정

sudo nano /etc/vsftpd/vsftpd.conf

파일에서 listen_port 옵션을 찾아 변경하거나 추가합니다.

listen_port=2121

5.2 방화벽에서 새로운 포트 허용

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --permanent --add-port=2121/tcp
sudo firewall-cmd --reload

5.3 SELinux 설정 변경 (포트 컨텍스트 추가)

sudo semanage port -a -t ftp_port_t -p tcp 2121

5.4 vsftpd 재시작

sudo systemctl restart vsftpd

6. FTP 접속 테스트

FTP 클라이언트(예: FileZilla)를 사용하여 서버에 연결합니다.

  • 호스트: 서버의 IP 주소
  • 사용자명: ftpuser
  • 비밀번호: 설정한 패스워드
  • 포트: 변경한 포트 (예: 2121)

또는 리눅스 터미널에서 다음 명령을 실행하여 확인할 수 있습니다.

ftp -p 192.168.1.100 2121

7. 결론

이제 CentOS 8에서 FTP 서버를 설정하고 보안을 위해 포트를 변경하는 방법을 배웠습니다.

FTP 서버는 파일 전송에 유용하지만, 보안상 위험할 수 있으므로 **SFTP(Secure FTP)나 FTPS(FTP over SSL/TLS)**와 같은 보안 프로토콜을 사용하는 것도 고려해 보세요.

 

이 가이드가 도움이 되셨다면 댓글로 의견을 남겨주세요! 😊