전자우편 구조
1. 사용자 대행자(MUA) : 메시지를 구성하고, 읽고, 보내고, 전달하는 S/W 패키지
2. 전송 대행자(MTA,MDA) : 전자우편을 SMTP을 이용하여 다른 전자우편 서버로 전달하는 프로그램(MDA는 MTA에게서 분류된 전자메일을 수신자에게 전송), 클라이언트 - 서버 프로그램
3. 접근 대행자(MAA) : 수신자가 송신자가 보낸 메시지 포함하고 있는 메시지를 검색할 때 사용, 클라이언트 - 서버 프로그램, 대표적인 MAA에 IMAP, POP3가 있음
4. 전자메일은 두 개의 UA, 두 쌍의 MTA, 한 쌍의 MAA가 필요함
SMTP(Simple Mail Transfer Protocol)
- MTA 클라이언트와 서버를 규정하는 공식적인 프로토콜
- 송신자와 송신자의 메일서버사이, 두메일 서버 사이 두 번 사용됨
- 이메일 전송을 보호하는 능력을 전혀 지원하지 않음 →안전한 전송을 위해 별도로 암호문을 보호해야 함
POP3
- 클라이언트가 메일을 PC에 다운할수 있도록 해주는 프로토콜
- TCP 110번 포트 사용
- 다운시 서버에 있던 메일 내용은 삭제
- 동일 기기에서만 이메일 다운이 가능
- POP3 장점
1. 용량 관리가 쉽다
2. 관리비용이 저렴하다.
- POP3 단점
1. 보낸 e-mail 보존 불가
2. 기기 관리 어려움
3. 다운로드 이슈 발생
IMAP4
- 서버서 메일을 읽는 프로토콜
- 메일을 다운로드 받는다고 삭제 되지 않기 때문에 어떤 상황에서도 동일 내용 수신 가능
- TCP 143번 포트 이용
- IMAP 제공 기능
1. 다운 전 헤더검사
2. 다운 전 내용검색
3. 부분 다운 가능
4. 편지함 생성, 삭제, 이름변경 가능
5. 편지함 체계적 관리 가능
- IMAP 장점
1. 동기화
2. 안정적 환경
3. 멀티 디바이스 접속 가능
- IMAP 단점
1. 용량관리 어려움
2. 비싼 요금
E-MAIL 콘텐츠 보안 기술
항목 |
PEM |
PGP |
S/MIME |
개발자 |
IETF |
Phil Zimmermann |
RSA DATA Security Inc |
특징 |
ㆍ중앙집중화된 키 인증 ㆍ인터넷 표준 ㆍ구현의 어려움 ㆍ높은 보안성 ㆍ이론 중심 ㆍ많이 사용되지는 않음 |
ㆍ분산화된 키 인증 ㆍ구현의 용이성 ㆍ일반 용도의 보안성 ㆍ현재 많이 사용 |
ㆍMIME 기반 ㆍ다양한 상용 툴킷 ㆍX.509 인증서 지원 |
PEM(Privacy Enhanced Mail)
- IETF서 인터넷 드래프트로 채택
- 기밀성, 인증, 무결성, 부인방지를 지원하는 이메일 보안 기술
- SMTP에 암호화된 정보, 전자서명, 암호화를하여 전송
- 이론 중심, 사양 방대, 구현의 복잡성 때문에 많이 사용되지 않음
PGP(Pretty Good Privacy)
- 1991년 미국 Phil Zimmermann이 개발
- 이메일, 파일보호를 위해 암호화를 사용하는 암호시스템
- 구현이 용이해 널리 사용되고 있음
- 다양한 플랫폼에서 활용 중이다.
- 인증된 알고리즘 사용으로 매우 안전한 것으로 여겨짐
- 기밀성, 메시지 인증, 사용자 인증, 송신 부인방지 지원(수신 부인방지는 지원하지 않음)
- PGP 보안 서비스
기능 |
알고리즘 |
설명 |
기밀성(암호화) |
3-DES, IDEA, CAST-128, RSA |
송신자가 생성한 일회용 세션키 + 알고리즘 암호해서 메시지 암호화, 수신자 공개키로 RSA이용해 세션키 암호화 메시지 첨부 |
인증(전자서명) |
RSA,DSS,SHA-1, MD5, RIPEMD-160 |
해시 알고리즘 이용해 MD 생성 후 송신자 개인키로 DSS, RSA 이용 암호화 후msg에 첨부 |
압축 |
ZIP |
ㆍRadix-64 변환을 이용해 ASCII 부호로 변환 ㆍ서명 후, 암호화 전 메시지를 압축 |
전자 우편 호환성 |
Radix-64 변환 |
ㆍ전자메일은 ASCII 문장으로 이루어진 블록만 사용 ㆍRadix-64변환을 통해 ASCII문장으로 변환 |
단편화, 재조립 |
|
ㆍ최대 msg 사이즈 제한으로 data 분할 및 재결합 ㆍ단편화는 모든 과정 이후 진행 |
PGP 인증서
- PGP는 OpenPGP(RFC 4880)에서 정해진 형식의 인증서와, X.509 호환용 인증서를 작성이 가능
- PGP는 CA대신 같은 키링에 있는 사용자면 누구든지 인증서 서명이 가능
- PGP는 신뢰에 대한 계층구조, 트리구조가 존재하지 않는다.
- PGP는 신뢰구축 방법으로 신뢰를 이용하는 법, 신뢰와 공개키 연산, 신뢰정보 이용 등을 사용
S/MIME(Secure Multipurpose Internet Mail Extensions)
- PEM의 구현 복잡성, PGP의 낮은 보안성과 기존 시스템과 통합이 용이하지 않다는 점 보완을 위해 개발
- S/MIME이 제공하는 보안서비스에 기밀성, 무결성, 사용자 인증, 송신 부인방지가 포함
- S/MIME 동작
1. 사용자가 메시지 보내기전에 메시지에 대해 취할 행동(암호화, 전자서명)설정
2. S/MIME 에플리케이션은 MIME 메시지를 S/MIME 메시지로 변환 → 전자서명, 암호화
3. 메시지 전송시 client가 전자 우편 서버에 메일 전송, 수신자는 S/MIME 클라이언트로 메시지 수신
- S/MIME이 제공하는 보안서비스
기능 |
일반적 알고리즘 |
기본동작 |
서명 |
RSA/ SHA-256 |
ㆍSHA-256으로 해시코드 생성 ㆍMD를 송신자 개인키를 가지고 RSA 암호화후 msg에 포함 |
암호화 |
AES-128 with CBC |
ㆍ송신자 세션키+AES-128 CBC해서 메시지 암호화 ㆍ이후 공개키 + RSA로 암호화 후 메시지에 포함 |
압축 |
제한 x |
ㆍ메시지를 압축하여 저장or 전송 |
호환성 |
Radix-64변환 |
ㆍBase64(Raix-64) 변환으로 ASCII 스트링 만든다. |
- RFC 2634에서 강화된 S/MIME 보안 서비스
1. 서명된 수령증 - 서명된 수령증을 받으면 msg 원 소유자는 자신이 보낸 msg가 배달이 되었음을 확인할 수 있고, 제 3자에게 증명이 가능함
2. 보안레이블 - S/MIME 캡슐화로 보호되는 콘텐츠의 중요성에 관련된 보안 정보의 집합으로 접근제어에 이용
3. 안전한 메일링 목록
4. 서명인증서
- S/MIME의 기능
1. 동봉된 데이터 - 동봉된 데이터 콘텐츠 유형은 메시지 비밀성 제공을 위해 사용
2. 서명된 데이터 - 서명된 데이터는 S/MIME 기능을 갖춘 수신자만 볼 수 있다.
3. 명문-서명 데이터 - S/MIME 기능이 없는 수신자가 서명 인증은 불가능해도 메시지 내용은 확인이 가능함
4. 서명되고 동봉된 데이터
MIME(Multipurpose Internet Mail Extensions)
- 전자우편을 통하여 ASCII가 아닌 데이터가 송신될 수 있도록 혀용하는 부가적 프로토콜
- ASCII가 아닌 데이터를 NVT ASCII 데이터로 변환해 송신 클라이언트 MTA로 전달
- MIME의 헤더
1. MIME 버전 - 사용된 MIME의 버전 규정, 최신버전은 1.1이다.
2. 내용유형 - 데이터의 종류를 설명해줌, 7가지 주요내용 유형, 15가지 서브 유형으로 존재
3. 내용 전달 인코딩 - MIME에서 지원하는 메시지 형식 정보 알려줌
4. 내용 ID - 여러개의 메시지 있는 상황서 전체 메시지를 유일하게 식별해줌
5. 내용 기술 - body부분이 화상인지, 영상인지. 소리인지 판단
이메일 헤더정보
헤더 |
내용 |
Recevied |
이메일이 배달되는 경로 |
From |
보내는 사람 주소 |
To |
받는 사람 주소 |
Reply-To |
답장을 받을 주소 |
Date |
이메일을 보낸 날짜 |
Subject |
이메일 제목 |
Message-ID |
이메일 지정 식별번호 |
X-mailer |
보내는 사람이 사용한 메일 프로그램 |
Content - Transfer - Encoding |
메일 내용을 인코딩 하는 방법 |
content type |
이메일의 MIME 형태 및 문자 설정 |
※ 헤더정보 해석
1. Recevied [from 발송 호스트] [by 수신호스트] [with 메일 프로토콜] [id 문자열]
[for 수신자 메일 주소] ; [날짜 및 시각]
2. Recevied form A by B for C = A 메일서버를 통해 B 메일서버에 전송된 전자우편으로 C에게 전달되었다.
스팸메일 보안 대응기술
분류 |
대응 방안 |
상세 내용 |
비고 |
메일 서버 수신 차단 |
콘텐츠 필터링 |
메일의 헤더정보, 제목, 메시지 내용의 특정 단어 및 문장 패턴 검색으로 차단 |
가장 많이 사용 |
송신자 필터링 |
송신자의 IP, 메일주소, URL을 포함한 블랙리스트 관리하여 차단 |
지속적 관리 필요 | |
네트워크 레벨 필터링 |
ㆍ패킷 필터링 ㆍDNS 변경 |
| |
발송량 기준 차단 |
기준시간동안 특정 용량 이상 메일 수신 시 이후 메일 차단 |
최대 수신 용량 관리 | |
시간대별 차단 |
송신자의 정보를 가지고 시간대에 필요한 메일 외에 차단 |
송신자 정보 기준 | |
메일 서버 보안 |
릴레이 스팸 방지 |
Access DB가지고 송신자별 릴레이 허용 여부 결정 |
샌드 메일 8.9 이상 |
안티스팸 솔루션 도입 |
별도의 스팸 차단 전용 보안 솔루션 도입해 운영 |
대응 효율성 강화 | |
메일 클라이언트 보안 |
콘텐츠 필터링 |
특정 단어가 포함된 필터링 규칙 적용 |
|
송신자 필터링 |
수신 거부 등 별도의 블랙리스트 관리를 통해 향후 메일 수신 시 차단 |
|
메일서버 등록제(SPF)
- 메일 헤더에 표시된 발송정보(IP)가 실제로 메일을 발송한 서버(IP)와 일치하는지 비교함으로서 발송자 정보의 위변조 여부를 파악할 수 있도록 하는 기술
- 스팸 메일은 수신자에게 전달되기 전 각 포털 업체 메일서버서 자동 차단됨
- 자원소모가 낮고 과오 차단 가능성이 적다.
스팸 필터 솔루션
- 메일 서버 앞단에 위치하여 프락시 메일 서버로 동작하며, SMTP 프로토콜을 이용한 DoS 공격, 폭탄메일, 스팸 메일 차단
- 본문검색 기능을 통해 내부 정보 유출 차단도 가능
- 스팸 필터 솔루션의 기능
1. 메일 헤더 필터링
2. 제목 필터링
3. 본문 필터링
4. 첨부파일 필터링
스팸메일 방지 보안 도구
1. Procmail
- sendmail.cf 포함시키거나 사용자 디렉터리에 forward 파일을 위치시켜 실행시키는 Plug-In 형식으로 쓰임
- 받은 메일에서 단일 기준 또는 다중 기준으로 메일 필터링이 가능
2. Sanitizer
- e-mail을 이용한 모든 공격에 대해 효과적인 대응 가능하게 해주는 procmail ruleset
- 옵션을 통해 확장자 이용 필터링, MS Office에 매크로 검사기능, 감염된 msg 보관 설정 등을 제공
3. Inflex
- 메일서버서 외부로 나가는 e-mail에 대한 Inbound, Outbound 정책을 세워 메일 필터링 가능
- 첨부파일만 필터링이 가능
4. Spam Assassin
- White List, Black List, RBL(실시간 블랙 리스트)등의 다양한 메일 분류로 메일 필터링 가능
- 텍스트 이용한 분석
- 헤더, 본문내용 검사
- 베이시언 필터링
- 주용 스팸 근원지 / 비근원지 자동 / 수동 생성
sendmail
- 메일 서버간 메일을 주고받는 역할
- SMTP 프로토콜을 통해 메일서비스가 가능
- sendmail 관련 주요파일 / 디렉터리
파일(디렉터리) |
설명 |
/usr/bin/sendmail |
sendmail 주 데몬 파일 |
/usr/bin/makemap |
sendmail 맵 생성 프로파일 |
/var/bin/mqueque |
메일을 일시 저장하는 디렉터리 |
/var/spool/mail |
개별 메일 사용자에게 도착한 메일을 보관한 디렉터리 |
/etc/mail/access |
Relay 제한 및 설정 파일 |
/etc/mail/sendmail.cf |
sendmail 설정 파일 |
- /etc/mail/access 파일 설정 제어 옵션
제어옵션 |
설명 |
RELAY |
관련 메일의 수신 또는 발신을 허용함 |
REJECT |
관련 메일의 수신 또는 발신을 거부함 |
DISCARD |
메일을 받은 후 폐기, 폐기통보는 하지 않음 |
OK |
조건없이 허용 |
501"메시지“ |
메일주소가 일부분 이상 일치 시 “메시지”로 거부 |
502“메시지” |
발신 메일주소에 host 없을 경우 메일 거부 |
- sendmail 공격
1. sendmail이 배달되지 않은 msg를 /var/tmp/dead.letter 파일 끝에 저장한다는 사실과 링크를 이용하여 루트 권한을 얻을 수 있다는 점을 이용한 공격
2. STMP 명령어 중 EXPN, VRFY는 사용자의 정보를 외부로 유출 가능
3. 서버와 연결 후 사용자에게 메일을 반복해서 전송, msg 안에 15000개의 "To:"가 있어 sendmail을 정지시키되고 서버는 메일 송ㆍ수신을 거부함
메일 서비스 공격
1. 메일 클라이언트 최신 취약점을 이용한 공격
- Active contents 공격
1. 메일 열람시 HTML 기능이 있는 이메일 클라이언트, 웹 브라우저 이용자를 대상으로 하는 공격
2. 스크립트 기능을 이용해 피해자의 컴퓨터서 정보를 유출, 악성 프로그램 실행시키는 공격
3. 스크립트 기능 제거, 스트립트 태그를 다른 이름으로 변경하여 스크립트 해석을 못하게 하여 방어
- 트로이 목마 공격
1. 일반 사용자가 트로이안 프로그램을 실행시켜 시스템 접근할 수 있도록 백도어를 만들게 하거나 시스템에 피해를 주게하는 기법
2. 메일 서버 취약점을 이용한 공격
- 버퍼 오버플로우 공격
1. 공격자가 조작된 이메일을 보내 피해자의 컴퓨터에서 임의의 명령 실행, 악성코드 실행
- 서비스 거부공격(DoS)
'보안기사 > 필기' 카테고리의 다른 글
기사자격증(알기사, 웹 보안-OWASP) (0) | 2019.02.22 |
---|---|
기사 자격증(알기사, 웹 보안 - HTTP) (0) | 2019.02.22 |
기사 자격증(알기사, FTP 보안)FTP (0) | 2019.02.17 |
기사 자격증(알기사, 최신 N/W 보안 동향) (0) | 2019.02.16 |
기사 자격증(알기사, VPN) (0) | 2019.02.15 |