DKIM (Domain Keys Identified Mail)



메일 발송자 도메인과 메일 내용의 무결성을 검증 있는 기술


스팸메일을 차단하기 위해 개발된 기술 하나 (발신자가 위조되지 않았는지 수신자 측에서 검증할수 있음)


송신자의 사인과 수신자의 검증단계로 구성된 피싱 검출, 스팸 방지의 목적의 RFC 4871 기술로 Sendmail, Cisco Yahoo에서 만듬


Dkim 메일 헤더에 추가하여 사인이 맞을경우 메일의 컨텐츠가 수정/변경/손상이 없을을 신뢰할수 있게 해주는 기술


 


공개키,비밀키를 기반으로한 이메일 인증 시스템


메일에 사용하는 도메인 공개키 TXT 저장, 메일을 발송하는 서버 비밀키 저장





  1. 공개키 DNS에 등록
  2. 메일 발송
  3. 발신서버에서 비밀키를 이용한 서명을 헤더에 붙여 발송
  4. 수신서버에서 DNS등록된 공개키로 서명분석
  5. pass여부에 따라 스팸이 결정됨


 



Ex)Header 등록된 DKIM 정보


      DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;

      c=simple; q=dns/txt; i=@eng.example.net;

      t=1117574938; x=1118006938;

      h=from:to:subject:date;

      z=From:foo@eng.example.net|To:joe@example.com|

       Subject:demo=20run|Date:July=205,=202005=203:44:08=20PM=20-0700;

      bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;

      b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZVoG4ZHRNiYzR


   



출처


Postmark - DKIM 설명

https://postmarkapp.com/guides/dkim

한글] DKIM 이론과 실습

http://kr.minibrary.com/278/

한글] DKIM

http://nocode.tistory.com/7

한글] DKIM

http://blog.naver.com/PostView.nhn?blogId=andwise&logNo=220823011841

한글] DKIM

https://joesimong.blogspot.kr/2013/11/dkimdomainkeys-indentified-mail.html




'Server > MAIL' 카테고리의 다른 글

SMTP란 - 3. status code  (0) 2017.02.23
SMTP란 - 2. flow/commands  (0) 2017.02.13
SMTP란 - 1. Relay, Gateway  (0) 2017.02.12
POP3/IMAP 소개  (0) 2017.02.02
메일 전송 과정 간단 이해  (0) 2017.01.31



SMTP Flow


SMTP 전송 흐름에대한 전체적인 흐름

전송은 각각의 command절차에 의해서 발생이되며 성공/실패에 따라서 reply code가 발생이 되며 reply code의 결과에 따라 절차 진행이 결정됨.

각각의 command마다 reply code발생이 다르기 때문에 실패시에는 reply code로 어디에 문제가 있는지 여부를 확인할수 있음.





Commands


Basic SMTP Command

다음은 설명 된 기본 SMTP 명령.

SMTP 프로토콜 사양을 따르는 모든 SMTP 서버는 이러한 기본 명령을 지원해야함.


HELO (Hello)    클라이언트는 SMTP 서버에이 명령을 전송하여 SMTP 서버를 식별하고 SMTP 대화를 시작.

   일반적으로 SMTP 클라이언트의 도메인(FQDN)이나 IP 주소는 명령과 함께 인수로 전송 ( : "HELO client.example.com").


MAIL FROM    보낸 사람의 전자 메일 주소를 지정.

또한 새 메일 트랜잭션이 시작되고 있다는 것을 SMTP 서버에 알리고 서버가 모든 상태 테이블과 버퍼 등을 재설정하도록 . 이 명령은 일반적으로 식별 및 로그인 프로세스 후 첫 번째 명령으로 전송.


RCPT TO (Recipient To)    받는 사람의 전자 메일 주소를 지정.

 주어진 전자 메일 메시지에 대해 여러 번 반복하여 여러 명의받는 사람에게 단일 전자 메일 메시지를 배달 가능


DATA                메시지 내용 (본문, 첨부 파일 등)의 전송을 시작.

                DATA 명령이 클라이언트에서 서버로 전송 된 후 서버는 354 응답 코드로 응답하며 후 메시지 내용을 서버로 전송. 모든

   메시내용이 전송되면 단일 점 ( ".")을 한 줄에 단독으로 입력하여 마무리.


RSET (Reset)    RSET 명령이 전자 메일 서버로 보내지면 현재 메일 트랜잭션이 중단.

연결은 닫히지 않음 (QUIT 명령에 대해 예약되어 있음. 아래 참조). 그러나 보낸 사람,받는 사람 및 전자 메일 데이터에 대한 모든 정보는 제거되고 버퍼 및 상태 테이블은 삭제됨.


