2024_0219_MailServer

이기태·2024년 2월 19일

리눅스

목록 보기
17/27

1. MAIL 용어

1) MTA(Mail Transfer Agent)

MS Exchange, sendmail/postfix

2) MDA(Mail Delivery Agent) = LDA (Local Delivery Agent)

3) MUA(Mail User Agent)

MS outlook, evolution,thunderbird

2. MAIL 프로토콜

1) 메시지 전송 프로토콜

  • SMTP
  • ESMTP

2) 메시지 가져오는 프로토콜

  • POP3
  • IMAP4

[메일 전송 과정]

* 중요

1) 메일 서버는 DNS 서버에 의존적이다. -> DNS가 꼭 필요하다.
=> DNS의 forward zone file에 등록된 메인 서버를 찾음.
2) 메일 서버는 도메인당 최소 한 개이상 기 구성이 가능하다.
3) 스팸메일 차단 시스템(anti-spam) 과 연동한다.

paran.com. IN MX 10 spam.paran.com.
spam IN A 172.16.6.254
or
paran.com. IN MX 10 spam.paran.com.
spam IN A 172.16.6.254
paran.com. IN MX 20 mail.paran.com.
mail IN A 172.16.6.253


[참고] (Host OS에서 수행) 도메안에 한대의 메일 서버만 있는 경우는 드물다.
<CTRL + ESC> => "cmd" => < ENTER >
C:> nslookup -q=MX kornet.net
C:> nslookup -q=MX naver.com
C:> nslookup -q=MX daum.net
C:> nslookup -q=MX google.com

3. MAIL Server 설정 + 실습

  1. 패키지 설치
    # yum -y install sendmail mailx dovecot

  2. 서버 설정
    /etc/mail/sendmail.cf, /etc/aliases, /etc/mail/* ,
    /etc/dovecot/

  3. 서비스 기동
    # systemctl enable --now sendmail

4.방화벽 등록
# firewall-cmd --premanent --add-service={smtp,smtps}

  1. SELinux(?)

---------------------------------------------------------

패키지: sendmail, sendmail-cf, mailx
데몬 & 포트 & 프로토콜: sendmail(SMTP(25/tcp), SMTPs(465/tcp)
주 설정 파일: /etc/mail/sendmail.cf
하위 설정 파일: /etc/mail/* , /etc/aliases
서비스: sendmail.service

패키지: dovecot
데몬 & 포트 & 프로토콜: dovecot(POP3(110/tcp), IMAP(143/tcp), POP3s(995/tcp), IMAPs(993/tcp))
주 설정 파일: /etc/dovecot/dovecot.conf
하위 설정 파일: /etc/dovecot/conf.d/* .conf
서비스: dovecot.service

[ex 1] 기본 설정 확인
[ex 2] example.com SMTP/POP3 Server 구성
[ex 3] test.com SMTP/POP3 Server 구성
[ex 4] 메일 보내고/받기

  • (L) -> (L)
  • (L) -> (R)
  • (R) -> (L)

[참고] 메일 보낸 후 문제가 생긴 경우
(ㄱ) return mail 확인 -> 힌트 정보
(ㄴ) DNS 서버 정보 점검 -> nslookup -q=MX test.com
(ㄷ) /var/log/maillog -> tail -f /var/log/maillog
(ㄹ) 서비스 재기동 -> journalctl -f -u sendmail
(ㅁ) 방화벽 차단된 경우 -> firewall-cmd --list-all
(ㅂ) 서버 설정 점검
-> /etc/mail/sendmail.cf
-> /etc/mail/local-host-names
-> /etc/mail/access
-> /etc/dovecot/dovecot.conf
-> /etc/dovecot/conf.d/{10-mail,10-auth,10-ssl}.conf

[ex 5] 메일 포워딩 & 메일링 리스트 실습
/etc/aliases 실습

  • 메일 포워딩
    # /etc/aliases
    [맨아래]
    mail01: mail02 -> mail01에 메일을 보내면 mail02로 전달.

  • 메일링 리스트
    # /etc/aliases
    everyone::include:/etc/mail/list/everyone.list
    => everyone.list에 있는 모든 사용자에게 전달.
    [ex 6] 메일 클라이언트 프로그램
    (GUI) evolution 사용 p.29~

  • 외부 SMTP

  • 내부 sendmail
    (TUI) mutt
    (CLI) mail/mailx CMD

[ex] 웹메일 서버 구축

  • Squirrelmail (p.31~)

4. 보안

  • SPAM Filter(Anti-spam) => Spamassassin
  • AV(Anti-Virus) - ClamAV

0개의 댓글