본문 바로가기

정보보안기사

이메일 보안

이메일 관련 프로토콜

전자우편 구조

  • MUA : 사용자 대행자 Message User Agent
  • MTA : 메시지 전송하는 메시지 전송 대행자 Message Transfer Agent
  • MRA : 메시지를 검색하고자 할 때 Message Retrieval Agent
  • MAA : 메시지 접근 대행자 Message Access Agent
  • MDA : MTA에서 받은 메일을 사용자에게 전달 Message Delivery Agent

SMTP(Simple Mail Transfer Protocol)

인터넷에서 MTA 클라이언트와 서버를 규정하는 프로토콜

총 두 번 사용 송신자-메일서버, 메일서버-메일서버

25번 포트 사용

 

SMTP 서버 소프트웨어

유닉스 - Sendmail, MS - Microsoft Exchange, 노벨 - GroupWise

 

이메일을 암호화 하지 않아 별도의 메시지 본문 암호화를 해야 함

DNS를 통해 사용자의 메일 서버를 찾은 후 그 서버로 이메일을 직접 보냄

 

대표적인 명령어

  • HELO : 인사
  • EHLO : 확장된 인사 (ESMTP의 HELO)
  • MAIL : 메일 전송 시작 (initiate mail transaction)
  • RCPT : 받는 사람 (recipient)
  • DATA : 메일 메시지의 데이터 (mail message data)
  • RSET : 리셋 (reset)
  • VRFY : 확인 (verify)
  • EXPN : 확장 (expand)
  • HELP : 도움말
  • NOOP : 무동작 (No Operation)
  • QUIT : 종료

메시지 액세스 에이전트(POP3, IMAP)

POP3(Post Office Protocol 버전3)

  • 사용자가 메일 서버에 있는 편지함에서 전자우편을 내려 받을 필요가 있을 때 클라이언트에서 시작
  • 클라이언트는 TCP 110번 포트로 서버에 연결
  • 대표적인 POP3 클라이언트 : MS 아웃룩, 유도라 이메일

IMAP4(Internet Mail Access Protocol 버전4)

  • TCP 143번 포트(IMAP3은 220번)에서 IMAP4 클라이언트의 연결 요청을 대기
  • 메일을 내려 받기 전 헤더를 검사, 특정 문자열로 내용을 검색
  • 메일을 부분적으로 내려 받음, 편지함을 생성/삭제/이름변경, 폴더 내 편지함들을 체계적으로 생성

이메일 콘텐츠 보안을 위한 기술

PEM(Privacy Enhanced Mail)

기밀성, 인증, 무결성, 부인방지 지원하는 이메일 보안 기술

사양이 방대하며 구현이 복잡하여 많이 사용되지 않음

IETF에서 표준화하고 개발, 중앙 집중적 키 관리를 수행하는 이메일 보안 시스템

PGP(Pretty Good Privacy)

전자서명을 이용하여 인증 제공, 대칭 블록암호를 이용해서 기밀성 제공, zip 알고리즘으로 압축 제공, 전자우편 호환성 제공, 긴 전자우편 데이터 전송을 위한 단편화 조립 제공

서명한 뒤 압축

기능 알고리즘 설명
기밀성 3DES, IDEA, CAST, RSA 송신자가 생성한 일회용 세션키로 CAST-128, IDEA, 3DES로 암호화
수신자의 공개키로 RSA를 이용해 세션키 암호화하고 메시지에 첨부
인증 RSA, DSS, SHA-1, MD5, RIPEMD-160 해시 알고리즘을 이용해 메시지 다이제스트 생성
송신자의 개인키로 DSS나 RSA를 이용 암호화하고 메시지에 첨부
압축 ZIP zip으로 메시지 압축
전자우편 호환성 Radix 64 변환 radix-64 변환을 이용해 아스키 부호로 변환
분할 및 재결합   최대 메시지 사이즈 제한으로 인한 데이터의 분할 및 재결합

S/MIME(Secure Multipurpose Internet Mail Extensions)

