Presentation is loading. Please wait.

Presentation is loading. Please wait.

2015 Wheel Seminar Mail Server Seminar

Similar presentations


Presentation on theme: "2015 Wheel Seminar Mail Server Seminar"— Presentation transcript:

1 2015 Wheel Seminar Mail Server Seminar
leejeok (오종훈) jara (이문영)

2 이론 PART MUA, MTA, MDA 가 무엇인가? SMTP가 무엇인가? POP, IMAP이 무엇인가?
Mail Server의 구동원리 (+중간에 용어정리) 우리가 이번 세미나에서 주로 다룰 것!

3 MUA? MUA (Mail User Agent) Mail client라고도 함
사용자가 을 읽고 답장하고 삭제할 수 있는 프 로그램을 말한다. MS Outlook, eudora(Window), Mutt(Linux)등이 존 재. Naver, Daum, Gmail 등에서는 웹 기반의 MUA를 제 공한다 MS outlook, Mutt등의 프로그램들은 PC에 깔려져 있는 프로그램이다. 우리가 일반적으로 메일을 쓸 때에는 Naver, Daum, Gmail같은 포탈에서 제공하는 웹 기반의 MUA를 사용한다

4 MTA? Mail Server? MTA(Mail Transfer Agent) 메일의 송수신을 담당하는 프로그램
MUA에서 작성되고 전송된 들을 처리하는 우체국이라고 할 수 있다. Qmail, Exim, Postfix 등의 프로그램이 존재. 일반적인 개인 PC에는 메일 송수신을 담당하는 MTA가 없으므로 웹에 연결되어있는 UNIX기반의 메일서버를 이용합니다. 우리가 이 세미나에서 다룰 내용이며, 집중적으로 exim을 사용할 꺼에요 Qmail은 가장 오래된 MTA이고 보안성이 뛰어나지만 Exim에 비해서 속도가 느리며, Postfix는 많은 기능들이 있으나 Exim에 비해 설정과정이 복잡해서 Exim을 이번 세미나에서 사용하기로 했어요 실제로 우리 SPARCS서버에서는 Exim을 사용하고 있고, ara에서는 postfix를 사용하고 있으나 잘 쓰진 않는다고 하네요.

5 MDA? MDA(Mail Delivery Agent)
 메일을 MTA로부터 받아서 메일박스 등에 저장 하거나 원하는 필터링을 하여 유저에게 메일을 전 달하는 프로그램 Procmail등의 프로그램이 존재. 

6 SMTP? SMTP(Simple Mail Transfer Protocol) 메일서버에서 메일의 정보를 받을 때 쓰는 프로토 콜
MUA 에서 Mail Server로 메일을 전송할 때 SMTP프로토콜 이용. Mail Server  Mail Server 간에 메일을 주고 받을 때 SMTP 프로토콜 이용 메일 서버에서 daemon으로 실행되고 있는 MTA 프로그램들이 메일을 STMP 형태의 데이터로 바꾸어 준다.

7 POP? IMAP? POP3(Post Office Protocol)
IMAP(Internet Message Access Protocol) 메일을 메일 서버로부터 수신할 때 사용하는 프로 토콜 Client가 POP나 IMAP 프로토콜을 통하여 메일 서버에 접속하여 메일을 받아옵니다.

8 POP VS IMAP? r/ ?hl=ko&rd=1 기본적으로 POP, IMAP뿐 아니라 STMP등의 프로토콜을 따르게 해주는 프로그램은 메일서버 즉 MTA내에 설치되어있다. 기본적으로는 IMAP이 널리 쓰이고 있으며 우리가 메일서버에서 선택할 수 있다. 그러나 구글에서는 IMAP의 사용을 추천한다.

