2008. 9. 18.

큐메일 서버 구축 #1 - 프롤로그

1. qmail 이란?
일반적으로 Unix/Linux 기반의 MTA는 Sendmail을 많이 사용하고 있습니다.
그러나 Sendmail은 프로그램이 단일화 되어 보안에 상당히 취약하며
사용함에 있어서도 불편한점이 많고 또 많은 전문지식을 필요로 합니다.
하지만 qmail은 모듈방식을 채택하여 사용하기 편리하며 그 기능또한 매우 다양 합니다.

2. qmail 제작자와 제작 의도
qmail은 D. J. Bernstein 교수가 제작했으며 큐메일은 보안에 매우 강력합니다.
또한 하루에 수십, 수백 만통의 메일을 배달해야만 하는 대형 서버들의 qmail 사용과
제작자의 보안에 대한 보장은 그 신뢰도를 더해 주고 있습니다.

3. qmail 메일의 특징과 장점

- 안전성
qmail을 통해 시스템에 침입할 수 없습니다.
실제 qmail은 발표된 이후로 아직까지 알려진 보안 사고가 없으며 Bernstein 교수가 qmail을
만들게 된 동기 역시 정기적으로 알려지곤 하는 Sendmail이나 다른 MTA의 보안홀 때문이라고 합니다.

- 신뢰성
qmail은 메세지를 절대 잃어버리는 일이 없습니다.
qmail은 NFS 파일 시스템상에서도 안전한 Maildir 형태 메일함의 선구자입니다.
Maildir 형태는 qmail에서 처음으로 사용하기 시작한 메일함 형식으로 배달이 이루어 지고 있는 동안에
시스템이 다운되더라도 파일 시스템에 문제가 생기지 않는 유일한 메일함이며 NFS 파일 시스템상에서
동시에 여러개의 메일이 배달되고 있는 동안에도 사용자가 메일을 읽을 수 있는 안전한 메일함입니다.

- 속도
qmail은 메세지를 Sendmail보다 빠르게 처리하면서 안정성을 잃지 않습니다.
특히 수 많은 메일을 동시에 배달해야 하는 메일링 리스트의 경우 가장 빠른 성능을 보이게 됩니다.
한 예를 들면 1000개 이상의 각기 다른 호스트에 메일을 배달하는데 76초 밖에 걸리지 않기도 합니다.

- 간단함
qmail은 다른 어떠한 MTA 보다도 작습니다.
포워딩, 알리아싱, 메일링 리스트 메카니즘을 독립적으로 가지고 있는 다른 MTA들과는 다르게
qmail은 한가지의 간단한 포워딩 메카니즘을 사용해 모든 기능을 구현하였습니다.
다른 MTA가 "빠르고 불안전한 -> 느린 큐" 방식의 배달 방식을 사용하는것 과는 달리
qmail은 새로운 아이템을 즉시 큐에 넣으므로 "빠른 큐"라는 하나의 배달 방식만을 사용합니다.

- 능률
qmail은 오래된 486 16M 시스템에서 하루에 70,000통 이상의 메일을 처리하는데
무리가 없을 정도로 그 성능과 능률이 뛰어납니다.

- 메일링 리스트
qmail은 일반유저가 메일링 리스트를 제어할 수 있기 때문에 관리자의 업무가 줄어드는데 도움을 줍니다.

- 가상 호스트 구축
쉬운 가상 호스트 구축으로 qmail은 다중 도메인 지원의 선구자입니다.

- 직관적인 관리
qmail은 최소한의 작업으로 관리가 손쉽습니다.

- 유연한 배달 프로그램
qmail은 외부 메일 프로세서를 위한 강력한 인터페이스를 제공합니다.

- 다양한 OS 지원
qmail은 동일한 소스로 포팅이 필요 없이 대부분의 UNIX 시스템을 지원합니다.
AIX, BSD/OS, FreeBSD, HP/UX, Irix, Linux, NetBSD, OpenBSD, OSF/1, SunOS, Solaris, 기타..

4. qmail의 모듈화 디자인
qmail은 Bernstein 교수의 다른 소프트웨어들 처럼 특정한 목적을 가지고 있는 작은 프로그램들의
모음이라 할 수 있는데 예를 들어 네트워크로 부터의 메일 수신은 qmail-smtpd가
외부로의 전송은 qmail-remote가 메일큐의 관리는 qmail-queue가 전담하는 식입니다.

5. 다양한 애드언과 패치
qmail의 모듈화된 구조는 새로운 기능을 추가하기 위한 다양한 에드언들의 개발을 쉽게 함으로써
이미 수많은 에드언들이 개발/제공되고 있으며, 관련 프로젝트도 많이 진행되고 있습니다.
몇가지 예를 들어 보겠습니다.

- vpopmail
vpopmail은 qmail하에서 가상 도메인/유저를 쉽게 관리하는 통합 관리 도구로 qmailadmin과
같이 사용함으로써 모든 관리를 웹으로 편리하게 할 수 있는 소프트웨어 입니다.

- qmail-ldap
LDAP와 qmail의 연동을 위한 패키지와 문서와 qmail이 어떻게 메세지를 처리하는지 이해하는데
큰 도움이 되는 그림 (big qmail picture)을 제공합니다.

- qmail + mysql
qmail은 mysql과 연동해서 사용할 수 있으므로 손쉬운 웹기반 인터페이스를 제작하는데 유용합니다.

- qmail-Scanner
qmail용 메일 바이러스 검사기로 대부분의 유료 바이러스 검사기와 연동하여 사용할 수 있습니다.

- Maildrop
procmail을 대체하는 로컬 MDA, 필터링 도구와 연동하여 강력한 필터링 서비스가 가능합니다.

- ezmlm
qmail의 제작자가 만든 메일링 리스트 관리 도구로 설정과 관리가 매우 간단하고 쉽습니다.

- qmail-smtpd-auth
유동 IP 사용자들의 SMTP 릴레이 지원을 위한 패치

이 외에도 필요에 따라 사용할 수 있는 수많은 에드언과 패치가 존재하며, 관련 정보와 뉴스들은
http://qmail.org (영문)의 웹 사이트와 qmail 메일링 리스트등과 한국 qmail 홈페이지에서
찾아 볼 수 있으며 qmail과 MySQL을 연동한 한글 웹메일 프로젝트도 진행중입니다.
qmail 메일링 리스트의 주소는 qmailannounce-subscribe(at)list.cr.yp.to 입니다.

6. qmail 설치
qmail 을 설치할 때 구성할 수 있는 경우의 수는 매우 다양합니다.
어떤 인증 모듈을 사용하는지, IMAP 지원 여부, 스팸 필터링 기능 지원 여부, qmailAdmin 지원 여부,
Webmail 지원 여부 등등에 따라 수많은 경우가 있을 수 있습니다.

댓글 없음: