반응형

1. FTP(File Transfer Protocol)

인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜의 하나로, FTP 명령을 FTP 서버에 전송하기 위한 명령포트(21번 고정)와 실제 파일을 업로드 하거나 다운로드 하기 위한 데이터 포트를 사용한다.

 

1) FTP Active Mode와 Passive Mode

- 명령 포트는 고정되어 있지만, 데이터 포트는 전송 모드에 따라 변함

- Active Mode: 20번, Passive Mode: FTP 서버가 결정

- FTP 클라이언트의 데이터 포트는 클라이언트가 결정

출처: https://slideplayer.com/slide/5933080/

전송 방식 내용
Active Mode - FTP Client에서 FTP Server 21번 포트로 접속
- FTP Client는 FTP Server 20번 포트로 데이터 전송
Passive Mode - FTP Client에서 FTP Server 21번 포트로 접속
- FTP Server가 FTP Client로 데이터 송수신을 위해 1024~65535 범위의 Random 포트 선택
- FTP Client에서 데이터 송수신을 위해서 Random 포트 사용

 

Cf) FTP 서비스 로그 기록

- FTP 서비스의 로그파일에는 xferlog 파일이 있으며, FTP 서비스 기동 시 '-l' 옵션을 부여하면 xferlog 파일을 기록

출처: https://itwiki.kr/w/%EB%A6%AC%EB%88%85%EC%8A%A4_xferlog

항목 설명
Thu May 17 11:54:41 2018 전송 날짜와 시간
6 전송 시간 (전송에 걸린 소요 시간, 초 단위)
file.test.kr 원격 호스트 주소
1234567 전송된 파일의 크기 (바이트 단위)
/home/user/test1.mp3 전송 된 파일의 전체 경로
b 전송 파일 유형으로, a=ascii(문자, 텍스트), b=binary(파일)
_ 액션 플래그 (어떤 동ㅈㄱ을 수행했는지 나타내는 플래그)
_ : 행위가 일어나지 않음, C : 파일이 압축된 경우, U : 파일이 압축되지 않은 경우, T : tar로 묶여있음
i 전송 방향으로, i=inbound, o=outbound, d=delete
r 액세스 모드로, 사용자가 접근한 방식이나 형태를 나타냄
r=시스템 사용자 계정, a=익명사용자, g=비밀번호가 있는 게스트 계정
itwiki 로그인한 사용자명
ftp 호출된 서비스를 나타냄
0 사용자의 인증 방법으로, 0은 없음을 나타내고 1은 RFC 931
* 인증 사용자 ID로, 인증 메소드가 되돌려주는 사용자 ID를 뜻함
*은 인증된 사용자 ID를 사용할 수 없는 경우를 나타냄
c 전송의 완료 상태를 나타내며, c=전송 완료, =전송 실패

 

2) FTP 보안 취약점

취약점 내용
Bounce Attack - 익명 FTP 서버를 이용하여 공격 대상의 포트를 스캐닝하는 공격 기법
- FTP 서버의 전송 목적지 주소를 임의로 지정하여, 임의의 목적지로 메시지나 자료를 전송
- FTP Bounce Attack을 통해 전자메일을 보내는 공격을 Fake Mail이라고 함
tFTP Attack - 인증 절차를 요구하지 않기 때문에 접근 제어가 되어있지 않으면 누구나 임의로 접근, 다운로드 가능
Anonymous FTP Attack - 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용
- 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성 가능
FTP 서버 취약점 - wuftp 포맷 스트링 취약점 및 각종 Buffer Overflow Attack
Sniffing - ID 및 Password 입력 후 접속 시도 시 암호화가 이뤄지지 않음
Brute Force Attack - 무작위 대입법 사용

2. E-mail 보안

E-mail 전송 방법에는 SMTP, POP3, IMAP, IMAP4 등이 있으며, E-mail 보안 기법으로는 PGP, PEM, S/MIME이 있다.

1) PGP(Pretty Good Privacy)

- MIME(Multipurpose Internet Mail Extension) 객체에 암호화와 전자서명 기능을 추가한 암호화 프로토콜

* MIME: 전자우편을 위한 인터넷 표준 포맷 (출처:위키백과)

- 네트워크를 통해 주고받는 메시지에 대해 송수신자에게 보안 서비스를 제공하고 평문 메시지를 암호화

- 메시지 암호화, 서명, 압축, 분할, 전자 우편 호환성의 5가지 기능을 제공

 

Cf) PGP 특징

PGP 서비스 상세 내용
전자 서명 DSS/SHA 또는 RSA/SHA로 전자 서명이 가능
메시지 암호화 CAST-128, IDEA, 3DES로 메시지 암호화
1회용 세션키 생성 Diffie-Hellman 혹은 RSA로 키 분배
이메일 호환 RADIX-64로 바이너리를 ACS Code로 변환
세그먼테이션 메시지 최대 사이즈를 제한

2) PEM(Privacy Enhanced Mail)

- 인터넷에서 사용되는 이메일 보안 시스템의 하나로, 중앙집중화된 키 인증 방식으로 구현이 어렵고 높은 보안성을 제공 (군사, 은행 사용)

 

3) S/MIME(Secure MIME)

