코로나19의 기세는 여전히 수그러들지 않는 가운데
매일 아침 출근길에 마스크 착용 곤욕이네요-_-
안경 끼는데 김서려서 미치겠고 답답해 미치겠고..
후.. 아무튼 오늘의 학습 주제는 FTP(File Transfer Protocol)입니다
FTP는 인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜의 하나로
사용자는 FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속한 후 파일을 송·수신합니다
내부적으로는 TCP 프로토콜을 사용하고 포트는 20, 21을 사용합니다
USER, PASS, GET 등의 FTP 명령을 FTP 서버에 전송하기 위한 명령 포트(21번)과
실제 파일을 업로드하거나 다운로드 하기 위한 데이터 포트를 사용하는데
데이터 포트는 Active Mode 일 때는 20번
Passive Mode 일 때는 FTP 서버가 결정해서 클라이언트에게 보내줍니다
FTP는 스니핑(Sniffing) 도구를 사용할 경우
사용자의 패스워드, 파일 업/다운로드 시에 파일의 내용을 모두 알 수 있어
보안에 매우 취약하기 때문에 전송 과정의 내용을 암호화하는 SFTP를 사용해야합니다
FTP의 종류를 잠깐 살펴보면 다음과 같습니다
종류 | 내용 |
FTP | ID 및 Password 인증을 수행하고 TCP 프로토콜을 사용하여 사용자의 데이터를 송수신 |
tFTP | 인증 과정 없이 UDP 기반으로 데이터를 빠르게 송수신(69번 포트 이용) |
sFTP | 전송 구간에 암호화 기법을 사용하여 기밀성을 제공 |
또한 FTP의 접근을 통제할 수 있는 파일들이 있는데 다음과 같습니다
종류 | 내용 |
/etc/ftpusers | 파일에 적용된 사용자에 대한 FTP 접근 제한 |
/etc/hosts.deny | 특정 IP의 접근 제한 |
/etc/hosts.allow | 특정 IP의 접근 허용 |
FTP 서비스를 기동할 때 -l 옵션을 부여해서 실행하면 xferlog 파일을 기록합니다
앞서 FTP가 스니핑에 취약하다고 하였는데 스니핑 외에 취약점을 살펴보면 다음과 같습니다
취약점 | 내용 |
Bounce Attack |
· 익명 FTP 서버를 경유하여 호스트를 스캔 · 네트워크 포트 스캐닝을 위해서 사용 · FTP 바운스 공격을 통해 전자 메일을 보내는 공격을 Fake Mail 이라고함 |
tFTP Attack |
· 인증 절차를 요구하지 않기 때문에 설정이 잘못되어 있으면 누구나 해당 호스트에 접근하여 파일을 다운로드 가능 · FTP보다 간단함 · 불필요한 경우에는 secure mode로 운영 필요 |
Anonymous FTP Attack |
· 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용 · 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성이 가능 · root, bin, etc, pub directory 소유자의 권한 관리 필요 · /etc/passwd 파일의 anonymous ftp에 불필요 항목 제거 필요 · /etc/passwd 파일의 FTP 사용자 nologin으로 설정 필요 · /etc/inetd.conf 파일의 소유자 및 권한 변경(소유자 root, 권한 600)필요 |
FTP 서버 취약점 | wuftp format string 취약점 및 각종 버퍼 오버플로우 공격 |
Sniffing | ID 및 Password 입력 후 접속 시도 시 암호화가 이루어지지 않음 |
Brute Force Attack | 무작위 대입법을 사용 |
이것으로 FTP에 대한 학습을 마치도록 하겠습니다
그럼 이만-_-
'Security' 카테고리의 다른 글
[Security] 웹 서버 보안(Web Server Security) (0) | 2020.03.05 |
---|---|
[Security] 전자 우편(E-Mail) (0) | 2020.03.05 |
[Security] 암호화 알고리즘 (0) | 2020.03.02 |
[Security] 스트림(Stream)/블록(Block) 암호화 (0) | 2020.03.02 |
[Security] 암호화 개요 (0) | 2020.03.02 |