본문 바로가기
모의해킹 침해대응 과정/Liunx 관리

Mail / day 19

by 알거음슴 2021. 4. 21.

 

용어 설명

MTA(Mail Transfer Agent) : mail 서버간의 전달을 담당하는 프로그램들

 * Sendmail, Postfix, Exchange 등

MDA(Mail Delivery Agent) : 편지함을 담당하는 프로그램, 같은 로컬 내에서는 MTA을 거치지않고 MDA만 거친다

 * Procmail, mail 등

MUA(Mail User Agent) : 메시지를 보내고, 받을 수 있게 하는 프로그램,

 * Mozilla Mail(GUI), mutt(TUI)

 

Protocol

 메일전송을 위한 protocol : SMTP, E-SMTP 등

 메일수신을 위한 protocol : POP3, IMAP4 등

 

[참고] Mail server 는 DNS server에 의존적이다.

mail 형식 내 root@naver.com 중 naver.com 은 HOSTname 이다, 즉 DNS 내 맵핑되어있는 HOSTname 과 mail IP을 참조해야만 메일을 발송할 수 있다.

Client                                      DNS
# mail root@example.com  ---->  example.com. IN MX mail.example.com.
                                             mail             IN  A   192.168.10.20

 

Mail server 실습

Mail(sandmail) Server

 패키지: sendmail

 데몬 & 포트 & 프로토콜: /usr/sbin/sendmail, 25/TCP, 465/TCP(smtps)

 주 설정 파일: /etc/mail/sendmail.cf

 하위 설정 파일: /etc/mail/*, /etc/aliases

 스크립트: sendmail.service

 

POP3/IMAP4(dovecot) Server

 패키지: dovecot

 데몬 & 포트 & 프로토콜: /usr/sbin/dovecot, 110/tcp(POP3), 143/tcp(IMAP4), 995/TCP(pop3s), 993/TCP(imaps)

 주 설정 파일: /etc/docecot/dovecot.conf

 스크립트: dovecot.service

 프로토콜 & 포트번호

* 방화벽 등록

 

 1) sendmail 설정 파일

/etc/aliases : 메일 엘리어스 설정파일 

 

/etc/mail/sendmail.cf : 메일 주 설정파일 (sendmail 주 설정파일)

 * mail relay-domans : mail을 전송하기 전에 보안장비 등에 거처서 보낼 수 있도록 하는 기능

 * mail aliases : A -> B 에게 보낼 시 A가 아닌 A-1이 전송할 수 있게 하는 기능.

 * mail 용량제한 : 한번 보낼 수 있는 mail의 용량을 지정.

 * mail forward : 수신된 mail을 선언된 사용자 홈 디렉토리로 보내주는 기능.

 * SMTP 접속 메시지 지정 기능. ( sendmail의 버전정보를 가릴수 있음 )

 

/etc/mail/access : 메일 중계 기능/스팸 메일 차단 설정파일

 * access.db 파일이 현제 적용되는 설정의 파일 access 를 수정 시 makemap hashCMD 를 통해 access.db 로 지정해줘야한다

 * 스팸 관련 동작 키워드 : OK=무조건 허용 / REJECT =허용거부, 상대에게 거부메시지 발송 / DISCARD=허용거부, 상대에게 거부메시지 미발송 / RELAY=중계기능 허용

 

/etc/mail/local-host-names : 메일 서버 도메인 기록파일

/var/spool/mqueue : 메일 송신측의 사용자 메일 임시 저장 디렉토리

/var/mail/<사용자이름> : 메일 수신측 사용자 메일 저장 파일 (/var/spool/mail/<사용자이름>)

 

[참고] return mail

메일이 정상적으로 발송되지 않을시 해당메일은 오류내용을 포함하여 돌아오게 된다. 주요 에러 메시지는 하단첨부

▶ 421 Server too busy.
=> 수신측 서버의 응답지연. 수신서버의 트래픽등으로 메일을 수신 받지 못하는 상황에서 발송자에게 리턴 메일을 보냄.  
▶ 421 4.3.2 Your IP(211.xxx.xxx.xxx) is filtered and this connection will be closed. You must register your IP to spammaster at domain.com By SpaceLee, the Lord of mail server.
=> 서버로 메일을 발송시 필터링 조건에 위배되어 스패머로 인식되고 필터링 되어 발신자에게 리턴되는 메시지.
▶ 441 4.4.1 No answer from host
=> 수신측 서버의 응답이 없어서 리턴된 메시지.
▶ 451 4.4.0 DNS resolving error
=> 수신측 서버의 도메인을 못찾아 리턴된 메시지.
▶ SERVER REPLY: 501 Denied domain name
=> 도메인주소를 잘못 입력 or 수신측에서 도메인을 수신거부한 경우
▶ 451 4.3.0 Other or undefined mail system status
=> 수신측 메일 시스템의 프로토콜이 틀리거나 수신 smtp 서버가 아닐경우 리턴되는 메시지.
▶ 451 4.3.0 Temporary system failure. Please try again later.
=> 수신 서버에 일시적인 장애등으로 인하여 메일을 수신받지 못해 리턴된 메시지.
▶ 451 Relay Server Not Ready.
=> 수신측 서버에서 릴레이 기능이 안돼어 리턴된 메시지.
▶ 452 4.4.5 Insufficient disk space; try again later
=> 수신서버의 디스크용량이 부족하여 메일을 수신받지 못해 리턴된 메시지.
▶ 500 Syntax Error, Command Unrecognized EHLO mail01.domain.com
=> 메일발송시 수신측 메일 서버에서 SMTP 명령어를 인식하지 못해 리턴된 메시지.
▶ 550 5.1.2 <user01 at domain.com>... Unsupported mail destination
=> 수신 서버가 응답이 지연되어 리턴된 메시지.
▶ 550 5.7.1 <sylee at domain.com>... Relaying denied. IP name lookup failed [211.xxx.xxx.xx]
=> 수신 서버에서 발신자의 IP에 대해 릴레이 거부를 하여 메일을 보내지 못해 리턴된 메시지.
▶ 550 5.1.1 <sylee at domain.com>... User unknown
=> 수신자 (sylee at domain.com)계정을 찾지 못해 리턴된 메시지.
▶ 550 RCPT <sylee at domain.com> ERROR. Mailbox doesn't exist
=> 수신자 메일함이 존재 하지 않아서 리턴된 메시지.
▶ 553 5.3.0 <user01 at domain.com>... spam
▶ 553 sorry, your envelope sender is enlisted as spammer.
=> 발송자의 계정이 수신서버 상에서 스패머로 등록이 되어 메일 수신 거부를 해서 리턴된 메시지
▶ 553 sorry, that domain isn't in my list of allowed rcpt hosts
=> 발신자의 메일 도메인주소 자체가 수신 서버에서 차단되어 리턴된 메시지.
▶ 554 5.3.2 Rejected by mailbox host. REPLY:(250 <user01 at domain.com>... Sender ok)
=> 수신자가 발송자의 메일 계정에 대해 수신 거부를 하여 리턴된 메시지

 

[실습] Mail server 구축

 * 패키지 설치 ( yum install sendmail dovecot mailx )

 * 서버설정 ( /etc/mail/sendmail.cf  /etc/mail/*  /etc/aliases )

                ( /etc/dovecot/dovecot.conf   /det/dovecot/conf.d/*.conf)

 * 서비스 기동 ( systemctl enable --now sendmail dovecot )

 * 방화벽 등록 ( firewall-cmd --permanent --add-service=smtp --add-service=smtps --add-service=pop3 --add-service=pop3s --add-service=imap --add-service=imaps )

[실습] Mail server 간 mail 송수신 테스트

[실습] Mail forwarding (/etc/aliases)

[실습] Mailing list (/etc/aliases)

[실습] Mail Client program (evolution)

[실습] SquirrelMail (webmail) 설치 및 설정.

[참고] AV (anti-virus) (Clam AV) -> 차후에 볼 예정.

'모의해킹 침해대응 과정 > Liunx 관리' 카테고리의 다른 글

SAMBA server / day 21  (0) 2021.04.23
NFS server / day 20  (0) 2021.04.22
FTP server / day18  (0) 2021.04.20
Apache web server / day 17  (0) 2021.04.20
리눅스 DNS(domain name system) /day 16  (0) 2021.04.16