![]() |
LINUX |
Postfix (SSL対応) のインストール
*Maildir形式のsmtpサーバの構築をします
*postfix-2.7.1をソースからインストールし、設定します
*tls接続、DOVCOT_SASLを利用したsmtp-authに対応しています
*既存のsendmailを停止し、postfixのsendmailに置き換えます
*浅見秀雄さんのS25Rスパム対策と佐藤潔さんのStarpitを使っています
*make はメンテナンスマシンで行っています
**以降はコメントです
*ソースの取得、削除は略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :postfix-2.7.1.tar.gz | (http://www.postfix.org/) |
| :white.list.txt | (http://gabacho.reto.jp/anti-spam/) |
| :postfix-sleep.patch | (http://k2net.hakuba.jp/) |
| :tarpit_client | (http://k2net.hakuba.jp/) |
参照ファイル:パッケージの追加
:最初の設定 (Xen)
:opensslのインストール
インストール環境| :OS | CentOS 5.5 |
| :selinux | disabled or permissive |
| :インストール先 | |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスの場合は一般ユーザから行います
postfix-2.7.1
専用ユーザ・グループの作成
# useradd -u 89 -d /dev/null -s /bin/false postfix # groupadd -g 90 postdrop
sendmailの停止# service sendmail stop # chkconfig --del sendmail # mv /usr/sbin/sendmail /usr/sbin/sendmail-OLD # mv /usr/bin/mailq /usr/bin/mailq-OLD # mv /usr/bin/newaliases /usr/bin/newaliases-OLD
*setuid権限を削除 (2755→0755)
# chmod 755 /usr/sbin/sendmail.sendmail
ソースの展開・インストール*htmlドキュメントを適当なディレクトリに保存して利用しましょう
*postfix-sleep.patchを当てます
*sleep中に相手が接続を切ったら、smtpdプロセスをすぐに終了するパッチです
*dovecot_saslを使う設定です
# cd /usr/src # tar zxvf postfix-2.7.1.tar.gz # chown -R root:root postfix-2.7.1 # cd postfix-2.7.1
*パッチを当てます
*パッチは1つ上のディレクトリに置きます
# patch -p1 < ../postfix-sleep.patch
# make tidy
*コンフィグシェルスクリプトを実効します
*同じディレクトリで実行します
*pfixcfg.sh (詳細別記)
# source pfixcfg.sh
# make
# make install
・・・・・・・・・・・・・・・・・・・
install_root: [/]
tempdir: [/usr/src/postfix-2.7.1]
config_directory: [/etc/postfix]
command_directory: [/usr/sbin]
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no]
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpage_directory: [/usr/local/man]
newaliases_path: [/usr/bin/newaliases]
queue_directory: [/var/spool/postfix]
readme_directory: [no]
sendmail_path: [/usr/sbin/sendmail]
setgid_group: [postdrop]
・・・・・・・・・・・・・・・・・・・
# cd ..
# tar jcvf postfix-2.7.1-100611.tar.bz2 postfix-2.7.1/
aliasesファイルを編集します (変更追加分):/etc/aliases (root root 644)
*設定例です
*sendmail用のaliasesを使用しています
*/dev/nullを指定すると配送されません
*root宛のメールは専用ユーザに配送します 専用ユーザ (luna)
*9文字以上のユーザー名にしたい場合、aliasesとcanonicalで設定します
root: luna starlight: star moonlight: moon webmaster: /dev/null
:aliases.dbを作ります
# rm aliases.db # newaliases
canonicalファイルを編集します:/etc/postfix/canonical (root root 644)
*設定例です
star starlight moon moonlight
:canonical.dbを作ります
# postmap /etc/postfix/canonical
S25R+Starpit用のファイル:/etc/postfix/white.list.txt (root root 644)
:/etc/postfix/tarpit_client (root root 644)
*関連サイトにアクセスし、十分理解した上で使用します
accessファイルを編集します:/etc/postfix/access (root root 644)
*設定例です
*良く不正リレーメールが来るので必要なければ拒否します
*smtpd_sender_restrictionsで使用しています
*書式は各自学習してください
jss.cn REJECT jxs.cn REJECT sds.cn REJECT bjs.cn REJECT hns.cn REJECT tjs.cn REJECT yns.cn REJECT
:access.dbを作ります
# postmap /etc/postfix/access
JUNKMAILを拒否・添付ファイルをチェックします:/etc/postfix/header_checks (root root 644)
*設定例です
*マニュアルは"$ man 5 header_checks"
*正規表現またはPCREが使える?
*まともな方法で送られてくるスパムメールを、headerをチェックして拒否します
*nameのチェックはheader_checksで行ないます
*書式は各自学習してください
/^X-Mailer:.*PostMaster General/ REJECT /^Return-Path:.*<#.*@.*>/ REJECT /^From:.*<#.*@.*>/ REJECT /^subject: more money$/ REJECT /^subject:.*I LOVE YOU/ REJECT /^to: our valued customer$/ REJECT /^from: your friend$/ REJECT
/^content-type:.*name.*\.scr.*/ REJECT /^content-type:.*name.*\.exe.*/ REJECT /^content-type:.*name.*\.inf.*/ REJECT /^content-type:.*name.*\.pif.*/ REJECT /^content-type:.*name.*\.bat.*/ REJECT /^content-type:.*name.*\.dll.*/ REJECT /^content-type:.*name.*\.vbs.*/ REJECT /^content-type:.*name.*\.reg.*/ REJECT
/^Content-Type: text\/html/ REJECT HTML not allowed.
/GyRCTCQ+NUJ6OS05cCIoGyhC/ REJECT /wkPjVCejktOXAiK/ REJECT /MJD4lQno5LTlwIi/ REJECT
*BASE64エンコード後の日本語文字を知る
$ echo -n "未承諾広告※" | nkf -MB
GyRCTCQ+NUJ6OS05cCIoGyhC
/etc/postfix/body_checks (root root 644)*省略
main.cfを編集します*証明書の作成は 認証局と証明書の発行 を参照してください
master.cfを変更します (変更分)*下記の行のコメント (#記号) を外します、5段になっているので注意
*OEがTLSラッパーモードでアクセスするのでsmtps (port465) を開放します
*Thunderbirdはport25でTLS接続をします
smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
postfixパラメータの確認*デフォルトのパラメータを表示
# postconf -d
*修正したパラメータの表示
# postconf -n
iptablesの設定*Netfilter (iptables) で制御している場合、ポートを開けてください
postfix起動スクリプトを作ります:/étc/rc.d/init.d/postfix (詳細別記)
selinuxヘの対応 (selinuxが有効の場合):新規インストールファイルのselinuxラベルを修正
# restorecon -Rv /etc # restorecon -Rv /usr # restorecon -Rv /var
自動起動スクリプトをonにし、postfixを起動します# chkconfig --add postfix # service postfix start
smtp のレスポンスコード
ローカルオンリー (参考):/etc/postfix/main.cf (変更部分)
*マシンのIPアドレスを指定します
mynetworks = 192.168.0.21/32, 127.0.0.0/8 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mail_spool_directory = /var/spool/mail
![]() |
Copyright(c) 528p.com All Rights Reserved. |

