본문 바로가기

정보보안기사

Section 47 46강. Section 31. FTP 보안_(4) NFS와 심바

- FTP (File Transfer Protocol)

 > FTP는 호스트 간에 두 개의 연결을 설정

 ● TCP 20번 : 데이터 전송 시 사용

 ● TCP 21번 : 명령과 응답 등의 제어 포트로 사용

 

- FTP 능동(Active) Mode(일반 연결)과  수동(Passive) Mode (수동 연결) 차이

 ● 능동은 Port 수동은 PASV 사용

 ● 능동은 Client의 제어포트가 변경되며 수동은 Server의 데이터 포트가 변경됨

 ● 능동은 전송 시 Server → Client 수동은 전송 시 Client → Server 방향


- FTP 보안

 > FTP는 비밀번호가 평문으로 되어있어 공격자가 가로채어 사용 될 수 있어 주의 필요

 > 데이터 전송 연결도 평문으로 데이터 전송

 > 보안을 위해서 FTPS(SSL-FTP)로 SSL/TLS 지원 또는 SFTP로 SSH 지원한 프로토콜 사용


- 익명FTP 

 > 기술지원이나 고객지원, 파일 배포등을 하고자하는 단체에서 많이 사용됨

 > 익명FTP 접근 시 계정은 필요하지 않으며 대신 anonymous로 사용하며 비밀번호는 이메일 주소 사용

 ● 이메일 주소는 실제 비밀번호가 아닌 누가 접속하고 있는 지 서버로그에 기록하는 데 사용


- TFTP (Trivial File Transfer Protocol)

 > FTP의 고급 기능 일부 생략으로 간단한 FTP

 > 읽기전용 메모리나 디스크 없는 워크스테이션에 설치할 때 주로 사용

 > TFTP는 UDP 69번 사용

 > TFTP는 UDP를 사용하므로 흐름제어와 오류 제어 기능이 없음

 > TFTP가 필요한 경우 Secure mode로 운영필요

 ● secure mode는 chroot 기능을 이용하여 지정한 디렉터리를 최상위 디렉터리로 지정하여 상위 디렉터리 접근제한


- ftp 접속 시 확인 설정

 > /etc/passwd, /etc/shadow에 사용자 계정 있는 지 체크

 > /etc/ftpusers에 사용자가 있다면 거부

 ● /etc/ftpusers란 접속을 제한할 계정 정보를 담고 있는 설정 파일

 > /etc/shell에 등록되지 않은 셸을 사용하는 유저는 접근 거부

 ● RequirerValisdShell off


- vsftpd(Very Secure FTP Daemon)

 > 리눅스 서버에서 가장 흔히 사용하는 FTP (File Transfer Protocol) 서버 프로그램

 > vsftpd 서비스 관련 파일

파일명 설명
/etc/vsftpd vsftpd의 메인 디렉토리
/etc/vsftpd/vsftpd.conf vsftpd 설정파일
/etc/vsftpd/ftpusers ftp 접속제한 리스트로 등록 된 사용자는 ftp 접속 불가
/etc/rc.d/init.d/vsftpd vsftpd 시작/종료/재시작 스크립트
/etc/xinetd.d/vsftpd xinetd환경에서 서비스하기 위한 vsftpd의 xinetd 설정 파일
/var/log/xferlog FTP 업로드 및 다운로드 기록 파일

- Bounce Attack

 > 제어채널과 데이터 채널을 다르게 사용하고 데이터 채널을 생성할 때 목적지를 확인 하지 않는 FTP 설계의 구조적 취약점을 이용하는 공격

 > 해당 공격으로 네트워크 스캔 및 FTP서버로 하여금 공격자가 원하는 곳으로 데이터를 전송 시킴


- FTP와 TFTP 차이

 > 전송 : TFTP는 단순성이 중요하고 다양한 기능을 지원하는 것이 중요 하지 않을 때 사용

 > 한정된 개수의 명령 : TFTP는 파일 보내고 받는 기능만 지원

 > 한정된 데이터 표현 방식

 > 인증의 부족 : TFTP는 인증 기능 지원 안함


- NFS(Network File System)

 > 데이터의 보안과 무결성을 보장하면서 인증 된 네트워크 사용자가 공유 된 네트워크 파일을 자신의 로컬에 저장되어 있는 것처럼 사용 할 수 있음


- 삼바(Samba)

 > SMB(Server Message Block) 프로토콜을 사용하며 유닉스 계열 시스템과 윈도우 시스템 간 파일 및 프린터 자원을 공유 할 수 있는 기능 제공


- 전자우편 구조

 > 메일 전송 순서

 발신자A 수신자B

 1) A는 메일 작성 시 MTA(SMTP) 이용해 메일이 메일서버로 이동

 2) 메일은 DNS 질의 응답 후 인터넷을 통해 나감

 3) B측 메일서버로 이동하여 POP3/IMAP4(MAA/MRA) 통해 B에게 수신

* MUA (Mail User Agent), MTA (Mail Transfer Agent), MAA (Mail Access Agent), MRA (Mail Retrieval),

MDA(Mail Delivery Agent)


- SMTP (Simple Mail Transfer Protocol)

 > TCP Port 25

 > SMTP 명령어 규정

명령코드 명령 설명
HELO 인사(Hello) SMTP 송신자가 SMTP 세션을 초기화하기 위해 SMTP 수신자에게 보내는 명령어
EHLO 확장된 Hello  
MAIL 메일 전송 시작  
RCPT 받는사람  
Data 메일 메시지의 데이터  
Rset 리셋(Reset)  
Vrfy 확인(Verify)  
Expn 확장(Expand)  
Help 도움말 도움말 정보 요청
Noop 동작 안함 SMTP 수신자의 통신 상태 확인
Quit 종료 SMTP 세션 종료

 


- 메시지 액세스 에이전트(POP/IMAP)

 > POP3

 ● 메일서버에서 전자우편 내려받을 때 사용 됨

 ● TCP 110번 사용

 

 > IMAP4

 ● TCP 143번 사용

 ● 추가적인 기능 사용

전자우편 헤더 검사
특정 문자열로 내용 검색
부분적으로 내려 받을 수 있음
편지함을 생성, 삭제, 이름 변경 가능
폴더 내에 편지함 생성 가능

- 이메일 보안

항목 PEM PGP S/MIME
특징 중앙 집중화 된 키 관리
구현 어려움
높은 보안성
많이 사용되지 않음
분산화 된 키 인징
구현 용이성
현재 많이 사용됨
MIME기반
X.509 인증서 지원

 

- PGP

 > 전자서명을 이용하여 인증 제공

 > 대칭 블록암호를 이용해서 기밀성을 제공

 > ZIP 알고리즘을 이용해서 압축 제공

 > 전자우편 호환성 제공

 > 길이가 긴 전자우편 데이터를 전송할 수 있도록 단편화 조립 제공