VRFY (Verify)    이 명령은 서버에 지정된 사용자 이름이나 사서함이 유효한지 (존재하는지) 확인하도록 요청.

    사용자 이름을 묻는 메시지가 표시되면 사용자의 전체 이름과 완전히 지정된 사서함이 반환. 일부 전자 메일 서버에서는 보

    안 홀이 될 수 있으므로 VRFY 명령은 무시. 이 명령을 사용하여 서버의 로그인 이름을 조사 가능. VRFY 명령을 무시하는 서버

    는 일종의 응답을 보내지 만 클라이언트가 요청한 정보는 보내지 않습니다.


NOOP (No operation)    NOOP 명령은 수신자가 OK 응답을 보내도록하는 것 외에는 아무것도 수행하지 않음.

      주된 목적은 서버가 여전히 연결되어 있고 클라이언트와 통신 할 수 있는지 확인하는 것.


QUIT                    연결을 닫기 위해 서버에 요청. 연결을 닫을 수 있으면 서버는 숫자 코드로 응답하고 세션을 닫음.


 


Extended SMTP (ESMTP) Commands

클라이언트가 HELO 명령 대신 EHLO (확장 Hello) 명령을 사용하여 SMTP 통신을 시작하면 몇 가지 추가 SMTP 명령을 사용할 수 있음.

모든 서버에는 고유 한 확장 SMTP 명령 집합이있을 수 있음. 클라이언트가 EHLO 명령을 서버에 보낸 후 서버는 사용 가능한 ESMTP 명령 목록을 클라이언트에 다시 보내는 경우가 많음.


EHLO (Extended Hello) HELO와 동일하지만 클라이언트가 확장 SMTP (ESMTP) 프로토콜을 대신 사용할 수도 있음을 서버에 알림.

         EHLO ESMTP 명령을 사용하지 않더라도 사용가능. 추가 ESMTP 명령을 제공하지 않는 서버는 일반적으로 최소한

         EHLO 명령을 인식하고 적절한 방식으로 응답.


AUTH (Authentication)   AUTH 명령은 서버에 대한 클라이언트를 인증하는 데 사용. AUTH 명령은 클라이언트 사용자 이름과 암호를 전자

메일 서버로 전송. AUTH PLAIN, LOGIN CRAM-MD5와 같은 다른 키워드 ( : AUTH LOGIN)와 결합하여 다양한 로 그인 방법과 다양한 보안 수준을 사용.


STARTTLS (Start Transport Layer Security)    

보안을 강화하기 위해 전자 메일 서버와 클라이언트간에 통신 할 때 암호화 된 TLS (전송 계층 보안) 연결하는데 사용.


SIZE                            SIZE 명령에는 두 가지 목적 있으며 SMTP 서버는 클라이언트에게 최대 메시지 크기를 알리고 클라이언트는 전송할 전자

메일 메시지의 (예상 된) 크기를 SMTP 서버에 알릴 수 있음. 클라이언트는 서버에서보고 한 크기보다 큰 전자 메일 메시지를 보내지 않아야하지만 일반적으로 메시지가 클라이언트에서 서버에 알린 크기보다 약간 큰 경우 문제가 없음.


HELP                          이 명령은 서버가 클라이언트에 유용한 정보 ( : SMTP 서버가 지원하는 명령 목록)를 보내도록 .











출처


SMTP/POP3/IMAP Flow

https://www.codeproject.com/search.aspx?q=Understanding+the+insides+of+the+POP3+mail+protocol&sbo=kw&x=0&y=0

SMTP Flow

https://www.codeproject.com/Articles/399207/Understanding-the-Insides-of-the-SMTP-Mail-Protoco

SMTP state diagram

http://www.sosnoski.com/presents/building-on-akka.html#/11


'Server > MAIL' 카테고리의 다른 글

DKIM이란?  (1) 2017.02.23
SMTP란 - 3. status code  (0) 2017.02.23
SMTP란 - 1. Relay, Gateway  (0) 2017.02.12
POP3/IMAP 소개  (0) 2017.02.02
메일 전송 과정 간단 이해  (0) 2017.01.31

 

 

SMTP

 

목적: 신뢰할 수 있고 효율적으로 메일을 전송하는 것

전송을 담당하는 하위 시스템과는 독립적, 신뢰할 수 잇는 순서로 배열된 데이터 스트림 채널만을 필요

(TCP이외의 전송방법도 존재 - RFC821 부록)

 

SMTP 사용시 프로세스는 동일한 네트워크에 있는 다른 프로세스로 메일을 전송할 수 있으며

또한 양쪽 네트워크에 접근할 수 있는 RelayGateway 프로세스를 경유하게 되면 다른네트워크에 있는 프로세스에게도 메일 전달가능

 




 

