✉️ 메일 서버를 구축하는 여정, 어느덧 Dovecot 설정의 핵심으로 들어왔습니다!
지난 글에서 Dovecot의 설정 파일 구조를 살펴보았죠? 이제는 실전에 돌입할 시간입니다.
📌 아직 이전 편을 못 보셨다면 먼저 읽어보시길 추천합니다.
👉 리눅스에서 메일 서버 구축하기 #3: Dovecot 설정 파일 구조와 적용 방식
이번 글에서는 메일 서버 운영에 꼭 필요한 Dovecot의 필수 설정 파일 4개를 하나씩 분석하면서, 가상 사용자 환경과 Postfix 연동을 고려한 실용적인 설정 방법을 정리해보겠습니다.
🚀 Dovecot 필수 설정 파일 4가지
Dovecot 설정 파일이 너무 많아서 처음 보면 머리가 아플 수 있습니다. 하지만 이 4가지 설정 파일만 제대로 이해하면 기본적인 메일 서비스 운영이 가능합니다.
설정 파일 | 역할 |
---|---|
10-auth.conf |
사용자 인증(Authentication) 설정 |
10-mail.conf |
메일 저장소(메일박스) 설정 |
10-master.conf |
서비스 프로세스(IMAP, POP3, LMTP 등) 설정 |
10-ssl.conf |
TLS/SSL 암호화 설정 |
각 설정 파일을 살펴보며 가상 사용자 환경과 Postfix 연동을 고려한 설정을 적용해보겠습니다.
🛠️ Dovecot 설치 시 생성되는 vmail
사용자
Dovecot을 처음 설치하면 시스템에 vmail
이라는 전용 사용자와 그룹(UID/GID 5000)이 자동으로 생성됩니다.
이 사용자는 메일 데이터를 저장하고 관리하는 역할을 하며, 시스템 계정이 아니라 별도로 메일만을 다루는 계정입니다.
🔍 vmail
사용자 확인 방법
터미널에서 다음 명령어를 실행하면 확인할 수 있습니다.
id vmail
출력 예시:
uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)
또는 /etc/passwd
파일에서 직접 검색할 수도 있습니다.
grep vmail /etc/passwd
만약 vmail
사용자가 존재하지 않는다면, 다음 명령어로 수동 생성해야 합니다.
sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /sbin/nologin -d /var/mail vmail
✅ 이제 Dovecot 설정에서 vmail
사용자를 활용하여 메일을 저장할 수 있습니다!
1️⃣ 10-auth.conf
- 사용자 인증 설정
이 파일은 사용자의 인증 방식을 결정하는 매우 중요한 설정 파일입니다.
특히 우리는 가상 사용자(Virtual User) 환경을 구축할 예정이므로, 이를 고려하여 설정하겠습니다.
📌 중요 설정 포인트
- 가상 사용자 방식(DB 연동)으로 인증할 것
- PLAIN 및 LOGIN 방식 인증 활성화 (SSL 환경에서 안전하게 사용)
- 시스템 계정(/etc/passwd)이 아니라 DB를 이용해 인증
🔹 설정 파일 예시 (/etc/dovecot/conf.d/10-auth.conf
)
disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext
💡 설명
disable_plaintext_auth = yes
→ 평문 인증은 SSL을 사용할 때만 허용auth_mechanisms = plain login
→ IMAP, POP3에서 가장 많이 쓰이는 인증 방식!include auth-sql.conf.ext
→ 인증 정보를 데이터베이스에서 가져오도록 설정
✍ 즉, Dovecot이 직접 /etc/passwd
같은 시스템 계정을 사용하는 것이 아니라, MySQL 등 DB를 이용하여 인증하도록 구성하는 것입니다.
다음 편에서 auth-sql.conf.ext
파일을 상세히 다룰 예정입니다!
2️⃣ 10-mail.conf
- 메일 저장소 설정
메일이 실제로 어디에 저장될지를 결정하는 설정 파일입니다. Postfix와 연계하여 Maildir 형식으로 저장하는 것이 일반적입니다.
📌 중요 설정 포인트
- Maildir 형식 사용
- 가상 사용자의 메일 저장 경로 설정
- 메일 권한 설정
설정 파일 예시 (/etc/dovecot/conf.d/10-mail.conf
)
mail_home = %h
mail_location = maildir:%h/Maildir
namespace inbox {
inbox = yes
}
mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail
💡 설명
mail_home = %h
→ 가상 사용자의 홈 디렉터리를 사용 (DB에서 직접 경로 지정 예정)mail_location = maildir:%h/Maildir
→ 메일을 Maildir 방식으로 저장mail_uid
,mail_gid
→ 메일 저장 전용 사용자(vmail
) 사용namespace inbox { inbox = yes }
→ 메인 메일함(받은편지함)으로 지정
✍ 즉, 사용자의 메일을 특정 시스템 계정이 아닌, 별도의 vmail
계정을 이용해 관리하도록 구성하는 것입니다.
3️⃣ 10-master.conf
- 서비스 프로세스 설정
Dovecot이 제공하는 서비스(IMAP, POP3, LMTP 등)를 설정하는 파일입니다.
특히 Postfix와 연동하여 LMTP(Local Mail Transfer Protocol)를 사용할 계획이므로, 이를 활성화해야 합니다.
📌 중요 설정 포인트
- LMTP 활성화 (Postfix와 연동)
- 인증 소켓 설정 (Postfix가 Dovecot의 인증을 사용하도록 설정)
🔹 설정 파일 예시 (/etc/dovecot/conf.d/10-master.conf
)
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
client {
path = /run/dovecot/auth-client
}
}
💡 설명
- LMTP 활성화 (service lmtp)
- Postfix가 메일을 Dovecot으로 전달할 때
dovecot-lmtp
소켓을 이용 - Postfix와 Dovecot 인증 연동(service auth)
- Postfix가
/var/spool/postfix/private/auth
소켓을 통해 Dovecot에서 인증 정보를 가져갈 수 있도록 설정
✍ 즉, Postfix가 Dovecot을 통해 사용자 인증을 처리하고, 메일 전달도 LMTP를 통해 연계하도록 설정하는 것입니다.
4️⃣ 10-ssl.conf
- TLS/SSL 암호화 설정
메일 서버는 반드시 암호화해야 합니다! 이 파일에서는 SSL/TLS를 설정하여 보안성을 강화합니다.
📌 중요 설정 포인트
- SSL/TLS 암호화 활성화
- Let’s Encrypt 또는 자체 서명 인증서 사용 가능
📌 ⚠️ 이 글에서는 SSL 인증서를 발급받는 과정은 생략합니다.
이미 도메인에 대한 인증서를 발급받았다고 가정하고 진행하며, Let’s Encrypt, 자체 서명 인증서, 또는 상용 인증서를 사용할 수 있습니다.
설정 파일 예시 (/etc/dovecot/conf.d/10-ssl.conf
)
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
💡 설명
ssl = required
→ SSL 필수ssl_cert
,ssl_key
→ Let’s Encrypt 인증서를 사용하여 암호화 적용
✍ 즉, 클라이언트가 암호화 없이 접근하지 못하도록 하고, TLS를 통해 보안성을 높이는 것입니다.
🏁 정리
✅ 이번 글에서 다룬 Dovecot 필수 설정 파일 4가지
- 10-auth.conf → 사용자 인증 방식 (DB 기반 가상 사용자 환경 적용)
- 10-mail.conf → 메일 저장소 경로 및 권한 설정 (mail_home = %h
적용)
- 10-master.conf → Postfix와 연계한 LMTP 및 인증 서비스 설정
- 10-ssl.conf → SSL/TLS 보안 설정 (Let's Encrypt 설정 생략)
이 설정들만 정확히 이해하면, Postfix와 연동하여 메일을 수신/발신하는 환경을 구성할 수 있습니다. 다음 편에서는 가상 사용자 환경을 위한 데이터베이스 설정 (auth-sql.conf.ext
)을 다룰 예정입니다! 🚀
이전 글이나 메일서버 구축 시리즈의 다른 글들도 읽어보세요! 하단의 "Simiar Posts"나 우측 상단의 검색창에 "dovecot", "mail"을 검색해보세요!
Add a New Comment