탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 sendmail 서비스 관리 Oracle Solaris 11.1 Information Library (한국어) |
각 로컬 /etc/mail/aliases 파일에서 postmaster 별칭을 만드는 방법
postmaster에 대해 별도의 우편함을 만드는 방법
/etc/mail/aliases 파일에서 postmaster 우편함을 별칭에 추가하는 방법
메일 대기열 /var/spool/mqueue의 컨텐츠 표시 방법
메일 대기열 /var/spool/mqueue에서 메일 대기열 처리 강제 실행 방법
메일 대기열 /var/spool/mqueue의 일부를 실행하는 방법
메일 대기열 /var/spool/mqueue 이동 방법
새 sendmail.cf 파일 작성 방법에서는 구성 파일을 작성하는 방법을 보여줍니다. 아직은 이전 버전의 sendmail.cf 파일을 사용할 수 있지만 새 형식을 사용하는 것이 가장 좋습니다.
/etc/mail/cf/README에는 구성 프로세스에 대한 전체 설명이 있습니다.
http://www.sendmail.org에는 sendmail 구성에 대한 온라인 정보가 있습니다.
구성 파일 버전의 sendmail 구성 파일 및 3 장메일 서비스(참조)에서 일부 지침을 제공합니다.
다음 절차에서는 새 구성 파일 작성 방법을 보여줍니다.
주 - /usr/lib/mail/cf/main-v7sun.mc는 이제 /etc/mail/cf/cf/sendmail.mc입니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svcadm disable -t network/smtp:sendmail
# cd /etc/mail/cf/cf # cp sendmail.mc myhost.mc
.mc 파일의 새 이름을 선택합니다.
예를 들어, 다음 명령줄을 추가하여 도메인 가장을 사용으로 설정합니다.
# cat myhost.mc .. MASQUERADE_AS(`host.domain')
원하는 호스트 이름과 도메인 이름을 사용합니다.
이 예에서 MASQUERADE_AS는 $j가 아니라 host.domain에서와 마찬가지로 보낸 메일에 레이블이 지정되도록 합니다.
# make myhost.cf
# /usr/lib/sendmail -C myhost.cf -v testaddr </dev/null
이 명령이 메시지를 표시하는 동안 testaddr로 메시지를 보냅니다. 시스템에서 sendmail 서비스를 다시 시작하지 않고 보내는 메일만 테스트할 수 있습니다. 아직 메일을 처리하지 않는 시스템의 경우 메일 구성 테스트 방법의 전체 테스트 절차를 사용하십시오.
# cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.save # cp myhost.cf /etc/mail/sendmail.cf
# svcadm enable network/smtp:sendmail
둘 이상의 IP 주소를 호스트에 지정해야 하는 경우 http://www.sendmail.org/tips/virtualHosting 웹 사이트를 참조하십시오. 이 사이트에는 sendmail을 사용하여 가상 호스트를 설정하는 방법에 대한 전체 지침이 있습니다. 그러나 “Sendmail Configuration(Sendmail 구성)” 절에서 다음과 같이 3b단계를 수행하지 마십시오.
# cd sendmail-VERSION/cf/cf # ./Build mailserver.cf # cp mailserver.cf /etc/mail/sendmail.cf
대신 Oracle Solaris 운영 체제일 경우 다음 단계를 수행합니다.
# cd /etc/mail/cf/cf # make mailserver.cf # cp mailserver.cf /etc/mail/sendmail.cf
.cf 파일의 이름을 사용합니다.
sendmail 구성 변경에서는 구축 프로세스의 일부분과 동일한 세 단계를 간략하게 설명합니다.
/etc/mail/sendmail.cf 파일을 생성한 후 다음 단계로 진행하여 가상 사용자 테이블을 만들 수 있습니다.
sendmail.cf나 submit.cf의 복사본을 작성한 경우 업그레이드 프로세스 중에 구성 파일이 대체되지 않습니다. 다음 절차에서는 sendmail.cf 파일이 자동으로 다시 작성되도록 sendmail 서비스 등록 정보를 구성하는 방법을 보여줍니다. 자동으로 submit.cf 구성 파일을 작성하는 방법에 대한 자세한 내용은 예 2-1을 참조하십시오. 두 파일을 모두 작성해야 하는 경우 이 절차를 조합할 수 있습니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svccfg -s sendmail svc:/network/smtp:sendmail> setprop config/path_to_sendmail_mc=/etc/mail/cf/cf/myhost.mc svc:/network/smtp:sendmail> quit
첫번째 명령은 실행 중인 스냅샷에 변경 사항을 적용합니다. 두번째 명령은 새 옵션을 사용하여 sendmail을 다시 시작합니다.
# svcadm refresh svc:/network/smtp:sendmail # svcadm restart svc:/network/smtp:sendmail
예 2-1 submit.cf의 자동 재작성 설정
이 절차는 submit.mc 구성 파일이 자동으로 재작성되는 것과 같은 sendmail 서비스를 구성합니다.
# svccfg -s sendmail-client:default svc:/network/smtp:sendmail> setprop config/path_to_submit_mc=/etc/mail/cf/cf/submit-myhost.mc svc:/network/smtp:sendmail> exit # svcadm refresh svc:/network/sendmail-client # svcadm restart svc:/network/sendmail-client
기본적으로 로컬 전용 모드에서 실행되도록 sendmail 서비스가 변경되었습니다. 로컬 전용 모드는 로컬 호스트의 메일만 수락한다는 의미입니다. 다른 시스템의 메시지는 거부됩니다. 이전 릴리스는 모든 원격 시스템에서 받는 메일을 수락하도록 구성됩니다(열기 모드). 열기 모드를 사용하려면 다음 절차를 사용하십시오.
주의 - 로컬 전용 모드에서 sendmail을 실행하는 것이 열기 모드에서 실행하는 것보다 훨씬 안전합니다. 이 절차를 따를 경우 잠재적 보안 위험을 알고 있어야 합니다. |
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svccfg -s sendmail svc:/network/smtp:sendmail> setprop config/local_only = false svc:/network/smtp:sendmail> quit
# svcadm refresh svc:/network/smtp:sendmail # svcadm restart svc:/network/smtp:sendmail
SMTP는 버전 8.13의 sendmail에서 TLS(전송 계층 보안)를 사용할 수 있습니다. 이 서비스를 사용하면 SMTP 서버와 클라이언트에 인터넷을 통해 개인 인증 통신을 제공하며, 도청자와 공격자로부터 보호합니다. 이 서비스는 기본적으로 사용으로 설정되지 않습니다.
다음 절차에서는 샘플 데이터를 사용하여 sendmail에 TLS를 사용할 수 있도록 하는 인증서를 설정하는 방법을 보여줍니다. 자세한 내용은 sendmail 버전 8.13에서 TLS를 사용하는 SMTP 실행 지원을 참조하십시오.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svcadm disable -t network/smtp:sendmail
# cd /etc/mail # mkdir -p certs/CA # cd certs/CA # mkdir certs crl newcerts private # echo "01" > serial # cp /dev/null index.txt # cp /etc/openssl/openssl.cnf .
다음 명령줄에서는 대화형 텍스트를 생성합니다.
# openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 365 \ -config openssl.cnf Generating a 1024 bit RSA private key .....................................++++++ .....................................++++++ writing new private key to 'private/cakey.pem' Enter PEM pass phrase: Verifying - Enter PEM pass phrase: ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:US State or Province Name (full name) []:California Locality Name (eg, city) []:Menlo Park Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Oracle Organizational Unit Name (eg, section) []:Solaris Common Name (eg, YOUR name) []:somehost.somedomain.example.com Email Address []:someuser@example.com
이 명령은 인증서 요청을 만들고 처리합니다.
이 req 옵션은 새 인증서 요청을 생성합니다.
이 req 옵션은 자체 서명 인증서를 만듭니다.
이 req 옵션을 사용하면 새로 만든 개인 키의 파일 이름으로 private/cakey.pem을 지정할 수 있습니다.
이 req 옵션을 사용하면 cacert.pem을 출력 파일로 지정할 수 있습니다.
이 req 옵션을 사용하면 인증서를 365일 동안 인증할 수 있습니다. 기본값은 30입니다.
req 옵션을 사용하면 openssl.cnf를 구성 파일로 지정할 수 있습니다.
이 명령을 사용하려면 다음을 제공해야 합니다.
Country Name(예: US)
State or Province Name(예: California)
Locality Name(예: Menlo Park)
Organization Name(예 Oracle)
Organizational Unit Name(예: Solaris)
Common Name(시스템의 정규화된 호스트 이름) 자세한 내용은 check-hostname(1M) 매뉴얼 페이지를 참조하십시오.
Email Address(예: someuser@example.com)
# cd /etc/mail/certs/CA # openssl req -nodes -new -x509 -keyout newreq.pem -out newreq.pem -days 365 \ -config openssl.cnf Generating a 1024 bit RSA private key ..............++++++ ..............++++++ writing new private key to 'newreq.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:US State or Province Name (full name) []:California Locality Name (eg, city) []:Menlo Park Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Oracle Organizational Unit Name (eg, section) []:Solaris Common Name (eg, YOUR name) []:somehost.somedomain.example.com Email Address []:someuser@example.com
이 명령을 사용하려면 3c단계에서 제공한 것과 동일한 정보를 제공해야 합니다.
이 예에서 인증서와 개인 키는 newreq.pem 파일에 있습니다.
# cd /etc/mail/certs/CA # openssl x509 -x509toreq -in newreq.pem -signkey newreq.pem -out tmp.pem Getting request Private Key Generating certificate request # openssl ca -config openssl.cnf -policy policy_anything -out newcert.pem -infiles tmp.pem Using configuration from openssl.cnf Enter pass phrase for /etc/mail/certs/CA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: 1 (0x1) Validity Not Before: Jun 23 18:44:38 2005 GMT Not After : Jun 23 18:44:38 2006 GMT Subject: countryName = US stateOrProvinceName = California localityName = Menlo Park organizationName = Oracle organizationalUnitName = Solaris commonName = somehost.somedomain.example.com emailAddress = someuser@example.com X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 93:D4:1F:C3:36:50:C5:97:D7:5E:01:E4:E3:4B:5D:0B:1F:96:9C:E2 X509v3 Authority Key Identifier: keyid:99:47:F7:17:CF:52:2A:74:A2:C0:13:38:20:6B:F1:B3:89:84:CC:68 DirName:/C=US/ST=California/L=Menlo Park/O=Oracle/OU=Solaris/\ CN=someuser@example.com/emailAddress=someuser@example.com serial:00 Certificate is to be certified until Jun 23 18:44:38 2006 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated # rm -f tmp.pem
이 예에서 파일 newreq.pem에는 서명되지 않은 인증서와 개인 키가 있습니다. 파일 newcert.pem에 서명된 인증서가 있습니다.
인증서 정보를 표시하고 인증서를 다양한 형태로 변환하며 인증서 요청에 서명합니다.
다양한 형태의 인증서 요청에 서명하고 CRL(인증서 해지 목록)을 생성하는 데 사용됩니다.
define(`confCACERT_PATH', `/etc/mail/certs')dnl define(`confCACERT', `/etc/mail/certs/CAcert.pem')dnl define(`confSERVER_CERT', `/etc/mail/certs/MYcert.pem')dnl define(`confSERVER_KEY', `/etc/mail/certs/MYkey.pem')dnl define(`confCLIENT_CERT', `/etc/mail/certs/MYcert.pem')dnl define(`confCLIENT_KEY', `/etc/mail/certs/MYkey.pem')dnl
자세한 내용은 TLS를 사용하여 SMTP를 실행하기 위한 구성 파일 옵션을 참조하십시오.
자세한 내용은 sendmail 구성 변경을 참조하십시오.
# cd /etc/mail/certs # ln -s CA/cacert.pem CAcert.pem # ln -s CA/newcert.pem MYcert.pem # ln -s CA/newreq.pem MYkey.pem
# chmod go-r MYkey.pem
# C=CAcert.pem # ln -s $C `openssl x509 -noout -hash < $C`.0
host.domain을 다른 호스트의 정규화된 호스트 이름으로 대체합니다.
# C=host.domain.cert.pem # ln -s $C `openssl x509 -noout -hash < $C`.0
host.domain을 다른 호스트의 정규화된 호스트 이름으로 대체합니다.
# svcadm enable network/smtp:sendmail
예 2-2 Received: 메일 헤더
다음은 TLS를 사용하는 보안 메일의 Received: 헤더 예입니다.
Received: from his.example.com ([IPv6:2001:db8:3c4d:15::1a2f:1a2b]) by her.example.com (8.13.4+Sun/8.13.4) with ESMTP id j2TNUB8i242496 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <janepc@her.example.com>; Tue, 29 Mar 2005 15:30:11 -0800 (PST) Received: from her.example.com (her.city.example.com [192.168.0.0]) by his.example.com (8.13.4+Sun/8.13.4) with ESMTP id j2TNU7cl571102 version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <janepc@her.example.com>; Tue, 29 Mar 2005 15:30:07 -0800 (PST)
verify의 값은 OK이며 인증이 성공적이라는 의미입니다. 자세한 내용은 TLS를 사용하여 SMTP를 실행하기 위한 매크로를 참조하십시오.
참조
다음 OpenSSL 매뉴얼 페이지를 참조하십시오.
인바운드 메일과 아웃바운드 메일을 쉽게 전송하기 위해 sendmail의 새 기본 구성에 데몬 및 클라이언트 대기열 실행자가 사용됩니다. 클라이언트 대기열 실행자는 로컬 SMTP 포트의 데몬에 메일을 제출할 수 있어야 합니다. 데몬이 SMTP 포트에서 수신 대기하지 않는 경우 메일이 대기열에 남아 있습니다. 이 문제를 방지하려면 다음 작업을 수행하십시오. 데몬 및 대기열 실행자에 대한 자세한 내용을 확인하고, 이 대체 구성을 사용하는 이유를 이해하려면 sendmail 버전 8.12의 submit.cf 구성 파일을 참조하십시오.
이 절차에서는 로컬 호스트의 연결만 수락하기 위해 데몬이 실행되는지 확인합니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# svcadm disable -t sendmail-client
# cd /etc/mail/cf/cf # cp submit.mc submit-myhost.mc
.mc 파일의 새 이름을 선택합니다.
수신 호스트 IP 주소를 msp 정의로 변경합니다.
# grep msp submit-myhost.mc FEATURE(`msp', `[#.#.#.#]')dnl
# make submit-myhost.cf
# cp /etc/mail/submit.cf /etc/mail/submit.cf.save # cp submit-myhost.cf /etc/mail/submit.cf
# svcadm enable sendmail-client