MIME

NVT ASCII데이터로 변환하고 이를 클라이언트 MTA에 배달

수신자측의 메시지는 원래 데이터로 역변환됨

헤더 : MIME 버전, 내용 유형, 내용 전달 인코딩, 내용 ID, 내용 기술

 

S/MIME

기밀성, 무결성, 사용자 인증, 송신 사실 부인 방지 서비스 제공

PEM 구현의 복잡성, PGP의 낮은 보안성, 기존 시스템과 통합이 용이하지 않은 것을 보완하기 위해 RSADSI기반으로 개발

기능 일반적 알고리즘 기본 동작
전자서명 RSA/SHA-256 SHA-256으로 메시지 해시코드 생성
메시지 다시제스트를 송신자 개인키로 RSA 암호화하고 메시지에 포함시킴
메시지 암호화 AES-128 with CBC 송신자가 생성한 일회용 세션키로 CBC모드의 AES-128로 메시지 암호화
세션키를 수신자의 공개키를 이용하여 RSA암호화하고 메시지에 포함시킴
압축 제한 없음 메시지를 압축하여 저장하거나 전송
이메일 호환성 Radix-64 변환 이메일 응용이 투명하도록 암호화된 메시지를 base64(radix-64)로 변환하여 아스키 스트링으로 만듦
  1. 사용자는 전자우편을 보내기 전에 메시지에 대한 전자서명을 할 것인지 암호화할 것인지 선택
  2. MIME 형태 메시지를 S/MIME 메시지로 변환, 전자서명의 메시지의 암호화가 이루어짐
  3. 수신자의 메일 서버에 전송, 수신자는 S/MIME 클라이언트를 이용하여 메시지를 받음

S/MIME 기능

  • 동봉된 데이터 : 메시지 비밀성 제공
  • 서명된 데이터 : 디지털 서명 생성, 수신자만 볼 수 있음
  • 명문-서명 데이터 : 서명만 base64로 부호화, 내용은 부호화하지 않음
  • 서명되고 동봉된 데이터 : 서명만 되거나 암호화된 개체는 중첩될 수 있음. 명문-서명 데이터는 암호화될 수 있음

S/MIME 인증서

  • X.509 버전3 규정을 준수하여 공개키 인증서 사용
  • 인증서 유지/관리는 S/MIME 사용하는 당사자가 함, 인증서는 인증기관에서 서명
  • 베리사인 인증서 : S/MIME이 다양한 응용 프로그램과 호환되도록 하는 CA 서비스를 제공
📍이메일 헤더 정보
received, from, to, reply-to, date, subject(이메일 제목), message-ID, MIME-version, x-mailer(송신자의 메일 프로그램), content-transfer-encoding(메일 내용 인코딩 방법), content-type(이메일의 MIME 형태 및 문자 설정)

스팸 메일 보안 대응 기술

스팸 메일의 기술적 대응 방안

1단계 : 메일 서버 수신 차단

  • 콘텐츠 필터링 : 메일의 헤더 정보, 제목, 메시지 내용의 특정 단어 및 문장 패턴을 검색하여 차단
  • 송신자 필터링 : 송신자 IP, 메일주소, URL 등의 정보를 포함한 스팸 발신처 블랙리스트 관리하여 차단
  • 네트워크 레벨 필터링 : 패킷 필터링, DNS 변경
  • 발송량 기준 차단 : 기준 시간 동안에 특정 용량 이상의 메일 수신 시 이후 수신 메일 차단
  • 시간대별 차단 : 업무 시간에는 업무용 송신 메일 외 외부 메일 차단

2단계 : 메일 서버 보안

  • 릴레이 스팸 방지 : 액세스 DB를 통한 송신자별 릴레이 허용 여부 설정, 허용되는 릴레이 도메인 리스트 설정
  • Anti-SPAM 솔루션 도입 : 별도의 스팸 차단 전용 보안 솔루션 도입하여 운영(메일 서버 앞단)