Relay

목적지 서버로 메일을 전달하기 위해 여러 서버를 거쳐 전달하는것

Mail receiver 메일을 받은뒤 mail sender역할을 실행하게 된다.

Relay back end 부하를 감소시키며 관리자들이 병목 현상을 해결하고 성능을 활용하기에 가장 쉬운 방법.

 



 




 


Gateway

TCP/IP 이메일을 다른 이메일 시스템의 형식에 적합하도록 하거나, 다른 이메일 시스템의 형식을 TCP/IP 이메일에 적합하도록 변환하는 기능

 



 














아직 자료가 완벽하지 않습니다.

추후 실습을 통하여 자료를 보충하겠습니다.

 

출처

RFC821, RFC2821, RFC5321

mailjet

https://www.mailjet.com/blog/news/email-101-what-is-an-smtp-relay/

sendgrid

https://sendgrid.com/blog/smtp-relay-service-basics/

SMTP 자료

SMTP 프로토콜 (rfc281, rfc2821)


'Server > MAIL' 카테고리의 다른 글

DKIM이란?  (1) 2017.02.23
SMTP란 - 3. status code  (0) 2017.02.23
SMTP란 - 2. flow/commands  (0) 2017.02.13
POP3/IMAP 소개  (0) 2017.02.02
메일 전송 과정 간단 이해  (0) 2017.01.31





POP3는 아웃룩에서 기본값 30분마다 메일을 끌어오게 되어 있습니다.

 

매번 보내기/받기를 눌러야 되지만 주기를 낮추어 매번 누르지 않아도 됩니다.

 

 

Outlook 2016 기준

  1. 파일 > 옵션

 


  1. 고급 > 보내기 받기 탭에서 보내기/받기 클릭





  1. 네모칸안에 설정에 체크 해주고 원하는 시간에 따라 설정 (최소값 1)





'MS Office > Outlook' 카테고리의 다른 글

Outlook 백업/복원 하기 (데이터 파일)  (0) 2017.01.16

 

POP3 (Post Office Protocol 3)

이메일을 받아오는 표준프로토콜이다.

POP3 인터넷 서버에서 이메일을 수신받을수 있는 client/server Protocol이다.

비동기화 방식, 주기적으로 서버의 메일박스를 체크하여 메일을 다운로드한다.

POP3 서버에서 메일을 받아오는 즉시 삭제되도록 만들어졌지만 대부분의 MUA에서는 이를 방지하기위해 서버에 저장이되도록 설정을 할수 있다.

Store-and-forward

Port:110, 995(encryption)

 


IMAP (Internet Message Access Protocol)

이메일을 받아오는 표준 프로토콜

IMAP 인터넷 서버와 동기화되어 이메일을 열람할수 있다.  이메일 전체에 대해 동기화 하는것이아니라 메일의 제목을 동기화 하여  사용자가 선택적으로 메일을 다운로드할 있다.

또한 서버측 편지함의 메시지의 다양한 상태플래그(읽음, 읽지 않음) 표시할수도 있으며 사용자로부터 확실한 제거요청이 있기전 까지는 서버측 편지함에 저장된다.

Remote-fileserver

Port:143, 993(encryption)

 




POP3/IMAP 비교








POP3, IMAP 설명을 하면서 삭제라는 말에 걱정하는 사람이 많을 것입니다.


하지만 MUA(Outlook, Thunderbird)나 대부분은 아니지만 일부 포털 사이트에서도 원본/복사본 저장 기능이 있기 때문에 이 부분만 염두 해서 설정한다면 삭제에 대해서 걱정할 필요가 없습니다.




Outlook POP3/IMAP 복사본 저장





DAUM POP3 설정 - 원본 저장 기능




출처

http://searchexchange.techtarget.com/definition/SMTP


http://searchexchange.techtarget.com/definition/POP3



IMAP/POP3 비교

http://lyb1495.tistory.com/45


Port 번호

https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D

'Server > MAIL' 카테고리의 다른 글

DKIM이란?  (1) 2017.02.23
SMTP란 - 3. status code  (0) 2017.02.23
SMTP란 - 2. flow/commands  (0) 2017.02.13
SMTP란 - 1. Relay, Gateway  (0) 2017.02.12
메일 전송 과정 간단 이해  (0) 2017.01.31

전체적인 전송과정




MTA(Mail Transport Agent)

MUA에서 작성되고 전송된 E-mail을 처리하는 공간이라고 볼수 있으며우리가 배우고자 하는 메일서버가 MTA.

 

MDA(Mail Delivery Agent)

MUA에 의해서 전송된 E-mail MTA로부터 넘겨받아 MUA를 통해서 받기전 까지 E-mail을 저장해 주거나 MUA로 전송해주는 역할 (메일 보관함)