- 표준 보안 메일 규약으로, 송신자와 수신자를 인증, 메시지 무결성 증명, 첨부파일 보안

- 메시지 내용의 Privacy를 보증하는 표준 보안 메일 프로토콜로서 메일 전체를 암호화 (RSA 암호 사용)

- CA(인증기관)로부터 자신의 공개키를 보증하는 인증서를 받아야 함


3. Spam Mail 차단

스팸메일 차단 시스템은 광고성 메일 및 음란 메일과 같은 유해한 메일을 발송하는 IP를 차단하는 RBL과 SPF 방식이 있다.

 

1) RBL(Real time Blocking List)

- 이메일 수신 시 간편하게 스팸 여부를 확인하여 차단하는 것

- KISA의 RBL 서버에 특정 IP를 등록하고 차단

RBL 흐름도 (출처: KISA-RBL)

 

2) SPF(Sender Policy Framework)

SPF 흐름도 (출처: KISA-불법스팸대응센터)

 

3) SpamAssassin

- 점수를 이용하여 스팸 여부를 판단하는 방법으로 90% 이상의 높은 차단율을 보이며, Perl로 개발됨

- Rule 기반 하에 Header와 Body를 분석하여 실시간 차단 리스트(RBL)를 참고하여 각각의 Rule에 매칭될 경우 점수를 매기고 총 점수가 기준점을 초과하는지 여부에 따라 스팸 여부 결정


4. 웹 로그 분석

웹 서버를 관리하기 위해 시스템의 로그 정보를 파악하여 웹 서버의 에러로그, 접속로그, 에이전트로그, 참조로그의 정보를 확인할 수 있다.

웹 서버의 로그는 access.log에 기록되며, 에러로그는 ServerRoot/logs/error_log에 기록되며, access.log 파일을 분석하면 웹 서버를 대상으로 언제 어떤 IP에서 공격을 시도했는지 알 수 있다.

 

Cf) HTTP 상태 코드

출처: 위키백과
출처: https://kimhyun2017.tistory.com/206


5. 웹 방화벽(Web Firewall)

홈페이지 자체 및 웹 프로토콜을 기반으로 하는 모든 서비스와 애플리케이션 데이터 기반 정보 시스템에 보안 서비스를 제공한다.

웹 애플리케이션 취약점을 이용한 공격에 대응하며, 내부의 중요 데이터 유출을 방지한다.

1) 웹 방화벽 종류

종류 내용
네트워크 기반 방화벽 - 방화벽이나 IDS 시스템과 유사하게 네트워크 구간에 인라인 Transparent 및 Proxy 방식으로 구성
- 웹 트래픽에 대한 분석 및 차단 기능
호스트 기반 방화벽 - 웹 서버 에이전트의 해킹 시도 및 이상 징후를 탐지하고 보안 정책을 실행
Proxy Method - 웹 서버 앞 단에서 클라이언트 요청을 받아 필터링 처리 후 웹 서버와 재접속하는 방식
Filtering Module Method - 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식
- 보안 모듈에 필터링 처리된 후 정상 트래픽만 클라이언트에 응답 (웹 서버는 대기 상태)

2) 웹 방화벽 주요 기능

주요 기능 내용
웹 공격 방지 - 논리적 공격, Client Side 공격, 명령어 실행, 정보 유출 등의 공격에 보안 및 차단
Positive Security Model 지원 - 강제 접근 및 알려지지 않은 공격 차단
SSL 지원 - SSL 트래픽에 복호화 지원
애플리케이션 구조 변화에 대응 - 서비스 지속성 보장

Cf) Watering Hole 공격

- 공격 대상이 방문할 가능성이 있는 웹사이트를 감염시킨 뒤 피해자가 접속하면 감염시키는 공격

- Wateing Hole 공격을 통해 보안이 강력한 공격 대상 기업의 멤버를 감염시키고, 매개체로 이용할 수 있음


6. DNS(Domain Name Service) 보안

DNS는 URL 주소에 대한 IP 주소를 알려주는 서비스를 말한다.

 

1) dnsspoof

- DNS Spoofing을 할 수 있는 공격도구로, 지정된 DNS 파일을 참조해서 DNS를 수행하게 함

- 특히 53번 포트로 전송되는 UDP 데이터를 모니터링 하고 있다가 지정된 URL에 대해 요청이 오면 특정 IP로 응답

 

2) DNSSEC

- DNS 캐시 포이즈닝과 DNS의 보안 취약점을 보완하기 위해 등장한 기술

- DNS 응답 정보에 전자서명 값을 첨부하여 보내고 수신측이 해당 서명 값을 검증하므로 DNS 위변조 방지

출처: KISA

3) DNS Cache Poisoning Server Attack

- DNS Cache에 잘못된 정보를 저장하여 조작된 정보를 반환하고, 사용자가 의도하지 않은 사이트로 접속하도록 하는 공격 기법

- 공격자는 DNS Name Server를 가장하여 DNS Server에게 요청을 보낸 뒤, DNS Server가 쿼리 시 응답을 위조하여 DNS Cache를 감염

출처: https://www.cloudflare.com/ko-kr/

 

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형

+ Recent posts