9 요약 MUA : 메일 쓰고 읽고 답장하는 프로그램! MTA : 메일서버의 프로그램이며 메일 서버간 송수신 담당(우체국)
MDA : 메일 송수신을 보조해주는 프로그램(우체부) STMP : 메일서버간 데이터 송수신에 쓰이는 프로토 콜 POP, IMAP: 메일서버에서 메일을 받아 올때 쓰이는 프로토콜 MDA랑 MTA가 살짝 헷갈릴 수 있는데 쉽게 말해 유저랑 MTA 사이에 MDA가 있다고 생각하면 됩니다.

10 Mail Server 구동 원리

11 Mail Server 구동 원리 사용자는 mail client (outlook 또는 eudora)와 같 은 프로그램을 통해서 mail을 작성한 후, SMTP를 사용하여 메일 데몬(MTA 데몬)으로 메시지를 전 송한다 SMTP 인터넷상에서 TCP/IP로 서로 메일을 주고 받기 위한 프로토콜을 말하는데 PC에서 메일서버 또는 메일서버에서 메일서버끼리 메일을 주고 받을 때 쓰는 규약입니다. SMTP에 관해서는 뒤에서 더 자세히 살펴 볼께요. 메일 데몬은

12 Mail Server 구동 원리 메일 데몬 은 종단간 client의 주소를 분석하고 송 신자 소속의 메일서버로 메시지와 정보를 보낸다. 그리고 메일서버는 일반적으로 naver.com 이나 daum.net같은 걸 말하는데 리눅스 에서는 자기 자신이 메일 서버가 되는건가?

13 용어정리 Mail Daemon?  Mail Daemon이란 일종의 프로세스로서(SMTP 서비스 데몬 프로그램), mail client로 작성한 송신 자의 메일과 정보를 메일 서버가 해석 가능하도록 재 가공하며 메일서버에서 오는 정보를 수신자가 해석 가능하도록 재 가공한다. 뒤에서 나오겠지만 MTA프로그램이 백그라운드 에서 실행 중 인걸 Mail Daemon이라고 한다. MTA는

14 Mail Server 구동 원리 수신자의 메일서버에서 돌아가고 있는 메일 데몬 이 받은 STMP 형식의 데이터를 재해석하여 사용 자의 메일 프로그램에 보내준다. 메일을 수신할 때는 메일 프로그램은 POP 를 사용하여 메일 서 버로 부터 메일을 받는다.

15 Mail Server 구동 원리 예제를 통한 이해!
로 을 보내는 과정 메일주소로 가진 메일주소로 가지고 있는 사람에게 을 보내는 과정을 예로 설명하겠습니다.

16 Mail Server 구동 원리  메일서버로 사용하는 leejeok(user)은 에게 메일을 보내기 위해 MUA를 통해 작성된 편지를 SMTP(port 25)를 이용하여 메일 서버에 발송한 다.

17 Mail Server 구동 원리 메일서버의 25번포트에서는 Exim같은 MTA프로 그램이 Daemon으로 백그라운드에 실행되어져 있다가 MUA가 보내고자 하는 데이터를 받는다.

18 Mail Server 구동 원리 메일을 받은 Exim은 메일의 도착지가 자신인지를 확 인
도착지가 자신이 아니라면 도착지로 메일을 다시 전 송 자신이 메일의 도착지라면 메일을 MDA에게 넘겨줌 MDA는 필터링 과정을 거친 후 수신자의 메일박스에 저장한다.

19 Mail Server 구동 원리 sparcs1.org자신이 도착지가 아니라면 이 메일 서버 는 메일을 sparcs2.org의 25포트를 통하여 메일서버 에게 넘겨줌 sparcs2.org의 메일서버에 접속할 수 없다면 .com의 메일 스풀에 저장되어 주기적으로 sparcs2.org 메일서버와 접속을 시도 접속이 이루어지면 메일을 전송 지정된 시간이 지나도 보낼 수 없다면 송신자에게 메 일 발신 불가 메일을 보냄

