[FTP Server]


01. 프로그램

 -proFTP ,wuftp,vsftpd*

02. 환경 설정 파일

 - /etc/vsftpd/vsftpd.conf <- 주 환경 설정 파일

 - /etc/vsftpd/user_list <- 사용자 제한(FTP)

 - /etc/vsftpd/ftpusers < - PAM


03. FTP 서비스 종류

 1) FTP : 인증(ID/PASS)

 2) AnonymousFTP : 인증(ID:anonymous,PASS:E-mail)

 3) TFTP : 무인증(69)



/etc/vsftpd/vsftpd.conf


anoymous_enable = no   //어나니머스 차단

local_enable = yes //일반 ftp 허용

write_enable = yes //생성 수정 삭제 가능

anon_upload_enable = //어나니머스는 위험하므로 업로드 설정

xferlog_enable =yes //로그 기록 허용

connect_from_port_20 = YES //데이터 포트 사용 허용

xferlog_std_format //스탠다드 포맷사용 허용

idle_session_timout =600 //600초 동안 입력안할 시 세션차단

ascii_upload_enable =yes //ascii 업로드 허용

chroot_list_enable=yes //보안디렉터리 허용

chroot_list_file=/etc/vsftpd/chroot_list  //설정한 경로에 보안 


[포트 변경]

/etc/vsftpd/vsftpd.conf


listen_port =2121 //제어포트 변경


service iptables stop


windows7 알드라이브 설치 //포트 2121로 접속



putty파일을 업로드 하면,


test폴더 안에 업로드가 된 것을 확인할 수 있다.



ftp 192.168.232.210 2121 //쉘로도 접속 가능




 

운영모드

Active 모드 //server가 먼저 요청

passive 모드 //client가 먼저 요청

모드 결정은 클라이언트가한다.

처음 시작은 active모드로 실행 된다.

passive 모드는 데이터 포트가 1024이상 포트로 사용됨.


FTP

Server

데이터 포트: 20  

제어 포트: 21  //액티브 패시브 둘다 사용


방화벽에서 제어포트만 허용했을 경우



 //연결은 되지만 데이터를 주고 받을 수 없다.


해결방안 : 방화벽 중단하거나 해당포트를 열어준다.


미친방법 : 모든포트를 개방해준다.




데이터 포트도 고정하는법

pasv_min_port =2020

pasv_max_port =2020



방화벽 설정 //제어포트 2121과 데이터포트2020을 허용해준다.



방화벽에 해당포트까지 열어주니 정상적으로 통신되어 열린다.



[사용자 제한]

 /etc/vsftpd/user_list  //적혀있는 것들은 전부 로그인차단됩니다.


/etc/vsftpd/ftpusers //적혀있는 것들은 전부 로그인차단됩니다.

user_list와 ftpusers 파일에 둘다 적혀 있어야 차단된다.


두 개의 파일에 root를 전부 주석처리하면 root로 로그인이 된다.





Anonymous ftp 


cd /var/ftp

 pub디렉터리의 소유권을 777로 변경

위의 사진과 같이 업로드는 되지만, 삭제는 되지않는다.


아래 사진과 같은 문장을 입력해주고


vi banned_emails 을 생성해주고 생성된 파일안에 넣은 값으로는 익명로그인을 할 때 비밀번호로 사용할 수 없다

위의 값으로 비밀번호를 입력하면, 로그인이 되지 않는다.





쉘에서 접속은 

ftp 192.168.232.210 2121

아이디에 anonymous 입력 비번 아무거나 치면 익명계정으로 로그인된다.


[chroot]


changeroot를 통해 자기자신외에 폴더는 보지못하게 설정할 수 있다.


vi/etc/vsftpd/vsftpd.conf //아래와 같이 설정하고 

service vsftpd restart


vi /etc/vsftpd/vsftpd.conf/chroot_list  //안에 아이디 입력


아래 사진과 같이 자기 폴더 외에는 접근이 불가능하게 된다.




반대로 list에 적힌 애들만 허용하게 하고 싶으면,


vi /etc/vsftpd/vsftpd.conf 

chroot_local_user=YES을 입력해주면


list에적힌 test만 허용되고  나머지는 차단된다.





[ftp 속도제한]

각 사용자에게 속도 제한을 건다.

이 설정을 해주지 않으면 한사람이 대역폭을 다 쓰게 됨으로 제한을 걸어줘야 한다.


vi /etc/vsftpd/vsftpd.conf


local_max_rate = 50  //50bps로 제한

anon_max_rate =50 //익명계정 속도 50bps로 제한



[ftp 동시 접속자 수 제한]

max_clients= 10  //11번째 부터 차단.


max_per_ip =2 //같은 ip접속 2개만 허용


3개째 부터 아래 빨간박스와 같이 연결이 되지 않는다.



'System Security' 카테고리의 다른 글

apmtools(apache)  (0) 2019.03.04
DNS서버  (0) 2019.02.27
NFS(Network File System)  (0) 2019.02.25
정리  (0) 2019.02.25
방화벽  (0) 2019.02.22

+ Recent posts