본문 바로가기

코리아IT아카데미 [국비과정]/수업

[Linux/Program] FTP 서비스

FTP

Active Mode

클라이언트가 서버의 포트(21)로 연결요청

클라가 자신의 데이터 포트를 서버에게 알려줌

서버는 데이터 포트(20)에서 클라가 지정한 포트로 연결 

데이터 전송

 

 

Passive Mode

클라이언트가 서버의 포트(21)로 연결 요청

서버는 임의의 데이터 포트를 클라에게 전달

클라는 서버가 지정한 포트로 연결 시작데이터 전송

 

항목 Active Mode Passive Mode
연결 방식 서버가 클라이언트로 연결 클라이언트가 서버로 연결
데이터 포트 서버 20번 포트 사용 서버가 임의의 포트 지정
방화벽 호환성 낮음 높음

 

 

실습

 

vsftpd 서비스 실행 (데몬)

포트 21번 확인

 

방화벽에서 ftp 서비스를 추가하기

firewalld-cmd --permanent --add-service=ftp

ftp 서비스를 열어주게 되어 다른 사용자가 서비스를 사용가능

 

 

Passive Mode : 방화벽 문제가 적거나, 고정된 포트만 사용

클라이언트가 서버에게 전달 받은 포트로 연결

(서버는 임의 포트 사용)

 

ftp 연결하여 서버에 접속

 

chroot_local_user=YES : 디렉토리 제한(격리)

allow_writeable_chroot=YES : 디렉토리에 쓰기 권한 부여

 

홈디렉토리 이동제한, 디렉토리가 최상위로 설정

그래서 그 이상 경로로 이동할 수 없다.

 

ftpusers : pw 계정차단

ftpusers 편집기에서 sevas 추가

 

아이디는 넘어가고 패스워드에서 계정 차단됨

 

user_list : id 계정 차단

user_list 편집기에서 admin 추가

 

 

아이디에서 바로 차단됨

 

anonymous_enable=YES : 익명 사용자 로그인 허용

익명 사용자 접근 허용시 보안에 취약해질 수 있다.

(write 권한 부여시 악의적 서버 손상 위험)

 

익명 사용자가 ftp 서버에 로그인 됨