깐죽이의 정보 바다

FTP(File Transfer Protocol) 원격 사용자가 시스템과 파일을 주고받을 수 있는 클라이언트-서버 간 네트워크 프로토콜 입니다. 포트 21번을 사용하고 현재는 보안상 22번 포트를 많이 사용합니다. 

 

리눅스에서 가장 많이 사용하는 오픈소스(PureFTPd/ProFTPD/vsftpd])가 있습니다. 

 

그중에서 보안적으로 안전하며 안정적인 데이터 이동 속도를 제공하고 있는 VSFTPD 설치를 할려고 합니다. 

 

▶ OS 버전확인하기

 

리눅스(centos) APM(Apache/PHP/MySQL) 설치하기

리눅스에 APM을 설치하기 앞서 버전별로 호환하는게 달라 리눅스 명령어로 버전을 확인해보자. 1. 현재 설치하고자 하는 OS 와 버전확인 하기 설치 OS 와 버전 Centos 7 ▶ OS버전확인하기 리눅스 OS

kimkkanjuk.tistory.com

 

1. vsftpd [Yum 설치] 

[root@localhost ~]# yum install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
base                                                                   | 3.6 kB  00:00:00
extras                                                                 | 2.9 kB  00:00:00
mysql-connectors-community                                             | 2.6 kB  00:00:00
mysql-tools-community                                                  | 2.6 kB  00:00:00
mysql56-community                                                      | 2.6 kB  00:00:00
updates                                                                | 2.9 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-29.el7_9 will be installed
--> Finished Dependency Resolution

 

2. vsftpd.conf 환경설정 [수정 후 저장]

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

※ anonymous_enable=NO  [yes -> no 변경]
익명 유저 로그인을 차단합니다. YES 되어있을 경우 아무나 접속할 수 있으므로 보안에 취약



※ chroot_local_user=YES   [#주석 제거]

※ chroot_list_enable=NO  [#주석 제거 No 변경]
일반계정의 유저 홈 디렉토리에서 상위 폴더로 이동하는 것을 제한합니다.

※ pasv_enable=YES [추가]
Passive 모드로 접속할 수 있게 설정합니다.

[Passive 모드의 특징] 
- PC 클라이언트에서 서버 쪽으로 21번 포트 통신 응답을 시도합니다.
- 서버 측에서 응답을 받을 경우 서버에서 사용할 두 번째 포트(1024~65535 포트)를 알려줍니다.
- PC 클라이언트는 다른 포트를 열어 서버가 알려준 두 번째 포트로 접속을 시도하고 데이터를 전송합니다.
- 하지만 서버에서 모든 두번째 포트(1024~65535 포트)를 개방하고 알려야 하는 문제가 있지만 접속 범위를 설정하여 문제를 해결할 수 있습니다.

※ pasv_min_port=50001 / 접속 포트 설정의 최소 범위 (위 포트 범위 내에서 임의 설정 가능)
※ pasv_max_port=50005 / 접속 포트 설정의 최대 범위 (위 포트 범위 내에서 임의 설정 가능)

※ allow_writeable_chroot=YES
상위 버전부터는 일반계정 유저에 홈디렉토리에 쓰기 권한이 있을 경우 해당 옵션을 꼭 주어야 합니다.

 

 

3. vsftpd 활성화 및 서비스 구동확인

[root@localhost ~]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
[root@localhost ~]# ps -ef | grep vsftpd
root     40682     1  0 11:50 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root     40687 40287  0 11:51 pts/0    00:00:00 grep --color=auto vsftpd

 

4. 유저 생성 및 비번 변경

[root@localhost html]# adduser -d /var/www/html/damuk damuk
[root@localhost html]# passwd damuk

 

5. 파일질러로 접속 테스트

ftp 접속 확인

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band shouturl