3단계 : 메일 클라이언트 보안

  • 콘텐츠 필터링 : 특정 단어(광고, 성인 등)가 포함된 필터링 규칙 적용
  • 송신자 필터링 : 수신 거부 등 별도의 블랙리스트 관리를 통해 향후 메일 수신 시 차단

메일 서버 등록제 SPF(Sender Policy Framework)

발송정보(IP)가 실제 발송한 서버와 일치하는지 비교하여 위변조 여부 파악

발송자 서버를 DNS에 미리 등록

  • 스팸 메일 수신자에게 전달되기 전에 각 포털 업체 메일 서버에서 자동으로 차단
  • 필터링 방식에 비해 자원 소모가 낮고 과오 차단 가능성이 현저히 낮음

스팸 필터 솔루션

메일 서버 앞단에 위치하여 프락시 메일 서버로서 동작

SMTP 프로토콜을 이용한 DoS 공격이나 폭탄 메일, 스팸 메일을 차단

 

스팸 필터 솔루션 기능

  • 메일 헤더 필터링 : 메일 헤더 구성은 from/to/cc/bcc, 헤더 내용 중 ip/도메인/반송주소 유효성과 이상 유무 확인
  • 제목 필터링 
  • 본문 필터링 : 특정 단어 혹은 문자가 포함되었는지 검사, 메일 본문 크기와 전체 메일 크기 비교하여 유효성 검사
  • 첨부파일 필터링 : 확장자로 필터링, 첨부파일 내용 검토는 어려움

스팸 메일 방지 보안도구

  • Procmail : 보낸 사람, 제목, 크기, 내용 등으로 필터링, Sendmail.cf에 포함시키거나 forward 파일에 위치, plug in 형식
  • Sanitizer : procmail ruleset, 확장자필터링/매크로 검사/악성 매크로 score/감염된 메시지 보관장소 설정 등의 기능
  • Inflex : 첨부파일 필터링만 가능, 이메일의 IB/OB 정책을 세워 메일 필터링 가능
  • SpamAssasin : Perl로 만들어짐, 헤더 내용/whitelist/blacklist/RBL(실시간 블랙 리스트)로 메일 필터링

sendmail

Unix의 MTA, 메일 서버 간 메일을 주고 받는 역할, SMTP 프로토콜을 통해 메일 서비스 기능을 함

 

주요 파일 및 디렉터리

  • /usr/bin/sendmail : sendmail의 주 데몬 파일
  • /usr/bin/makemap : sendmail 맵생성, 실행파일
  • /var/spool/mqueue : sendmail 큐 디렉터리(메일 일시 저장)
  • var/spool/mail : 개별 메일 사용자에게 도착한 메일을 보관하는 디렉터리
  • etc/mail/access : relay 제한 및 설정 파일
  • etc/mail/sendmail.cf : sendmail 설정 파일

/etc/mail/access를 이용한 스팸 메일 방지법

  • RELAY : 메일 relay를 허용
  • REJECT : 메일 relay를 허용하지 않음
  • DISCARD : 메일을 받은 후 폐기, 발송자에게 폐기통보 안함
  • OK : 조건 없이 허용
  • 501 "메시지" : 메일 주소가 일부분 이상 일치할 경우 메시지로 거부
  • 502 "메시지" : 발신 메일 주소에 host명 이 없으면 메일을 받지 않음
📍액티브 콘텐츠 공격
메일 열람 시 HTML 기능이 있는 이메일 클라이언트나 웹 브라우저를 이용하는 사용자를 대상으로 하는 이메일 공격 기법으로 스크립트 기능을 이용하여 피해자 컴퓨터의 정보를 유출하거나 악성 프로그램을 실행시키는 공격 방법

'정보보안기사' 카테고리의 다른 글

DHCP와 DNS 보안  (0) 2023.01.22
웹 보안  (0) 2023.01.22
FTP 보안  (0) 2023.01.22
최신 네트워크 보안기술  (0) 2023.01.21
VPN  (0) 2023.01.21