20 Mail Server 구동 원리 편지를 넘겨받은 sparcs2.org의 MTA는 User의 존재유무를 확인하여 메일을 전달
유저가 존재하지 않을 경우 다시 편지를 처음 전 송한 사람에게 되돌려 줌. 수신인이 sparcs2.org 에 존재할 경우 MDA 프로 그램에 메일을 넘겨주며 MDA는 적절한 필터링을 거쳐 각 사용자의 메일 박스에 저장됩니다.

21 Mail Server 구동 원리  편지 수신자인 사용자는 MUA 를 통해 Mail server에서 POP 혹은 IMAP프 로토콜을 사용하여 메일 서버로 부터 메일을 받아 본다

22 전체적인 과정

23 실습 PART 이 실습에서 우린 무엇을 하는가? MUA 설치 MTA 설치 및 설정파일 건드려보기 포워딩 & 스팸 어세신

24 실습에서 무엇을 하는가? Exim4(MTA) 프로그램을 이용하여 자신의 seminar server에 메일서버를 구축
포워딩 + 스팸 필터링(스팸 어세신) 구축

25 MTA 설치 하자! exim4를 설치하자! #apt-get exim4 exim4-base exim4-config

26 MUA 설치 하자! mutt를 설치하자. #apt-get install mutt

27 메일을 보내보자 메일을 쓰고 읽는 프로그램과 메일서버를 설치했 으니 메일을 보내보자.

28 Mutt 메일 보내기 키보드로 m 입력 보내고자 하는 곳(자기 자신으로 해보자) 메일 제목 본문(vim)

29 Mutt y를 누르면 sent 된다

30 Mutt

31 Mutt 메일이 보내 집니다!! 자신의 naver계정에 이메일 을 날려 봅시다!.

32 메일 전송 실패

33 Exim서버 설정 건드려보기! 메일 전송이 실패한 이유는 MTA서버의 설정이 local로 되어있기 때문

34 Exim 설정

35 우리 메일 서버로 메일 보내보기 네이버로 메일을 다시 보내보자. 네이버에서 우리 메일서버로 메일을 보내보자.

36 Exim 설정파일 EXIM configuration file is divided into 6 parts
ACL: Access control list for controlling incoming SMTP mails Authenticators: Settings for authenticator drivers Routers: Determines how the messages is to be delivered Transports: Defines the mechanisms how the messages are to be copied Retry: Rules for use when the message cannot be delivered immediately Rewrite: Global address rewriting rules Local_scan: Private options for local_scan() function 그럼 이제 본격적으로 서버 관리를 하면서 필요한 EXIM 설정에 대해 보겠습니다. Exim 설정 파일은 크게 여섯 부분으로 나누어져 있습니다. 각각 권한을 설정하거나, 이름에 관련된 driver 설정을 기록하는 부분인데, 설정 파일이 2000줄에 달하기 때문에 직접 설정하는 것에는 다소 무리가 있습니다. 때문에 간편하게 설정을 해 줄 수 있는 툴이 있습니다.

37 Exim 설정파일 # vi /etc/exim4/update-exim4.conf.conf 을 통해 설정을 해보자
update-exim4.conf는 /etc/exim4/update-exim4.conf.conf의 내용을 읽어 자동으로 설정 파일을 만들어 주는 셸 스크립트입니다. 따라서 고급 설정이 필요 없다면, update-exim4.conf.conf의 몇 줄만을 설정해 주고, update-exim4.conf를 실행시키면 됩니다.

38 Exim 설정파일 internet local smarhost statelite
dc_eximconfig_configtype은 전반적인 exim의 사용 용도를 지정해 주는 부분입니다. local, internet, smarthost, satellite 등의 값 중 하나를 입력하면 됩니다. Internet은 인터넷과 SMTP connection을 형성하여 메일을 송수신하는 일반적인 mail server로 사용할 때 설정합니다. Local은 해당 컴퓨터에 있는 계정 간에만 메일을 주고 받을 때 설정합니다. Smarthost는 다른 메일 서버가 이 서버를 통해 메일을 보낼 수 있도록 합니다. 설정을 제대로 하지 않으면 spammer에게 악용될 수 있기 때문에 조심해야 합니다.

