메일서버 postfix-sasl Howto 설정법
페이지 정보
작성자 차동박 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 23,494회 작성일 12-03-28 20:06본문
1 서문 ¶IBM Public License를 따르고, Wietse Venema가 개발한 오픈소스 MTA(Mail Transfer Agent) 프로젝트인 Postfix를 소개하고, SMTP Authentication(이하 Auth)을 이용하여 메일 서비스를 가능하게 하는 간단한 HOW-TO를 제공합니다. 1.1 문서의 저작권 ¶Copyright (C) 2003 신종훈 이 문서는 GNU Free Documentation License 버전 1.2 혹은 이에 준하는 저작권의 규정에 따르며, 저작권에 대한 본 사항이 명시되는 한 어떠한 정보 매체에 의한 본문의 전재나 발췌도 무상으로 허용됩니다. 또한 위키의 특성상, KLDPWiki 내에서 위 라이센스를 위반하지 않는 수준에서 자유롭게 수정이 가능합니다. 1.2 책임의 한계 ¶본 저자는 문서의 내용이 야기할 수 있는 어떠한 결과에 대해서도 책임을 지지 않습니다. 본 문서에서 내포하고 있는 정보들 및 예제들은 여러분이 알아서 활용하십시오. 비록 최선을 다했으나 이 문서는 틀린 점이나 오류가 있을 수도 있습니다. 만약 여러분이 틀린 점을 발견했다면 수정 또는 메일로 알려주시길 바랍니다. 1.3 감사의 글 ¶이 문서를 작성하는데 도움을 주신 많은 분들에게 감사드립니다.
1.4 피드백 ¶이 문서에 대한 발전적인 제안이나 수정사항, 문제점 등에 대한 피드백 및 수정은 언제든지 환영합니다. KLDPWiki 이외의 곳에서 해당 문서의 수정사항을 발견하거나 반영하고 싶으시다면, luna12s (at) pulix.org 로 보내주십시오. 2 Postfix 소개 ¶예전의 IBM Secure Mailer였던, Vmailer MTA(Mail Transfer Agent)의 현재 명칭이다. 1998년 이후 Postfix로 명칭이 바뀌고,오픈소스 소프트웨어로 전향하였다. Qmail과 함께 Sendmail의 대안으로 사용되고 있다. Postfix는 가볍고 빠르며, Sendmail에서 이전(Migration)시 예전 사용자들이 큰 이질감을 느끼지 않는다는 강점이 있다. SASL(Simple Authentication and Security Layer, rfc2222)을 이용한 SMTP 인증을 지원하기 때문에, 복잡한 릴레이 설정을 하지 않고도 구축한 메일 서버가 Spam Relaying에 이용될 가능성을 낮출 수 있다. HP-UX, AIX, GNU/Linux, SunOS, IRIX, NeXTSTEP, BSD계열, Mac OS X(Darwin)까지 *NIX 계열에서 두루두루 설치 및 운영이 가능하다. 메일 필터링을 위해 펄 호환 정규 표현식을 사용할 경우 PCRE(Perl Compatible Regular Expression library)를 필요로하고, SMTP Auth를 사용할 경우 SASL Library와 SSL Library를 추가로 요구한다. 3.1.1 SASL 설치 ¶SMTP Auth를 이용하기 위해서는, Cyrus-SASL 라이브러리가 필요하다. Cyrus-SASL의 정보와 다운로드는 아래의 사이트에서 구할 수 있다: About Project Cyrus-SASL : http://asg.web.cmu.edu/sasl/ Project Cyrus Downloads : http://asg.web.cmu.edu/cyrus/download/ SASL에는 SASL v1과 SASL v2가 있다. Cyrus-SASL 프로젝트의 사이트에서는 두가지를 다 구할 수 있는데, v1의 경우 버전 1.5.28을 기점으로, 특별한 보안버그가 없다면 버전 업은 이루어지지 않을 것이다. v2는 2.x 혹은 그 이후 버전을 받으면 된다. 이들 SASL을 설치함으로, 다음과 같은 패스워드 인증 체계를 얻게 된다.
3.1.1.1 SASL v1(Cyrus-SASL 1.x) 설치 ¶SASL 라이브러리의 경우, 다른 보통의 GNU Software와 마찬가지로 Automake와 Autoconf를 이용한 configure - make - make install 구조를 가지고 있다. 위에서 말한 모든 인증 시스템을 사용가능하게 하고 싶다면, 다음과 같이 컴파일 하면 된다. $ ./configure --prefix=/usr --with-saslauthd=/sbin --with-pwcheck=/sbin --enable-login
--enable-login 옵션은, MS Internet Explorer 5 버전에서의 비 표준 SASL LOGIN 인증을 위해 추가해주는 옵션이다.
Kerberos v4 인증 체계를 사용하지 않는다면, --disable-krb4 를 추가해준다.
익명(Anonymous) 로그인을 허용하지 않는다면, --disable-anon 을 추가.
sasldb 이용시, /etc/sasldb 파일의 위치를 바꾸고 싶다면 --with-dbpath=PATH 옵션을 추가하면 된다. Configure가 끝나면, 컴파일과 설치를 해주면 끝난다. $ make $ make install 3.1.1.2 SASL v2(Cyrus-SASL 2.x) 설치 ¶기본적으로 v1과 같은 옵션을 사용가능 하다. 여기에서는 v2에서 추가된 몇가지를 소개한다:
역시 Configure가 끝나면, 컴파일과 설치를 해주면 된다. 3.2.1 기본 컴파일 방법 ¶기본적으로 Postfix를 컴파일 하는데는 GCC를 사용한다. 만약 다른 C 컴파일러를 사용하는 플랫폼을 사용한다면, 다음과 같이 컴파일러를 지정할 수 있다. % make makefiles CC=/opt/SUNWspro/bin/cc (솔라리스 C Compiler의 경우) % make
% make makefiles CCARGS='--DDEF_CONFIG_DIR="/some/where"' % make DEF_CONFIG_DIR 대신 들어갈 수 있는 매크로 명들은 다음과 같다:
만약 Postfix를 대 용량 메일서버로 동작시키게 할 경우(한번에 1000통 이상의 메일 전송을 처리 할 경우), FD_SETSIZE(파일 기술자(File Descriptor)사이즈)를 재설정 해줘야 한다. CCARGS 옵션을 사용하여, 고칠 수 있다: % make makefiles CCARGS=-DFD_SETSIZE=2048 기타 GCC Optimization Flag를 추가하고 싶다면, OPT 옵션을 사용, 고치면 된다: % make makefiles OPT="-O2 -march=i686 -mcpu=i686 -ffast-math" 펄의 정규 표현식을 메일 필터링에 이용하고 싶을 경우, PCRE를 설치해놓고, Postfix 빌드시 다음의 CCARGS 옵션을 줘야 한다. (여기에는 PCRE를 /usr에 설치했을 경우를 예로 들었다. 직접 설치할 경우 보통 /usr/local에 설치된다.) % make -f Makefile.init makefiles \ "CCARGS=-DHAS_PCRE -I/usr/include" \ "AUXLIBS=-L/usr/lib -lpcre" 컴파일을 위해서는 다음과 같이 make 를 해주면 된다.
% make
% make tidy 3.2.2 SMTP 인증을 위한 컴파일 설정 ¶Postfix가 SASL 라이브러리를 이용할 수 있도록 다음과 같이 Makefile 설정을 수정해준다. (다른 Makefile 설정이 있다면, CCARGS 에 같이 추가해주면 된다) 다음의 설정은 SASL을 /usr/local 에 설치한것을 기준으로 한다. SASLv1을 위한 컴파일 설정: $ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include" \ AUXLIBS="-L/usr/local/lib -lsasl" SASLv2를 위한 컴파일 설정: $ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include/sasl" \ AUXLIBS="-L/usr/local/lib -lsasl2"
3.2.3 빌드 과정에서의 문제 해결 ¶
% make -f Makefile.init makefiles 3.3 설치 과정 ¶무사히 컴파일을 완료 하면, 직접 설치를 해줘야 한다.
# useradd -M -s /bin/false postfix
그 다음, /etc/passwd를 열어, postfix의 셸이 /bin/false(로그인을 못하는 셸이면 어떤것이던 관계없다)인지 확인하자. 가능하면, 관리의 기준을 맞추기 위해 postfix 계정의 uid와 gid를 500번 이하로 해주는 것이 좋다. 이제 postdrop 그룹을 하나 생성한다: # groupadd -g 54321 postdrop
이제 Debug Symbol이 제거된 Postfix를 사용하기 위해, 설치 이전에 다음과 같이 해주자: % strip bin/* libexec/* 모든 것이 다 끝나면 이제 설치를 해 준다. 최초설치와 업그레이드 설치로 나누어 설치 가능하다: # make install (최초 설치용. Interactive한 설치)
or
# make upgrade (Postfix 업그레이드용. Non-Interactive)
mail.* -/var/log/maillog 3.3.1 Interactive 설치 ¶# make install 을 하여 최초 설치를 시작하게 되면, 사용자에게 prefix를 묻게 된다. 상황에 적절하게 넣어줘도 되고, 신경쓰고 싶지 않다면 그냥 엔터를 쳐주게 되면 기본적으로 설치되게 된다. 처음 질문은 설치할 곳의 루트를 묻는것이다. RPM과 같은 패키징 소프트웨어를 위한 것이므로, 그냥 엔터를 쳐주면 된다. install_root: [/] 다음에는 스크래치(Scratches)파일을 담을 임시 디렉토리의 위치를 물어본다. 반드시 쓰기 퍼미션(Write Permission)이 그 디렉토리에 있어야 한다. /tmp 로 정해주자. tempdir: [/foobar/postfix-VERSION] /tmp
다음은 설정을 저장할 디렉토리를 정해준다. 그냥 엔터를 쳐주는 쪽이 가장 무난하다. config_directory: [/etc/postfix]
그 다음은 postfix 데몬을 설치할 디렉토리를 물어본다. 기본은 /usr/libexec/postfix 이며, 이 위치는 다른 유저의 Command Path(명령어 경로)에 포함되어서는 안된다는 것에 주의. daemon_directory: [/usr/libexec/postfix]
다음은 postfix 관리 프로그램을 설치할 디렉토리를 지정한다. 기본은 /usr/sbin 이며, 관리자(슈퍼유저)의 명령어 경로에 포함되어 있어야 한다. command_directory: [/usr/sbin] 그 다음, 메일의 큐(Queue)를 저장할 곳을 지정한다. 기본은 /var/spool/postfix 이며, sendmail을 대체하고자 할때는, /var/spool/mqueue 로 지정해도 된다. 여기서는, /var/spool/mqueue에 지정한다. queue_directory: [/var/spool/postfix] /var/spool/mqueue
다음은 postfix의 sendmail 명령어를 수행할 프로그램을 설치할 곳을 "전체 경로명(Full Pathname: 디렉토리를 포함, 파일명까지 기록해주는것)"으로 기입하여야 한다. 기존의 sendmail에서의 이전(Migration)이라면 /usr/sbin/sendmail 로 해준다. sendmail_path: [/usr/sbin/sendmail] 그 다음은 postfix의 newaliases 명령어를 어디에 설치할것인지 결정한다. 역시 전체 경로명을 입력하여야 하고, sendmail에서의 이전이라면 /usr/bin/newaliases 로 해주면 된다. newaliases_path: [/usr/bin/newaliases] 다음은 mailq 명령어를 어디에 설치할 것인지 결정한다. 위와 동일하다. mailq_path: [/usr/bin/mailq] 그 다음, postfix의 큐(Queue)의 소유권자(Owner)를 결정해줘야 한다. 앞에서 유저를 생성한 대로, postfix로 해주면 된다. mail_owner: [postfix]
다음은 Mail Submission과 Queue Management 명령을 수행할 사용자 그룹을 선택한다. 여기서 정해주는 그룹은 postfix 및 기타의 그 어떤 ID와도 연결되어서는 안된다는 것에 주의. setgid_group: [postdrop] 이제 맨(man)페이지의 위치를 결정한다. 기본값으로 /usr/local/man 이며, sendmail에서 이전시 /usr/share/man 으로 지정해줘도 된다. 여기서는, /usr/share/man 으로 지정한다. manpage_directory: [/usr/local/man] /usr/share/man 그 다음은 postfix의 설정 예제를 넣을 곳을 결정한다. 위의 설정 저장 위치와 동일하게 해주면 OK. sample_directory: [/etc/postfix]
다음은 README를 설치할 디렉토리. 기본값은 no 이며, no라고 지정시 설치하지 않는다. readme_directory: [no] 모든 질의가 끝나면 이제 각 파일들을 앞에서 지정한 prefix에 설치하게 된다. 모든 설치가 끝나면, /etc/aliases 파일을 체크하여 메일 alias 설정을 확인하고, newaliases 명령을 실행하여 db 파일을 생성하면 대략적인 설치과정이 끝난다. 4.2 SMTP / POP3 (Port 25/110) 사용 ¶송수신을 모두 가능하게 하기 위해서는, 일단 MX 레코드가 설정되어 있는 도메인을 소유하는것이 가장 중요하다. 일단, /etc/postfix/main.cf 에서, myhostname = linux.org mydomain = linux.org가 있는 항목을 찾아 위의 예 처럼 도메인 / 호스트 네임 설정을 해준다. Virtual Hosting 옵션은 다른곳에서 설정하므로, 여기서 다른 도메인 네임까지 같이 기록하는 수고는 하지 않길 바란다. 아래에, 최종 도착지(수신지)를 세팅하는 항목이 있다. 다음과 같이, mydomain, myhostname에 속하는 것을 받도록 설정한다. 이는 서버가 Open Relay가 가능하게 하는 것을 막는다. (기본 설정으로도 Postfix는 Relay를 거부한다) mydestination = $mydomain, $myhostname
4.2.1 가상 도메인 및 Aliases 설정 ¶Virtual Domain을 사용하기 위해서는, main.cf에서 virtual alias mapping file을 사용한다고 알려줘야 한다. /etc/postfix/main.cf 설정 # For Virtual Alias domain setting
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_domains = $virtual_alias_maps
/etc/postfix/virtual 파일 설정 - 이 파일에서는 실제 Virtual Domain 설정이 들어간다. # Virtual Domain 설정. 다음과 같이, 도메인 네임을 써주고 뒤에 anything을 써주면 된다. domainname.org anything domain.co.kr anything domain.com anything domain2.org anything domain3.ac.kr anything # 계정별 Virtual Aliasing. 외부에서 받을 메일 주소와, 실 계정 수신자의 ID를 대응시켜주면 된다. # 여기는 메일주소 여기는 계정ID linux@domain.com linux sarang@domain2.org sarang user3@domain.co.kr user3 sample@domain.org sample /etc/postfix/virtual 작성이 끝나면, 다음의 명령을 통해 해시 테이블인 /etc/postfix/virtual.db 를 생성한다. 여기서 시간이 꽤 많이 걸리기 때문에, 30초~1분에 달하는 인내심을 요구한다. # postmap /etc/postfix/virtual
4.3.1 pwcheck를 사용할 경우 ¶pwcheck를 이용하여 SMTP 인증을 할 경우, pwcheck 데몬을 항상 띄워줘야 한다. chkconfig 등 데몬 관리자를 사용하거나 rc.local 파일을 수정하여, 부팅시 항상 띄우도록 한다. /usr/lib/sasl/smtpd.conf 예제 (SASLv2의 경우 /usr/lib/sasl2/smtpd.conf, 또는 /usr/local/lib/sasl2/smtpd.conf) pwcheck_method: pwcheck 이렇게 하면 smtpd가 SASL pwcheck를 사용하게 된다. Postfix를 재 시작하기전에, pwcheck가 띄워져 있는지 확인하자. 4.3.2 saslauthd를 사용할 경우 ¶pwcheck 대신 saslauthd를 쓰면 더욱 편리하다. saslauthd 는 Cyrus-SASL 1.5.x, 2.x 버전 모두에 있으며, RPM으로 설치한 사람은 saslauthd 패키지를 추가로 설치해야 할 것이다. smtpd.conf에, pwcheck 대신 pwcheck_method: saslauthd라고 하면 된다. 역시 saslauthd 를 미리 띄워야 하는데, 다음과 같이 서비스 할 수 있다. $ saslauthd -a shadow이는 shadow 파일을 이용한 것인데, 이 밖에도 PAM, sasldb 등을 사용할 수 있다. 자세한건 man saslauthd 를 참고. main.cf 파일 설정 예제 # 여기서 부터는 SMTP 인증 세팅 smtpd_sasl_auth_enable = yes # 익명 접속 불가 smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname # MS Internet Explorer 5 버전의 비 표준 SASL 인증 호환 broken_sasl_auth_clients = yes # smtpd_recipient_restrictions 에서 check_relay_domains 항목 # 2.0 초기버전 이후 deprecated 되었음. 대신 reject_unauth_destination 사용 smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination # root 쪽에 기록 메일을 보낼 항목 notify_classes = delay, policy, protocol, resource, software 4.4 Header 및 Body 검사로 스팸 및 바이러스 메일 걸러내기 ¶대부분의 스팸메일은 발송자의 이름을 랜덤하게 생성하거나, 없는 사용자의 이름을 사용한다. 게다가 없는 호스트네임/도메인네임을 붙여서 발송하는 경우도 상당히 많이 있다. 그리고 대부분의 정상적인 메일 서버는 발송시 HELO나 EHLO에서 호스트네임/도메인네임을 붙인다. 이 3가지를 체크하면 상당히 많은 숫자의 스팸을 효과적으로 차단할 수 있다. 어차피 개인 SMTP 서버로 메일을 보내는 사람은 극히 드물다. main.cf 설정 부분 예제. # For SPAM Control - HELO, Domain 체크 # vrfy 명령어로 사용자 ID를 긁어내는 봇 방지 disable_vrfy_command = yes # 접속후 HELO, EHLO 명령을 사용하는지 체크하려면 주석을 제거한다. # smtpd_helo_required = yes # HELO나 EHLO시에 잘못된 hostname syntax를 쓰는 커넥션은 발송을 금지한다. 좀 더 엄격하게 체크를 한다면, # reject_unknown_hostname (A 레코드나 MX 레코드가 존재하는 도메인을 가지고 있는지 체크) # 혹은 reject_non_fqdn_hostname (입력한 도메인이 FQDN을 만족하는지 체크) 옵션을 추가하면 된다. (콤마(,)로 구분) smtpd_helo_restrictions = reject_invalid_hostname # A 레코드나 MX 레코드가 없는 도메인에서 발송된 경우 reject 시킴. # 더 자세한 세팅은 http://www.postfix.org/uce.html#smtpd_sender_restrictions 를 참조. smtpd_sender_restrictions = reject_unknown_sender_domain # Reject시 Reject 코드를 지정한다. 450은 Try Again Later 를 뜻하는 것. access_map_reject_code = 550 unknown_client_reject_code = 450 unknown_hostname_reject_code = 450 unknown_address_reject_code = 450 # For SPAM/Junk Mail Control - Header Check 설정. regexp는 Regular Expression, 즉 정규표현식이다. # regexp 대신, pcre를 사용할수도 있다. # pcre를 사용시 # header_checks = pcre:/etc/postfix/header_checks header_checks = regexp:/etc/postfix/header_checks # MIME 헤더 체크. 첨부파일등을 체크할 필터로 사용한다. mime_header_checks = regexp:/etc/postfix/mime_header_checks # Body Check를 사용할 경우 주석을 풀 것 # body_checks = regexp:/etc/postfix/body_checks 위와 같이 설정을 하고 나면, 이제 필터링을 할 요소들을 추가하고, 관리해야 한다. header_checks, mime_header_checks, body_checks 이 세개의 파일은 다음과 같은 공통적인 필터 구조를 가지고 있다. /정규표현식/ 액션 [메시지]즉, 정규표현식을 만족하는 메일이 있을 경우 그 메일을 어떻게 처리하는 가는 액션에서 결정해주는 것이다. 메시지는 일부 액션에서 옵션 처럼 사용할 수 있다. 액션은 아래의 표로 정리해놓았다.
/etc/postfix/header_checks 설정 예제 # 어차피 REJECT 되면 다양한 방법으로 더 많이 보내는 부류가 있으므로 조용히 버림(DISCARD). # REJECT도 가능하다. /^Subject:.*\[광고\]/ DISCARD /^Subject:.*\(광고\)/ DISCARD /^Subject: \[광고\]/ DISCARD /^Subject: \(광고\)/ DISCARD /^Subject: \(성인광고\)/ DISCARD /^Subject: \[성인광고\]/ DISCARD /^Subject: \[성인\]/ DISCARD /^Subject: Make Money Fast/ DISCARD /^To: friend@public.com/ DISCARD /^From: .*@test.com/ DISCARD # 아래는 MIME Encoded 된 제목을 검출. (광고), [광고] 로 시작하는 것들을 버림 /^Subject: =\?euc-kr\?q\?\(=B1=A4=B0=ED\)*/ DISCARD /^Subject: =\?euc-kr\?q?\[=B1=A4=B0=ED\]*/ DISCARD /^Subject: =\?ks_c_5601-1987\?B\?KLGksO0p*/ DISCARD /^Subject: =\?ks_c_5601-1987\?B\?W7GksO1d*/ DISCARD # 특수한 스팸 형태를 위한 필터. 공백이 8자 이상되는 제목이 들어간 경우 /^Subject: .* / REJECT # 스패머는 클라이언트의 리스트 최 상단에 편지를 올리기 위해 날짜를 옛날로 조작하는 경우가 있다. /^Date: .* 200[0-2]/ REJECT /^Date: .* 19[0-9][0-9]/ REJECT # free 라는 글자 사이에 특수한 문자가 있을 경우 제거 /^Subject: .*f[ _\.\*\-]+r[ _\.\*\-]+e[ _\.\*\-]+e/ REJECT /etc/postfix/mime_header_checks 의 예제. mime_header_checks는 MIME으로 첨부된 파일이 있을 경우 확장자를 검사하여 필터링 하게 해준다. 화면상 어쩔 수 없이 확장자 부분을 다음 줄로 내렸는데, 각 /name 으로 시작하는 항목은 원래 모두 한줄로 이루어져있다. /name=[^>]*\.(ade|adp|asd|bas|bat|chm|cmd|com|cpl|crt|dbx|dll|exe|hlp|hta|inf|ins|isp |js|lnk|ocx|msi|pif|reg|scf|scr|swf|uue|vb|vbe|vbs|vbx|vxd|wsh)/ REJECT 본 편지는 위험파일 첨부로 거부됩니다. 위에서 소개된 부분은 Postfix에서 기본으로 탑재되어 있는 기능을 활용한 예제인데, 좀 더 강력한 스팸 및 바이러스 필터링을 원한다면 Spam Assassin의 사용을 권장한다. 4.5 Postfix를 구성하는 명령어들 ¶본 명령어의 원문은 http://www.postfix.org/commands.html 를 참조한다.
4.6.1 SSL Wrapper인 stunnel을 사용하여 안전한 SMTP/POP3 서버 구축하기 ¶SMTP를 쓸때, 보내지는 내용과 기타 정보를 보호하고 싶다면 SSL Wrapper를 사용하는것을 권장한다. 이러한 SSL Wrapper에는 SSLWRAP과 stunnel이 존재하는데, 본 서에서는 stunnel을 사용하여 Secure SMTP/POP3/IMAP(Port 465/995/993)를 구축하는것에 대해 언급하고자 한다. stunnel Homepage : http://www.stunnel.org 위의 홈페이지에서, stunnel 최신버전을 받아서 설치하도록 한다. 아래의 예제에는 stunnel 4.0.4를 사용했다. Kerberos-5 devel 패키지(대개 krb5-devel)가 있음에도 불구하고 make 중에 Kerberos 관련 헤더를 찾지 못한다는 메시지가 나오면 configure 하기 전에 CPPFLAGS 환경변수로, Kerberos 헤더가 있는 위치를 지정해주도록 한다. # export CPPFLAGS=-I/usr/kerberos/include make의 최종 단계에서, stunnel.pem (기본 SSL 인증서)를 생성하려고 한다. 이들 인증서는 나중 stunnel 설정에서 변경할 수 있으므로 적절하게 이름을 지어서 채워주자. 설치가 모두 끝나면, $PREFIX/etc/stunnel/stunnel.conf-sample을 stunnel.conf로 복사한 후, 자기 입맛에 맞추어 설정을 시작한다. (conf 파일의 위치는, stunnel 실행시 지정이 가능하므로, 임의로 지정해 줄 수도 있다.) 아래는 설정파일의 일부분이다. 표시되지 않은 아랫 부분은 Wrapping 할 포트 번호를 매핑해주는 부분인데, 이는 입맛에 따라 설정하면 된다. # 인증서의 위치. cert = /usr/etc/stunnel/stunnel.pem # chroot를 걸게 되는데, 이때 해당 디렉토리가 존재하지 않으면 아래의 setuid, setgid 에 맞춰 디렉토리를 생성하도록 한다. chroot = /var/run/stunnel/ # PID is created inside chroot jail : 위의 chroot 설정에서 정해준 경로가 "/"임을 주의. 쉽게 말해 고칠 필요가 없다 pid = /stunnel.pid setuid = nobody setgid = nobody # Eudora 사용자가 거의 없겠지만, 혹시나 있을 경우 주석을 풀어준다. # options = DONT_INSERT_EMPTY_FRAGMENTS 이제 모든 설정이 끝나면 stunnel을 실행해주면 된다. rc 파일이나, 혹은 chkconfig 파일을 생성해서 init에 등록하면 재부팅 이후에도 자동으로 실행이 될 것이다. 당연히, 안전한 버전의 OpenSSL을 필요로 한다. 에러메시지가 /var/log/messages에 저장되기 때문에 불편하다. 데몬이 떠있는지 확인은 필수가 될 것이다. 메일 클라이언트(Outlook series, Mozilla Thunderbird, ...)에서는, SSL을 사용한다에 체크하고 사용하면 된다. 4.6.2 Debian 에서는? ¶Debian 유저를 위한 몇가지 유의할 점. addgroup sasl
apt-get install postfix-tls qpopper sasl-bin libsasl-modules-plain libsasl2 libsasl-gssapi-mit libsasl-digestmd5-des sasl2-bin libsasl2-modules
일단 이정도로 설치하시고, 차이점 이라면 디렉토리 명이 조금 틀린 것과 init 스크립의 문제점이 있다는 것 정도입니다. http://hanselan.de/postfix/pwcheck 이곳의 init 스크립을 받아서 쓰시길 바랍니다. (큰 차이는 없고..몇 줄 삭제되었을 뿐입니다) mkdir -p /var/spool/postfix/var/run/pwcheck chown postfix.root /var/spool/postfix/var/run/pwcheck/ chmod 700 /var/spool/postfix/var/run/pwcheck/ ln -s /var/spool/postfix/var/run/pwcheck /var/run/pwcheck echo 'pwcheck_method: pwcheck' >> /etc/postfix/sasl/smtpd.conf 디렉토리를 위의 형식대로 세팅해서 사용하시면 정도로 하시면 됩니다. 좀 더 자세한 내용은 http://www.google.com 에서 "smtp auth debian" 정도로 검색해 보시길 바랍니다. -- 허성욱 |
The luck that is ordained for you will be coveted by others.
|
관련링크
댓글목록
등록된 댓글이 없습니다.