- 개념
SMTP : 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을 때
POP3 : 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때
IMAP : POP3와 같음
MTA(Mail Transfer Agent) : 다른 MTA나 메일 사용자에게 메일을 보내거나 받는 역할을 함, 이 과정을 Relay라고 부르며 바이러스와 스팸 메일에 대한 필터링 기능을 갖고 있음, 25번 포트를 사용하는 SMTP에 의해 이뤄짐
MSA(Mail Submission Agent) : MUA로부터 메일 메시지를 받아 메일 전송을 위해 MTA와 협력하는 소프트웨어. 들어오는 메일을 관장하는 MTA가 나가는 메일을 관장하는 MSA의 기능을 수행해 혼용 사용하지만, MTA와 MSA의 기능을 나눈 경우도 있음, 25번 포트를 공용으로 사용하지만 MTA, MSA 기능을 나눈 경우에 공식적으로 MTA는 25번, MSA는 587번 포트를 사용
MUA(Mail User Agent) : 메일을 다운로드하거나 MTA로 업로드, 생성, 읽기를 위해 사용되는 소프트웨어, 25번 포트를 사용하는 SMTP에 의해 접속이 이뤄지며, 인증과정을 거쳐야 함
MDA(Mail Delivery Agent), LDA(Local Delivery Agent) : MTA로부터 메일을 받아 사용자의 메일서버의 저장 디렉토리로 운반하는 역할, 메일서버 디렉토리에 있는 내용을 수신 MUA가 읽어 로컬 PC에 다운로드, IMAP,POP3 프로토콜을 사용
- Mail Server 구축
PC1, PC2에서
# vim /etc/hostname
mail.domain1.com 로 변경
# vim /etc/hosts
192.168.111.100 mail.domain1.com 추가
# vim /etc/sysconfig/network
HOSTNAME=mail.domain1.com 추가
# yum -y install sendmail
# vim /etc/mail/local-host-names
mail.domain1.com 추가
PC1에서
# yum -y install bind bind-chroot
# vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { none; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
zone "domain1.com" IN {
type master;
file "domain1.zone";
allow-update { none; };
};
zone "domain2.com" IN {
type master;
file "domain2.zone";
allow-update { none; };
};
# named-checkconf
# cd /var/named
# vim domain1.zone -> domain2.zone도 작성
$TTL 10H
@ SOA @ root. (20230913 1D 1H 1W 1H)
IN NS @
IN A 192.168.111.100 -> domain2.zone에서도 100으로
IN MX 10 mail.domain1.com. -> MX : mail exchange의 약자, 뒤에 10은 우선 순위
mail IN A 192.168.111.100
www IN A 192.168.111.100
# named-checkzone domain1.com domain1.zone -> domain2.zone 도
# systemctl restart named
# vim /etc/sysconfig/network-scripts/ifcfg-ens32
DNS1=192.168.111.100
# systemctl restart network
# nslookup 으로 dns 확인
PC1, PC2에서
# yum -y install sendmail-cf dovecot
# vim /etc/mail/sendmail.cf
85번째 줄 Cwdomain1.com으로 변경
264번째 줄 Addr=127.0.0.1 삭제
# systemctl restart sendmail
# vim /etc/mail/access
domain1.com RELAY
domain2.com RELAY
ip대역 RELAY 추가
# makemap hash /etc/mail/access < /etc/mail/access -> 수정한 내용 적용/
# vim /etc/dovecot/dovecot.conf
24번째 줄 protocols 주석 해제
30번째 줄 listen 주석 해제
33번째 줄 base_dir 주석 해제
# vim /etc/dovecot/conf.d/10-ssl.conf
8번째 줄 ssl = yes
# vim /etc/dovecot/conf.d/10-mail.conf
25 mail_locatoin 주석 해제
121 mail_access_groups = mail 주석 해제하고 수정
166 lock_method 주석 해제
# vim /etc/dovecot/conf.d/10-auth.conf
10 disable_plaintext_auth = no 주석 해제하고 수정
# useradd user -> client에 로그인할 계정 추가
# passwd user
# systemctl restart sendmail
# systemctl enable sendmail
# systemctl restart dovecot
# systemctl stop firewalld
# setenforce 0
- thunderbird client
# yum -y install thunderbird
계정 생성하고 보안은 없음 인증은 자동감지
나 자신한테 보내서 확인
- squirrel mail client
# wget http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/20/Everything/x86_64/os/Packages/s/squirrelmail-1.4.22-13.fc20.noarch.rpm
# yum -y localinstall squirrelmail*
# chown apache.apache -R /usr/share/squirrelmail/
# chown apache.apache -R /var/lib/squirrelmail/
# chown apache.apache -R /var/spool/squirrelmail/
# chown apache.apache /etc/squirrelmail/config.php
# /usr/share/squirrelmail/config/conf.pl
2
1
domain1.com
a
4
mail.domain1.com
8
other
s
r
10
1
ko_KR
2
euc-kr
r
s
q
# vim /etc/httpd/conf/httpd.conf
윗 줄 어디에나 Alias /webmail /usr/share/squirrelmail
# systemctl restart httpd
# systemctl enable httpd
# systemctl restart named
웹 브라우저에서 192.168.111.100/webmail 로 접속되는지 확인
※ 연결이 되지 않는다면 mod_ssl을 설치
'🔐 [정보보안] 모의해킹 침해대응 전문가 취업캠프 > Server' 카테고리의 다른 글
[Windows] 환경 세팅 (0) | 2023.09.18 |
---|---|
[Linux] PXE 설치 서버 (0) | 2023.09.15 |
[Linux] DNS (0) | 2023.09.12 |
[Linux] DHCP (0) | 2023.09.12 |
[Linux] NFS, Samba (0) | 2023.09.12 |