39 Exim 설정파일 dc_other_hostnames : 어떤 도메인의 메일을 받을지 결정할 수 있다.
dc_other_hostnames는 어떤 메일 주소를 수신할 것인가를 정하는 부분입니다. 뒷부분이 어떤 주소일 때 이 서버에서 그 메일을 수신할지 설정하는 것으로, sparcs.org;sparcs.net; 로 설정하면 받는 사람인 메일은 이 서버에서 처리하겠다고 하는 것입니다. 물론 dns설정이 함께 되어야 합니다.

40 Exim 설정파일 dc_local_interfaces : 어떤 IP주소의 메일서버와 연결을 맺을지 설정

41 Exim 설정파일 dc_local_delivery : 어떤 파일로 받은 메일을 저장하고 있을지 결정.
‘’ or ‘mail_spool’: default경로(spool_directory = /var/spool/exim4) ‘maildir_home’: home(우리는 각 유저의 디렉토리) 디렉토리에 maildir이라는 폴더에 저장 dc_local_delivery는 delivery process가 메일을 어디로 전달할 것인지를 결정합니다. 빈 문자열이나 mail_spool을 지정하면 메일은 spool directory로 전달되며, maildir_home을 지정하면 유저의 홈 디렉토리 하위의 Maildir에 저장됩니다. Local은 해당 컴퓨터에 있는 계정 간에만 메일을 주고 받을 때 설정합니다. Smarthost는 다른 메일 서버가 이 서버를 통해 메일을 보낼 수 있도록 합니다. 설정을 제대로 하지 않으면 spammer에게 악용될 수 있기 때문에 조심해야 합니다.

42 Exim 설정파일 dc_eximconfig_configtype은 전반적인 exim의 사용 용도를 지정해 주는 부분입니다. local, internet, smarthost, satellite 등의 값 중 하나를 입력하면 됩니다. Internet은 인터넷과 SMTP connection을 형성하여 메일을 송수신하는 일반적인 mail server로 사용할 때 설정합니다. Local은 해당 컴퓨터에 있는 계정 간에만 메일을 주고 받을 때 설정합니다. Smarthost는 다른 메일 서버가 이 서버를 통해 메일을 보낼 수 있도록 합니다. 설정을 제대로 하지 않으면 spammer에게 악용될 수 있기 때문에 조심해야 합니다.

43 Exim 설정 적용 #update-exim4.conf #service exim4 restart

44 .forward 만약 jara@wseminar2.sparcs.org로 온 메일을 gmail과 naver에서도 받고 싶다면???
Forward파일로 jara에 온 mail을 gmail과 naver 에도 보낼 수 있다.

45 .forward 사용법 vi ~/.forward

46 .forward로 filtering도 가능
filtering 가능 -> spemassassin Exim에는 filter전용 명령어가 존재한다. Fillter관련 명령어는… current/doc/html/spec_html/filter_ch- forwarding_and_filtering_in_exim.html

47 Filtering 맛보기 주제에 “make money”가 있거나 body에 “this is not spam”을 가지고 있으면 finish시킴

48 aliases A로 받은 메일을 B로 보낼 때 사용한다. Redirection이라고 생각하자.

49 Vi /etc/aliases 예를 들어 test로 보낸 메일은 jara, 네이버,gmail 로 가게된다.

50 Vi /etc/aliases Include를 사용하면 따로 vi 파일을 지정해주어서 vi파일에 메일을 써주면 된다.

51 Mailing List Sparcs /etc/aliases

52 Mailing List


Download ppt "2015 Wheel Seminar Mail Server Seminar"

Similar presentations


Ads by Google