1. FTP(File Transfer Protocol)
1.1. 대용량 파일 전송 (Upload, Download)
1.2. Linux
- vsftpd or proftpd
- 인증 및 제어
- Protocol : TCP
- Port : 21
- data 전송
- Active : Port 20
- Client Data 전송 포트를 결정
- FTP Program만 사용 가능하도록 Port설정 - Passive
- Server가 Data 전송 포트를 결정, 대부분 이 방식을 사용
- 방화벽에서 Data 전송 포트만 Open 하면 됨
- Active : Port 20
2. Well Known Porte
2.1. well know Port : 0~1023
2.2. registered Prot : 1024~49151
2.3. Dynamic Port : 49152~65536
3. 설치 및 설정
3.1. 설치
- yum install -y vsftpd
3.2. 설정
- /etc/vsftpd/vsftpd.conf
4. 실습
4.1. ftp 설치
4.2. /etc/vsftp/vsftpd.conf 설정 파일 내용
- anonymous_enable : 익명 사용자 FTP 허용 여부
- local_enable : 로컬 사용자 로그인 허용 여부
- write_enable : 쓰기(업로드) 허용 여부
- local_umask : 로컬 사용자의 umask 값 설정
- anon_upload_enable : 익명 사용자 업로드 허용 여부
- anon_mkdir_write_enable : 익명 사용자 디렉토리 생성 권한 허용 여부
- dirmessage_enable : 디렉토리 이동 시 메세지 활성화 여부
- xferlog_enable : FTP 로그 활성화 여부
- connect_from_port_20 : 포트 전송 연결이 20에서 시작되는지 확인
- xferlog_file : xferlog 파일 저장 경로
- idle_session_timeout : 유휴 상태에서 세션 시간 설정
- data_connection_timeout : 데이터 연결 중 시간 초과 설정
- ftpd_banner : banner 내용 및 파일 설정 (파일로 설정할 경우 banner_file)
- chroot_local_user : 로컬 사용자에 대해서 사용자의 홈디렉토리를 최상위 디렉토리로 설정 (/디렉토리 접근 불가)
- chroot_list_enable : 리스트에 지정된 사용자에 대해서 사용자의 홈디렉토리를 최상위 디렉토리로 설정 (/디렉토리 접근 불가)
- chroot_list_file : 지정할 사용자 리스트 파일 위치
- pasv_enable : passive 모드 사용 여부
- pasv_min_port : passive 모드 사용 시 시작 포트 번호
- pasv_min_port : passive 모드 사용 시 마지막 포트 번호
4.3. FTP 구성 (Active)
1. aa, bb 계정 사용 2. aa 계정에 대해 chroot 적용 3. 사용자의 홈디렉토리에 각 500MB의 aa.txt, bb.txt를 각각 생성 4. anonymous 계정 사용 금지 5. /ftp 디렉토리 생성 후 banner, xferlog, chroot_list 파일 저장 6. 접속 후 3분이 지나면 세션 종료, 데이터 전송 중이라도 1분 후면 연결 끊기 |
※ /etc/vsftpd/vsftpd.conf 파일 변경 내용
※ /ftp/banner 파일 내용 설정
※ /ftp/chroot_list 파일 내용 설정
※ 현재 방화벽 설정 확인
※ 설정 가능한 zone 목록 확인
※ default zone 확인
※ 방화벽 오픈 포트 추가
※ 방화벽 리로드
※ ftp 실행
※ 사용자 aa, bb 홈 디렉토리 아래에 테스트용 파일 생성
※ W11-1 포트 오픈
※ 윈도우에서 ftp 접속해보기
※ aa 계정 chroot 확인
- aa의 홈디렉토리에서 상위 디렉토리로 이동해도 디렉토리가 변경되지 않으며, 홈디렉토리가 / 디렉토리로 인식된다.
※ 로컬 폴더 확인 (!dir)
※ 로컬 폴더 위치 변경 (lcd)
※ 서버에서 파일 다운로드 (get, mget)
※ 서버에 파일 업로드 (put, mput)
4.4. FTP 구성 (Passive)
1. passive Mode로 운영합니다. 2. passive mod 최소 포트 60000, 최대 60100 3. 사용자 c, d 중 cc는 chroot, data 디렉토리에 chroot설정 파일은 chroot 4. anonymous 사용 X, upload 허용 X 5. xferlog 위치 /data/xferlog 6. 배너 파일 위치 및 파일 이름 /data/banner 7. 접속 후 5분이 지나면 세션 종료, 데이터 전송 중이라도 1분 후면 연결 끊기 |
※ /etc/vsftpd/vsftpd.conf 파일 변경 내용
※ /data/chroot 파일 내용 추가
※ 방화벽 오픈 및 확인
※ vsftpd 실행
※ filezilla 연결 설정
※ filezilla로 ftp 접속
※ filezilla에서 파일 드래그하여 로컬로 가져온 후 데이터 전송 포트 확인
'Linux' 카테고리의 다른 글
16. CentOS7 : DNS(Domain Name System) (0) | 2022.03.29 |
---|---|
15. CentOS7 : Apache Web Server (HTTPD) (0) | 2022.03.29 |
13. CentOS7 : DHCP (0) | 2022.03.22 |
12. CentOS7: Local Repository (0) | 2022.03.08 |
11. CentOS7 : package 관리 (0) | 2022.03.08 |