-
CenTOS7 : VSFTPD Passive Mode Config공부합시다!/LInux 2021. 12. 29. 20:30728x90
오늘은 vsftp passive mode 설정에 대해서 포스팅 합니다.
1. FTP : File Transfer Protocol 로 대용량 파일을 전송할 때 사용합니다.
1.1. TCP 21 port는 인증 및 제어에 사용
1.2. mode
1.2.1. active mode : Client 데이터 전송 포트를 결정합니다. 때문에 Client쪽 Port를 모두 open해야 하지만 현실적으로 불가능한 일입니다. (ftp 사용하니까 사용자 포트 모두 열어주세요! 허걱!)
1.2.1.1. 데이터 전송포트는 TCP 20번 입니다.
1.2.2. passive mode : 서버측에서 데이터 전송 포트를 결정합니다. 특정 포트로 한정할 수 있기때문에 현실적인 설정입니다.
2. 설정파일
2.1. # /etc/vsftpd/vsftpd.conf
3. passive 설정
3.1. Test에 사용할 계정 생성
3.2. 패스워드 설정
3.3. vsftpd.conf 설정 파일 편집
3.4. 배너 파일 설정
3.5. 편집기에서 잠시 shell에서 작업할 일이 있다면 :!bash가 편리합니다. 다시 편집기 복구가 쉽습니다.
3.6. 배너 파일 디렉토리 및 배너 파일 편집
3.6. 저장 후 다시 vsftpd.conf 편집기로 돌아오기 위해서 exit 입력 후 Enter
3.7. Login한 자신의 Home Directory를 최상위 디렉토리로 인식하는 chroot 설정
3.8. 잠시 shell로 외출
3.9. chroot 파일 생성
3.10. chroo 적용할 사용자 계정 입력
3.11. 다시 vsftpd.conf 편집 상태로 복귀
3.12. passive mode 설정 : data 전송 포트는 60000-61000
3.13. vsftpd.conf 전체 설정
3.14. Firewall Open : TCP21, TCP 60000-61000
3.15. Test용 FileZilla 설정
3.16. FileZilla Passive Mode 설정
3.17. Test용 파일을 dd를 이용하여 생성
3.18. data전송 포트 확인 명령어
Wireshark Packet Capture 한 후 ftp 필터링 후 전송 포트 계산하는 법 잊지 마세요!
4. Option
* /etc/vsftpd/vsftpd.conf\
* anonymous_enable=YES : 익명사용자 허용/거부
* local_enable=YES : 로컬 사용자(/etc/passwd에 있는 사용자) 로그온 허용/거부
* write_enable=YES : 파일시스템에 데이터 쓰기 허용/거부
* local_umask=022 : 퍼미션. 반대로 적용된다. 022: 666-022=644 : rwx에서 x는 필요없음. 666이 기본
* anon_upload_enable=YES : 익명사용자의 파일 업로드 허용/거부
* anon_mkdir_write_enable=YES : 익명사용자의 디렉토리 생성 허용/거부
* dirmessage_enable=YES : ftp접속자가 디렉토리 이동시 알림메세지로 설정된 파일 내용 출력
* xferlog_enable=YES : 사용자의 업로드 다운로드를 로그 파일로 저장(/var/log/xferlog에 기록)
* connect_from_port_20=YES : 데이터전송포트
* chown_uploads=YES : 익명사용자가 업로드한 파일의 퍼미션 자동 변경
* chown_username=whoever : chown_uploads 옵션이 YES일 경우 변경할 사용자 명
* xferlog_file=/var/log/xferlog : xferlog_enable옵션이 YES일 경우 저장할 경로 지정
* xferlog_std_format=YES : xferlog 로그의 표준 포맷 사용
* idle_session_timeout=600 : idle상태가 600초 동안 이어질때 세션 종료
* data_connection_timeout=120 : 파일 업/다운로드시 연결 유지시간 지정. 시간 초과시 업/다운 취소.
주석처리되면 기본값으로 300초 지정.
* nopriv_user=ftpsecure : 익명 접속시 사용할 유저 명
* async_abor_enable=YES : async ABOR 명령 사용을 허용/거부
(일부ftp클라이언트에서 파일 전송 취소해도 취소되지 않는 상태가 생길수 있음. 그때 사용)
* ascii_upload_enable=YES : ASCII 파일 업로드 허용/거부
* ascii_download_enable=YES : ASCII 파일 다운로드 허용/거부
* ftpd_banner=Welcome to... : ftp 접속 성공시 출력하는 환영 메세지 지정
* deny_email_enable=YES : 익명 접속 시 패스워드에 입력하는 이메일 중 특정 이메일 거부
* banned_email_file=/etc/vsftpd/banned_emails : deny_email_enable 옵션이 YES일때 거부할 이메일 목록
* chroot_local_user=YES : 사용자 접속시 자신의 홈디렉토리를 / 로 인식하게 하여 하위로 이동만 가능
* chroot_list_enable=YES : chroot에서 제외할 사용자 목록 사용 여부
* chroot_list_file=/etc/vsftpd/chroot_list : chroot_list_enable이 YES일 경우 해당 목록 파일 지정
* ls_recurse_enable=YES : 접속자에게 ls -R(하위dir까지출력) 명령어 사용 허가/거부(부하가 많으므로 NO)
* listen=YES : standalone모드는 YES, xinetd모드는 NO
* listen_ipv6=YES : IPv6응답 허용/거부
* pam_service_name=vsftpd : 사용자 PAM 인증 시 사용할 설정 파일 이름 지정 (vi /etc/pam.d/vsftpd)
* userlist_enable=YES : /etc/vsftpd/user_list에 지정된 사용자 접속 거부
* tcp_wrappers=YES :
* pasv_min_port=5000 : 패시브 모드시 사용할 시작 포트 번호
* pasv_max_port=6000 : 패시브 모드시 사용할 마지막 포트 번호
* pasv_enable=YES : 패시브 모드 사용/사용안함. NO일 경우 액티브 모드
연말이라 더 포스팅 할 여력이 있나모르겠네요!
어쨌든 올해는 여기까지......!
내년은 호랑이처럼 용맹한 모습으로
728x90'공부합시다! > LInux' 카테고리의 다른 글
CenTOS7 : DNS Configuration (Domain Name Service) (0) 2022.01.05 CenTOS7 : Certificate Create 인증서 (0) 2022.01.04 CenTOS7 : DHCP 일반 설정 및 예약 기능 구성 (2) 2021.12.28 CentOS7 : DHCP Mac Address Filtering Config (0) 2021.12.28 CentOS7 acl : setfacl, getfacl (0) 2021.12.26