2015 Wheel Seminar Mail Server Seminar

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
HTTPS Packet Capture Tutorial
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
14. Postfix, Exim, Sendmail 2011 Wheel Seminar podo.
인터넷의활용.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
10장. 메일 서버의 설치와 운영.
㈜디아이씨 SSLVPN 협력사 접속방법 2017년 4월.
Postfix MTA SPARCS 08 진준호 ( Alex ).
Outlook 에서 POP3 설정 방법.
SPARCS WHEEL SEMINAR mango X sugoi
CUDA Setting : Install & Compile
Outlook Express 메일 백업 및 복원가이드
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
7 이메일 서비스.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
홍익대학교 메일 시스템 구축 Outlook 설정 매뉴얼.
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
소리가 작으면 이어폰 사용 권장!.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
Microsoft Office Outlook
Cross Compiler를이용한 커널 컴파일 및 포팅
P2P시스템에 대해서 (peer to peer)
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
시스템 인터페이스 Lab3 Unix 사용법 실습.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
소리가 작으면 이어폰 사용 권장!.
29강 JAVA 스레드 - 스레드란? - 멀티스레드 문법 - synchronized Lecturer Kim Myoung-Ho
이메일 자동 포워딩 방법 (Outlook/OWA)
Exchanging 6. Basic Commands.
홍익대학교 메일 시스템 구축 그룹웨어 메일 이전 하기.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
Nessus 4 설치 정보보호응용 조용준.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
MAIL CLIENT 김창우 윤성훈 이경재.
WebFax Server Presentation.
GM7 PLC 모니터링 프로그램 한국 폴리텍 항공대학 항공정보통신과 송 승 일.
Voice and Videoconferencing
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
웹(WWW).
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
STS 에서 웹 서버 설치 방법.
Chapter 27 Mobile IP.
Introduction to JSP & Servlet
1. 신규 연세메일(Gmail)에 로그인 합니다. ( yonsei. ac. kr )
KISTI Supercomputing Center 명훈주
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
모바일(폰)메일 서비스 정흠수 최동훈.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
1. 인터넷 보안 옵션 레지스트리 등록 Config Setup 클릭.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
소리가 작으면 이어폰 사용 권장!.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
숙제 작성 및 제출 과정 김진하 2008/03/14.
Docker Study 6~7.
Exporting User Certificate from Internet Explorer
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

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

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

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

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

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

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

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

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

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

Mail Server 구동 원리

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

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

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

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

Mail Server 구동 원리 예제를 통한 이해! leejeok@sparcs1.org jara@sparcs2.org 로 E-mail을 보내는 과정 abc@abc.com를 메일주소로 가진 사람이 def@def.com을 메일주소로 가지고 있는 사람에게 E-mail을 보내는 과정을 예로 설명하겠습니다.

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

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

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

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

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

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

전체적인 과정

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

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

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

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

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

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

Mutt y를 누르면 sent 된다

Mutt

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

메일 전송 실패

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

Exim 설정

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

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줄에 달하기 때문에 직접 설정하는 것에는 다소 무리가 있습니다. 때문에 간편하게 설정을 해 줄 수 있는 툴이 있습니다.

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

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

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

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

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에게 악용될 수 있기 때문에 조심해야 합니다.

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

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

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

.forward 사용법 vi ~/.forward

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

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

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

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

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

Mailing List Sparcs /etc/aliases

Mailing List