2020. 3. 27. 09:08ㆍ정보보안기사/어플리케이션 보안
FTP란?
파일 전송 프로토콜(File Transfer Protocol)은 응용 계층(Application Layer)에 속하며, TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이에 파일을 전송하기 위한 프로토콜이다.
특징
- 명령 채널과 데이터 전송 채널이 독립적으로 동작한다.
- 명령 채널에서 파일전송을 요구하면 데이터 채널을 통해 데이터를 보내는 방식이다.
로그인 과정
FTP의 종류
종류 |
특징 |
FTP |
- ID, Password를 인증하고 TCP프로토콜을 사용하여 데이터를 송수신 |
tFTP |
- 인증을 하지않고 UD기반으로 데이터를 빠르게 송수신, 69번 포트 사용 |
sFTP |
- 전송구간에 암호화 기법을 사용하여 기밀성 제공 |
FTP 접근 통제 파일
파일 명 |
내용 |
/etc/ftpusers |
- 파일에 적힌 사용자들에 대한 접근 제한 |
/etc/hosts.deny |
- 특정 IP 접근 제한 |
/etc/hosts.allow |
- 특정 IP 접근 허용 |
FTP Mode
전송 방식 |
내용 |
Active Mode |
- FTP Client에서 FTP Server 21번 포트로 접속 - FTP Client에서 FTP Server 20번 포트로 데이터 전송 |
Passive Mode |
- FTP Client에서 FTP Server 21번 포트로 접속 - FTP Server에서 FTP Clinet로 데이터를 송수신하기 위해 1024 ~ 65535 범위의 Random 포트를 선택 - FTP Client에서 데이터 송수신을 위해서 Random 한 포트 사용 |
FTP 서비스 로그 기록
FTP 서비스 가동시에 -l 옵션을 부여해서 실행하면 xferlog 파일에 로그를 기록한다.
1. 전송 날짜와 시간
2. 전송에 걸린 소요시간 (초)
3. 원격 호스트 주소
4. 전송된 파일의 크기
5. 전송된 파일의 전체 경로
6. 전송 파일 유형
a : ascii
b : binary
7. 액션 플래그, 압축 묶음에 대한 동작 수행을 표시
_ : 아무동작 없음
C : 압축
U : 압축하지 않음
T : tar로 묶음
8. 전송 방향
i : 업로드
o : 다운로드
d : 삭제
9. 엑세스 모드
r : passwd 파일에 속해 있는 사용자로 접속한 형태
a : 익명사용자(anonymous)
g : 비밀번호가 있는 게스트 계정
10. 사용자명
11. 서비스명 (ftp 서비스명)
12. 사용자의 인증방식
사용자의 인증 방법을 나타내는 것으로 0인 경우 없음을 나타내고 1인경우 RFC 931authentication을 나타냄
13. 인증 사용자 ID
인증 메소드가 되돌려주는 사용자 ID, *는 인증된 사용자 ID를 사용할 수 없는 경우를 의미
14. 완료 상태
c : 전송 완료(complete)
i : 전송 실패(incomplete)
FTP 보안 취약점
취약점 |
내용 |
Bounce Attack |
Active Mode에서 FTP 서버의 파일을 요청하면 클라이언트에서 파일을 받을 IPdhk 포트를 지정해 전달해준다. 이때 IP와 포트를 요청한 클라이언트가 아닌 임의의 주소로 지정할 수 잇는데 이러한 FTP 설계의 취약점을 이용하는 방식이다. - 네트워크 포트 스캐닝을 위하여 사용 |
tFTP Attack |
- 인증을 요구하지 않기 떄문에 설정이 잘못되어 있으면 누구나 접근하여 파일을 다운받을 수 있다. |
Anonymous FTP Attack |
- 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용 - 익명의 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성이 가능함 |
FTP 서버 취약점 |
- wuftp 포맷 스트링 취약점 및 각종 버퍼 오버플로 공격 |
스니핑 |
- ID, Password 인증 시 암호화가 이루어지지 않아 네트워크 스니핑에 취약 |
Brute Force Attack |
- 무작위 대입법을 사용 |
'정보보안기사 > 어플리케이션 보안' 카테고리의 다른 글
E-Mail 전송 방법 및 보안 기법 (0) | 2020.03.31 |
---|