리눅스 서버 보안/메일 서버

메일 서버 설치

seungwon9201 2024. 8. 12. 14:13

이번 실습에서는 메일 서버에 SSL/TLS 보안 프로토콜을 적용해서 메일 서버의 보안을 강화하고, 메일을 주고받을 때 메일에 악성 코드나 스팸 메일이 포함되지 않도록 안티바이러스 및 스팸 메일 필터 패키지를 설치해 볼 것이다. 

우선 메일 서버 부터 설치하자.

 

메일 서버에는 MSA, MTA 기능을 제공해주는 postfix 패키지와 POP3/IMAP 프로토콜로 메일함 서비스를 제공해 주는 dovecot패키지를 설치해야 한다. 

SSL/TLS 프로토콜을 사용하려면 인증서가 필요하고, 해당 인증서를 사용하려면 테스트 도메인이 아닌 실제 운영하는 도메인이 필요하다. 하지만 지금 실제 운영하는 도메인이 없기에 maxoverpro.org라는 가상 도메인을 사용해서 실습해 볼 것이다. 

 

postfix 패키지를 설치하기전에 가상 도메인을 인식하도록 /etc/hosts에 들어가서 로컬 호스트 파일을 설정하자.

그렇다면 이 도메인이 내부 IP로 변경되는지 확인해 보자.

성공적이다. 이제 postfix 패키지를 설치하자.

 

apt install postfix

중간에 설정관련해서 물어보는데 수동으로 진행할 것이기 때문에 이렇게 설정해 주면 된다.

 

설치가 됐다면 샘플 환경 설정 파일을 postfix 경로에 복사하자. 

이제 메일 서버의 설정 파일인 /etc/postfix/main.cf를 수정해야 한다. 

호스트 이름, 도메인 설정

 

메일 보내는 주소 도메인명, SMTP 메일 서버 요청을 받는 네트워크 인터페이스
로컬 전송 도메인명, 메일 수신자 제한
네트워크 타입, 메일 서버 간 전송을 허용할 SMTP주소
메일과 사용자 연결하는 map 방식, 사용자 저장 위치
메일 저장 위치
메일 서버 접속 시 표시 제한 메시지(노출 방지)
각종 서비스 경로들
사용하지 않는 경로 주석처리
SMTP인증 관련 설정, 다른 SMTP 서버로부터 수신한 메일 딜레이 제한 여부 설정

자, 이렇게 많은 설정을 완료했다면 aliases(사용자와 메일 매핑 공간)를 만들어야 한다.

sudo newaliases를 입력하면 된다.

 

이제 설정이 정상적으로 작동되는지 확인해 보자.

이렇게 뜬다면 성공이다.

그럼 메일 서버 환경 설정을 적용하기 위해서 systemctl restart postfix를 입력하여 서비스를 다시 시작하자.

 

여기까지 했다면 postfix설치와 설정이 끝났다. 이젠 dovecot 패키지를 설치해 볼 것이다.

 

dovecot은 IMAP/POP3 프로토콜을 사용해서 MUA에게 메일을 전달하는 패키지이다.

apt install dovecot-core dovecot-pop3d dovecot-imapd

설치가 끝났다면 설정 파일 4개를 수정해야 한다.

  • /etc/dovecot/dovecot.conf

ipv4, ipv6 네트워크 응답 수신

  • /etc/dovecot/conf.d/10-auth.conf

평문 인증 설정
SASL 인증을 위한 로그인 인증

  • /etc/dovecot/conf.d/10-mail.conf

메일 저장 경로 지정

  • /etc/dovecot/conf.d/10-master.conf

SMTP 서버 SASL 인증

이렇게 하면 4개 파일에 대한 설정은 끝났다. 다시 dovecot 서비스도 재시작 해주자.

 

테스트

여기까지 했다면 메일 사용자를 등록하고 전송 테스트를 해보자.

먼저 리눅스의 메일 전송 클라이언트를 설치하자.

apt install mailutils

mail 명령어를 사용해서 메일을 전송할 것이다. 우선 사용자의 기본 메일함을 변경해 보자.

/etc/profile.d/mail.sh에 아래와 같이 내용을 추가해 주면 된다.

이젠 메일을 받을 사용자를 만들자.

메일 송수신이 정상적으로 작동되는지 확인하기 위해서 현재 사용자에서 mailuser에게 메일을 전송해 볼 것이다.

Ctrl + D를 누르면 메일 작성이 종료된다.

이제 mailuser로 접속해서 메일이 왔는지 확인해 보자.

이렇게 내가 보낸 내용이 메일함에 들어와 있는 것을 확인할 수 있다!

 

번외

 

그렇다면 이번엔 postfix SMTP 서버를 활용해서 외부로도 메일을 보내보자.

메일을 보내고 들어가서 확인을 해봤더니 메일이 오지 않았다..

 

왜 이런지 로그를 분석해 봤더니 DMARC 정책 강화로 인한 gamil 측에서 차단을 해서 안 보내졌던 것이다.

과거에는 보내졌는데 최근 정책 강화로 인해서 보내지지 않은 것이라 추가적인 설정을 해줘야 한다.(이 부분은 생략)

 

 

'리눅스 서버 보안 > 메일 서버' 카테고리의 다른 글

메일 서버 보안 설정  (0) 2024.08.12
메일 서버 해킹  (0) 2024.08.12