SMTPサーバー構築2008/08/25 |
SMTPサーバーを構築します。デフォルトで入っているPostfixを使い、
メール不正中継防止にSMTP-Authの機能を利用し、送信にも認証が必要なように設定します。 |
|
[1] | Postfix の設定をします。 |
# まずは必要なものをインストール [root@ns root]# apt-get -y install cyrus-sasl* [root@ns root]# vi /usr/lib/sasl2/smtpd.conf # 以下2行記述 pwcheck_method: saslauthd mech_list: plain login [root@ns root]# vi /etc/postfix/main.cf # 69行目:行頭の#を削除しホスト名指定 myhostname = mail.srv.world # 76行目:行頭の#を削除しドメイン名指定 mydomain = srv.world # 92行目:行頭の#を削除 myorigin = $mydomain # 106行目:行頭の#を削除 inet_interfaces = all # 154行目:行頭の#を削除 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # 253行目:行頭の#を削除し自ネットワーク追記 mynetworks = 127.0.0.0/8, 192.168.0.0/24 # 410行目:行頭の#を削除しMaildir形式へ移行 home_mailbox = Maildir/ # 515行目:行頭の#を削除 header_checks = regexp:/etc/postfix/header_checks # 追記:メールボディチェック body_checks = regexp:/etc/postfix/body_checks # 最終行へ追記 message_size_limit = 5242880 mailbox_size_limit = 104857600 # 以下4行SMTP-Auth用(5行目は4行目の続き) smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_authenticated, reject [root@ns root]# vi /etc/postfix/header_checks # 以上2行アドレスなしメール拒否 /^From:.*<#.*@.*>/ REJECT /^Return-Path:.*<#.*@.*>/ REJECT # ヘッダのReceived行非表示 /^Received:/ IGNORE [root@ns root]# vi /etc/postfix/body_checks # 本文にexample.comが含まれていたら拒否 /^(|[^>].*)example.com/ REJECT [root@ns root]# /etc/rc.d/init.d/postfix restart Postfixを停止中: [ OK ] Postfixを起動中: [ OK ] [root@ns root]# /etc/rc.d/init.d/saslauthd start saslauthdを起動中: [ OK ] [root@ns root]# chkconfig saslauthd on
|
[2] | 名前解決できるようにネームサーバーに別名を登録しておきます。 |
[root@ns root]# vi /var/named/srv.world.lan $TTL 86400 @ IN SOA ns.srv.world. root.srv.world. ( 200707260 5 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS ns.srv.world. IN A 192.168.0.17 IN MX 10 mail .srv.world.ns IN A 192.168.0.17 www IN CNAME ns.srv.world. ftp IN CNAME ns.srv.world. mail IN CNAME ns.srv.world. [root@ns root]# vi /var/named/srv.world.wan $TTL 86400 @ IN SOA ns.srv.world. root.srv.world. ( 200707260 5 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS ns.srv.world. IN A 172.16.0.82 IN MX 10 mail .srv.world.ns IN A 172.16.0.82 www IN CNAME ns.srv.world. ftp IN CNAME ns.srv.world. mail IN CNAME ns.srv.world. [root@ns root]# rndc reload server reload successful |
Sponsored Link |