MUA(Mail User Agent)

Client E-mail을 읽고 답장하고 삭제할 수 있는 Program들을 의미

우리가 흔히 사용하는 Outlook Express , Thunder Bird 등의 Client Program을 의미


SMTP(Simple Mail Transfer Protocol)

SMTP는 메일을 주고받는데 사용되어지는 TCP/IP 프로토콜이다.

하지만 수신 측에서는 메시지를 대기열에 넣을 수 잇는 기능이 제한되어

일반적으로 POP3/IMAP과 같이 서버 사서함에 메시지를 저장하고 주기적으로 다운로드 할 수 있는 두가지 프로토콜 중 하나와 함께 사용한다.

Port: 25, 465(SSL), 587(TLS

 

POP3/IMAP

메일 수신 프로토콜

-클릭-






MTA와 MDA의 차이



위의 사진만 보고서 MTA와 MDA를 구별하기 힘들기 때문에 좀더 간소화 해놓았습니다.


1. Outlook(MUA)로 메일 발송

2. Naver(MTA)에서 수신자의 MX레코드 네임서버로 질의한뒤 전송

3. DAUM(MTA)에서 전달

4. DAUM(MTA)에서 DAUM 받은메일함(MDA)로 수신

5. 받은메일함(MDA)에서 연결해놓은 Outlook(MUA) 최종 수신


위쪽은 발신 아래쪽은 수신의 역할.



'Server > MAIL' 카테고리의 다른 글

DKIM이란?  (1) 2017.02.23
SMTP란 - 3. status code  (0) 2017.02.23
SMTP란 - 2. flow/commands  (0) 2017.02.13
SMTP란 - 1. Relay, Gateway  (0) 2017.02.12
POP3/IMAP 소개  (0) 2017.02.02


Outlook 데이터 파일

 

대부분의 계정에 PST 파일 사용됨.

Exchange 계정을 사용하는 경우에 일반적으로 항목이 메일 서버에 배달된 저장됨.

메일 서버에 연결할 수없는 경우에도 메시지 작업을 할수있도록 오프라인 파일인 OST 파일 보관됨

 

PST POP3, IMAP 기반 메일 계정에 사용

보관 파일을 만들거나 Exchange 계정 같은 컴퓨터에 Outlook 폴더 항목을 백업하려면 추가 pst 파일을 만들어 사용해야 .

파일 위치 : 드라이브:\사용자\사용자\AppData\Local\Microsoft\Outlook

 

OST Exchange 계정을 가지고 있는 사용자가 오프라인으로 작업하거나 기본 캐시된 Exchange 모드를 사용할때  사용

데이터 파일 형식은 Outlook.com Outlook Connector 설정한 계정에도 사용.

OST 항상 메일 서버에 저장되는 항목의 복사본이며 PST처럼 백업할 필요가 없다.

파일 위치 : 드라이브:\사용자\사용자\AppData\Local\Microsoft\Outlook

 


백업 / 복원


기존의 데이터를 가져오는 방법에는 2가지 방법이 있다.

1. 데이터 합치는 방식(데이터 통합)

2. 데이터 추가하는 방식(데이터 추가)

 

1 방식으로 가져오게된다면 백업Data들이 혼합이되어 정리를 제대로 하지 않는이상 폴더/데이터들로 인해 사용자에게 혼란을 야기할수 있다.

따라서 필자는 2 방식을 추천하며 필요한Data 있다면 기존 Data 복사/붙여넣기 기능을 이용하면 된다.



[백업 파일 생성]


1. 파일 -> 열기 내보내기


2. 가져오기/내보내기 클릭


3. 내보내기 - 파일 클릭


4. pst 파일 클릭 (쉼표로 구분된 값 csv파일)


5. 백업하고 싶은 파일(하위 폴더 포함 설정에 유의할것)


6. 저장할 위치 설정


7. 저장 파일의 암호 생성


8. 암호 확인







[복원 - 데이터 통합]


1. 파일 -> 열기 및 내보내기


2. 가져오기/내보내기 클릭


3. 가져오기 - 다른 프로그램이나 파일 클릭


4. Outlook 데이터 파일(.pst) 클릭


5. 가져올 파일의 위치 선택


6. 가져올 파일의 폴더 선택


7. 암호 입력


8. 확인







[복원 - 데이터 추가]


1. 파일 -> 정보 -> 계정설정


2. 데이터파일 탭 -> 추가


3. 백업파일 선택


4. 백업파일 추가 확인


5. 확인


'MS Office > Outlook' 카테고리의 다른 글

Outlook POP3 보내기/받기 주기(시간) 변경  (0) 2017.02.03

+ Recent posts