Linux 19 . Mail 서비스

2024. 2. 19. 09:38Linux/CentOS7

메일 서비스를 위해서 3가지 App을 설치해주자

sendmail, sendmail-cf, dovecot

 

 

sendmail, sendmail-cf  >> 보내는 메일 App

dovecot >> 받는 메일 App

 

보내기위한 메일 서버

sendmail

그런 뒤

sendmail 설정 파일이 있는 /etc/mail 디렉토리를 살펴보자

우리는 지금 크게 4가지 파일을 수정 할 것이다.

먼저 sendmail.mc를 vi 편집기로 수정하자

 

sendmail.mc 파일은 특이하게 주석이 dnl로 쓰여있다.

21행에서  주석(dnl) 을 제거해주고 레벨을 14로 올려주자

 

이는 로그 기록 레벨을 설정하는 것인데 레벨별로 기록되는 로그가 달라진다

로그 기록 레벨별 수준은 아래 표와 같다

로그 기록 레벨 기록 수준
0 최소한의 정보만 기록
1 심각한 에러발생 및 보안정보 기록
2 네트워크 에러 또는 접근 실패시 기록
3 잘못된 주소, forward 파일의 에러, timeout 발생등에 따른 접속실패 기록
4 메일처리시 tcp_wrapper 에 의해 거부된 접속등이 기록
5 수신되는 메일의 레코드를 기록
6 vrfy 명령에 의한 사용자정보 파악 시도 기록
7 메일수신 실패시 기록
8 메일수신 성공시 기록
9 시스템 자원부족에 의한 수신실패시 기록
10 데이터베이스에서 탐색되는 키 값 기록
11 NIS 사용시 에러, 프로세스 종료 기록
12 SMTP접속 기록
13 비사용자 쉘, 디렉토리 퍼미션 설정등  기록
14 접속거부에 대한 기록
15 모든 SMTP 접속 기록
log 의 용량이 커지게 되는 원인으로 부하를 유발할 수도 있음

 

52,53행 주석 제거

신뢰하는 인증 메커니즘,

해당 메커니즘을 사용하여 인증하는 기능이다.

118번 행의 Addr을 0.0.0.0 으로 설정하기도 한다 (모든 IP에 서비스)

아니면 서비스할 네트워크를 정할 수 있다.

우리는 Addr 부분을 모두 지워줬다.

 

설정이 끝났으면

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 

입력해주자

원래 > 기호는 mc가 cf 파일을 덮어쓰지만

 m4 명령어로 인해 수정한 내용만 cf 쪽으로 들어가게 된다.

 

 

그리고 /etc/mail/sendmail.cf 를 확인해보자

89번째 행에 호스트 이름을 집어넣어야 하는데

그것 보단 91번째 행의 경로 파일에 집어 넣는 것이 좋다

 

local-host-names를 vi 편집기로 확인해보자

도메인 이름과 메일서버를 같이 입력해주자

 

 

 

그러면 마지막 남은 access 파일을 확인하자

access 파일에서 사용자 범위를 제한할 수 있다.

access 파일에서도 

도메인 이름,메일서버 이름

IP 대역을 입력해준다.

 

access 파일 수정 후 반드시 makemap hash

access를 똑같은 access 이름으로 변경 시켜 줘야만

sendmail이 읽을 수 있는 database 형태로 저장된다!

그리고 메일을 이용할 계정들을 

 vi /etc/group 에서

mail 그룹에 넣어주자!

시스템을 실행할떄

sendmail 뿐만 아니라 sasl 인증도 실행하자!

(sasl 인증 : id/pw를 통한 인증)

당연히 mail 사용을 위한 포트도 개방시켜주자

 

 

 

받기위한 메일 서버

dovecot

 

 

dovecot 설정 파일이 들어 있는

/etc/dovecot을 확인해보자

dovecot.conf 는 전역설정

conf.d/ 는 세부 설정이 있는 디렉토리다.

 

전역설정 부터 vi 편집기로 살펴보자

24, 30 행의 주석을 제거해서

프로토콜 사용할 수 있게 해주고

listen = *, :: 는 모든 아이피로 서비스 하겠다는 것인데

각각 

* > ipv4

:: >ipv6

를 뜻한다.

 

 

 이제 세부 설정을 살펴보자

현재 우리가 사용할 기능들은 저 네가지만 설정하면 된다

하나씩 살펴보자

 

 

 

 

 

10-authconf

암호화된 인증을 쓸 것인지 결정

10번째 행은 평문인증을 사용하지 않겠다는 항목이다.

yes면 ssl을 사용하여 암호화 되니

 

지금은 주석제거 및 no로 바꿔주자

 

 

10-mail.conf

메일 사서함의 위치를 결정

25행에 /var/mail/%u (%u : 사용자이름 변수)

주석제거만 해주자

 

 

10-master.conf

포트를 결정

imap 과 pop3 의 포트가

주석처리 되어있다.

주석제거 하자

 

10-ssl.conf

ssl 사용을 결정

8행의 ssl이 require로 되어있다.

우린 ssl 사용하지 않는 평문 인증이니 

no로 바꿔주자

 

 

설정이 끝났으니 

systemctl start dovecot 으로 

실행시켜주자

 

 

그리고 윈도우의 Thunderbird에서 계정을 만들어주자 (a, b)

처음에 설정했던 리눅스 사용자와 맞춰서 생성해주자

 

본인과 b 계정으로 잘가면 성공한 것이다!

 

 

 

 

이상으로 리눅스에서 mail시스템을 서비스 해봤다.

'Linux > CentOS7' 카테고리의 다른 글

Linux 21 . at, cron  (0) 2024.02.20
Linux 20 . NFS 서비스  (0) 2024.02.19
Linux 18 . httpd 서비스  (0) 2024.02.19
Linux 17 . DNS 서비스  (0) 2024.02.15
Linux 16 . ftp 서비스  (0) 2024.02.14