목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ FTP란?
- File Transfer Protocol의 약자로 TCP/IP 환경에서의 파일 전송용 어플리케이션 프로토콜이다.
- 네트워크 상의 이기종 컴퓨터에 로그인 한 후 원격지 컴퓨터 간에 파일을 교환할 수 있는 기능을 제공한다.
- 사용자마다 권한을 다르게 줄 수 있으며 다운로드 및 업로드가 가능하다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ vsFTPD란?
- very secure FTPD는 Linux 시스템에서 사용할 수 있는 GPL 기반의 FTP 서버 프로그램이다.
- 보안, 성능, 안정성이 우수한 프로그램이다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ FTP connection type
- vsFTPD 서버를 방화벽 또는 IP 공유 환경에서 운영할 경우 FTP connection type에 대한 이해가 필요하다.
- FTP에서 사용되어지는 Connection Type은 Active, Passive mode 2가지로 나뉘어진다.
C:Clinet S:Server
1. C가 1026번 포트로 S의 21번 포트에 접속 후 C가 사용할 두 번째 포트(1027번 포트)를 S에 알려준다.
2. S는 이에 대해 ack로 응답한다.
3. S의 20번 포트는 C가 알려준 1027번 포트로 접속을 시도한다.
4. C가 ack로 응답한다.
C:Clinet S:Server
1. C가 1026번 포트로 S의 21번 포트에 접속한다.
2. S는 C에게 S에서 사용할 임의의 두번째 포트(2024번 포트)를 알려준다.
3. C는 다른 포트(1027번 포트)를 열어 S가 알려준 포트로 접속을 시도한다.
4. S는 ack로 응답한다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ vsFTPD 설치
☆ step 1 : 패키지 설치 확인
• 패키지 설치 확인
☆ step 2 : 사용자 추가 및 vsftpd 데몬 실행
- 패키지를 설치하는 것만으로도 vsftpd 데몬을 실행시켜 서비스를 운영할 수 있다.
- 원하는 형태의 서비스를 하기 위해서는 각 설정들의 수정하여 서비스 하여야 한다.
• 사용자 추가 후 vsftpd 데몬 실행
☆ step 3 : FTP 접속 테스트
• 로컬에서 ftp 접속 확인
• 원격지에서 ftp 접속 확인
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
1) 익명 사용자 설정
2) 로컬 시스템 사용자 로그인
3) write 명령어 허용 여부
4) chroot 환경 설정
5) userlist_file의 사용자 로그인 허용 여부
★ vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
☆ 익명 사용자 설정
• 익명 사용자의 로그인의 허용여부 ( YES )
• anonymous 로 접속 가능
• 익명 사용자의 로그인의 허용여부 변경 ( NO )
• 서비스 재시작
• anonymous 로 접속 불가능
☆ 로컬 시스템 사용자 로그인
• 로컬 시스템 사용자의 로그인의 허용 여부 (YES)
• 로컬 시스템에서 접속 가능
• 로컬 시스템 사용자의 로그인의 허용 여부 변경 (NO)
• 서비스 재시작
• 로컬 시스템에서 접속 불가능
☆ write 명령어 허용 여부
• W 권한의 부여 여부 (YES)
• W 권한에 관련된 디렉토리 만들기 가능
• W 권한의 부여 여부 (NO)
• 서비스 재시작
• W 권한에 관련된 디렉토리 만들기 불가능
☆ userlist_file의 사용자 로그인 허용 여부
• userlist_file 에 등록된 사용자의 접속 거부 (YES)
• user_list 파일 확인
• znfn_ftp 유저 접속 확인 ( 접속가능 )
• user_list 파일에 znfn_ftp 유저 추가
• znfn_ftp 유저 접속 확인 (접속 불가능)
• userlist_deny = NO 로 설정할 경우 userlist_file에 등록된 사용자들은 접속이 되나 ftpusers에 등록된 사용자는 접속이 거부된다. ftpusers 파일에 등록된 사용자들은 무조건 접속 거부.
• 서비스 재시작
• znfn_ftp 유저 접속 확인(접속가능)
• ftpusers 파일 확인
• 파일에 znfn_ftp 사용자 추가
• znfn_ftp 유저 접속 확인 (접속불가능)
☆ chroot 환경 설정
- FTP 사용자들이 자신의 디렉토리를 최상위 디렉토리로 인식하게하여 상위 디렉토리로 이동 못하게 막는 설정
- chroot_local_user 옵션은 사용자가 직접 적어줘야 한다. 적어주지 않을경우 NO로 인식된다.
- chroot_local_user=YES, chroot_list_enable=YES 일 경우 chroot_list에 입력된 사용자들은 제외
- chroot_local_user=NO, chroot_list_enable=YES 일 경우 chroot_list에 입력된 사용자들만 적용
• chroot 기본 설정
• wiem_ftp 사용자 추가 및 존재하지 않는 chroot_list 파일 생성 후 wiem_ftp 사용자 파일에 추가
• userlist_deny=NO 로 설정되어 있으므로 wiem_ftp 사용자가 ftp를 사용할 수 있게 user_list 파일에 추가
• wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용되지 않음)
• chroot 옵션의 앞 주석을 지워서 YES로 설정
• 서비스 재시작
• wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용됨)
• chroot_local_user=YES 옵션 추가
• 서비스 재시작
• chroot_list에 포함되어 있지 않은 znfn_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용됨)
• chroot_list에 포함되어있는 wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용안됨)
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ FTP란?
- File Transfer Protocol의 약자로 TCP/IP 환경에서의 파일 전송용 어플리케이션 프로토콜이다.
- 네트워크 상의 이기종 컴퓨터에 로그인 한 후 원격지 컴퓨터 간에 파일을 교환할 수 있는 기능을 제공한다.
- 사용자마다 권한을 다르게 줄 수 있으며 다운로드 및 업로드가 가능하다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ vsFTPD란?
- very secure FTPD는 Linux 시스템에서 사용할 수 있는 GPL 기반의 FTP 서버 프로그램이다.
- 보안, 성능, 안정성이 우수한 프로그램이다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ FTP connection type
- vsFTPD 서버를 방화벽 또는 IP 공유 환경에서 운영할 경우 FTP connection type에 대한 이해가 필요하다.
- FTP에서 사용되어지는 Connection Type은 Active, Passive mode 2가지로 나뉘어진다.
☆ Active Mode
- 클라이언트가 서버의 컨트롤 포트인 21번 포트로 세션을 연결한 후 서버쪽 20번 포트가 클라이언트가 제공한 포트(임의의 포트)로 자료를 전송하게 된다. 즉, 클라이언트에서 서버측 21번 포트로 접속시도 하고 데이터 포트는 서버에서 클라이언트로 접속 하여 데이터를 보내는 방식입니다.
- 클라이언트가 서버의 컨트롤 포트인 21번 포트로 세션을 연결한 후 서버쪽 20번 포트가 클라이언트가 제공한 포트(임의의 포트)로 자료를 전송하게 된다. 즉, 클라이언트에서 서버측 21번 포트로 접속시도 하고 데이터 포트는 서버에서 클라이언트로 접속 하여 데이터를 보내는 방식입니다.
1. C가 1026번 포트로 S의 21번 포트에 접속 후 C가 사용할 두 번째 포트(1027번 포트)를 S에 알려준다.
2. S는 이에 대해 ack로 응답한다.
3. S의 20번 포트는 C가 알려준 1027번 포트로 접속을 시도한다.
4. C가 ack로 응답한다.
☆ Passive Mode
- Active 모드는 클라이언트가 임의의 포트를 열어 서버에 알려주는 경우이고 Passive 모드는 서버가 임의의 포트를 열어 클라이언트에게 알려주는 형태이다. 즉, 클라이언트에서 서버쪽 21번 포트로 접속 시도 하고 데이터 포트도 클라이언트에서 서버의 임의의 포트로 접속하여 데이터를 받아오는 방식입니다.
- Active 모드는 클라이언트가 임의의 포트를 열어 서버에 알려주는 경우이고 Passive 모드는 서버가 임의의 포트를 열어 클라이언트에게 알려주는 형태이다. 즉, 클라이언트에서 서버쪽 21번 포트로 접속 시도 하고 데이터 포트도 클라이언트에서 서버의 임의의 포트로 접속하여 데이터를 받아오는 방식입니다.
C:Clinet S:Server
1. C가 1026번 포트로 S의 21번 포트에 접속한다.
2. S는 C에게 S에서 사용할 임의의 두번째 포트(2024번 포트)를 알려준다.
3. C는 다른 포트(1027번 포트)를 열어 S가 알려준 포트로 접속을 시도한다.
4. S는 ack로 응답한다.
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
★ vsFTPD 설치
☆ step 1 : 패키지 설치 확인
• 패키지 설치 확인
☆ step 2 : 사용자 추가 및 vsftpd 데몬 실행
- 패키지를 설치하는 것만으로도 vsftpd 데몬을 실행시켜 서비스를 운영할 수 있다.
- 원하는 형태의 서비스를 하기 위해서는 각 설정들의 수정하여 서비스 하여야 한다.
• 사용자 추가 후 vsftpd 데몬 실행
☆ step 3 : FTP 접속 테스트
• 로컬에서 ftp 접속 확인
• 원격지에서 ftp 접속 확인
목차
1. FTP란?
2. vsFTPD 란?
3. FTP connection type
4. vsFTPD 설치
5. vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
1) 익명 사용자 설정
2) 로컬 시스템 사용자 로그인
3) write 명령어 허용 여부
4) chroot 환경 설정
5) userlist_file의 사용자 로그인 허용 여부
★ vsFTPD 설정 (/etc/vsftpd/vsftpd.conf)
☆ 익명 사용자 설정
• 익명 사용자의 로그인의 허용여부 ( YES )
• anonymous 로 접속 가능
• 익명 사용자의 로그인의 허용여부 변경 ( NO )
• 서비스 재시작
• anonymous 로 접속 불가능
☆ 로컬 시스템 사용자 로그인
• 로컬 시스템 사용자의 로그인의 허용 여부 (YES)
• 로컬 시스템에서 접속 가능
• 로컬 시스템 사용자의 로그인의 허용 여부 변경 (NO)
• 서비스 재시작
• 로컬 시스템에서 접속 불가능
☆ write 명령어 허용 여부
• W 권한의 부여 여부 (YES)
• W 권한에 관련된 디렉토리 만들기 가능
• W 권한의 부여 여부 (NO)
• 서비스 재시작
• W 권한에 관련된 디렉토리 만들기 불가능
☆ userlist_file의 사용자 로그인 허용 여부
• userlist_file 에 등록된 사용자의 접속 거부 (YES)
• user_list 파일 확인
• znfn_ftp 유저 접속 확인 ( 접속가능 )
• user_list 파일에 znfn_ftp 유저 추가
• znfn_ftp 유저 접속 확인 (접속 불가능)
• userlist_deny = NO 로 설정할 경우 userlist_file에 등록된 사용자들은 접속이 되나 ftpusers에 등록된 사용자는 접속이 거부된다. ftpusers 파일에 등록된 사용자들은 무조건 접속 거부.
• 서비스 재시작
• znfn_ftp 유저 접속 확인(접속가능)
• ftpusers 파일 확인
• 파일에 znfn_ftp 사용자 추가
• znfn_ftp 유저 접속 확인 (접속불가능)
☆ chroot 환경 설정
- FTP 사용자들이 자신의 디렉토리를 최상위 디렉토리로 인식하게하여 상위 디렉토리로 이동 못하게 막는 설정
- chroot_local_user 옵션은 사용자가 직접 적어줘야 한다. 적어주지 않을경우 NO로 인식된다.
- chroot_local_user=YES, chroot_list_enable=YES 일 경우 chroot_list에 입력된 사용자들은 제외
- chroot_local_user=NO, chroot_list_enable=YES 일 경우 chroot_list에 입력된 사용자들만 적용
• chroot 기본 설정
• wiem_ftp 사용자 추가 및 존재하지 않는 chroot_list 파일 생성 후 wiem_ftp 사용자 파일에 추가
• userlist_deny=NO 로 설정되어 있으므로 wiem_ftp 사용자가 ftp를 사용할 수 있게 user_list 파일에 추가
• wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용되지 않음)
• chroot 옵션의 앞 주석을 지워서 YES로 설정
• 서비스 재시작
• wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용됨)
• chroot_local_user=YES 옵션 추가
• 서비스 재시작
• chroot_list에 포함되어 있지 않은 znfn_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용됨)
• chroot_list에 포함되어있는 wiem_ftp 사용자에게 chroot 옵션이 적용되는지 확인 (적용안됨)
'정보보호관리자 과정 교육 > Linux' 카테고리의 다른 글
2010/10/08 아파치 웹서버 (0) | 2010.10.11 |
---|---|
2010/10/07 (SAMBA) (0) | 2010.10.11 |
2010/10/06_염창주 (NFS) (0) | 2010.10.07 |
2010/10/05_염창주 (다중 도메인 및 2차 네임 서버 설정) (0) | 2010.10.05 |
2010/10/04_염창주 (DNS 이론 및 기본 설정) (0) | 2010.10.04 |