akat.infoのメールサーバを構築するために、debian8 にpostfixをインストールした
設定ファイルについてもひとつひとつ確認する
インストール
root@hostname:/home/shimizu/# aptitude install postfix 以下の新規パッケージがインストールされます: postfix ...
知っていると便利なコマンド
### バージョン確認 ### root@hostname:/home/shimizu# postconf | grep "mail_version " mail_version = 2.11.3 ### status表示 ### root@hostname:/home/shimizu# postfix status postfix/postfix-script: the Postfix mail system is running: PID: 10217 ### 設定ファイル読み込み(ただしinet_interfacesについては再起動が必要) ### root@hostname:/home/shimizu# postfix reload postfix/postfix-script: refreshing the Postfix mail system ### 設定を確認する ### root@hostname:/home/shimizu# postfix check /usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: shimizu=no ### 利用できるデータベース形式表示 ### root@hostname:/home/shimizu# postconf -m btree cidr environ fail hash ... ### デフォルトパラメーター表示 ### root@hostname:/home/shimizu# postconf -d 2bounce_notice_recipient = postmaster access_map_defer_code = 450 access_map_reject_code = 554 ... ### デフォルトから設定変更したパラメーター表示 ### root@hostname:/home/shimizu# postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no ...
main.cfのパラメーターについて
mynetworks
# メールをリレーするクライアントのIPアドレスを指定 mynetworks = 127.0.0.0/8
クライアントからtelnetを利用して、メールを送信しようとした場合
“Relay access denied” エラーとなり、メールサーバにも以下のログが残る
Jun 15 02:33:08 hostname postfix/smtpd[11873]: NOQUEUE: reject: RCPT from unknown[104.42.99.92]: 454 4.7.1
ただし、relay_domains(defaultでmydestinationが設定)を宛先にしてメールすると、リレーではないためエラーとならない
root@vmdepot-debia:/home/shimizu# telnet mail.akat.info 25 Trying 49.212.204.46... Connected to mail.akat.info. Escape character is '^]'. 220 mail.akat.info ESMTP Postfix (Debian/GNU) quit 221 2.0.0 Bye Connection closed by foreign host. root@vmdepot-debia:/home/shimizu# telnet mail.akat.info 25 Trying 49.212.204.46... Connected to mail.akat.info. Escape character is '^]'. 220 mail.akat.info ESMTP Postfix (Debian/GNU) HELO akat.info 250 mail.akat.info mail from: test@akat.info 250 2.1.0 Ok rcpt to: shimizu.test0@gmail.com 454 4.7.1 <shimizu.test0@gmail.com>: Relay access denied rcpt to: root@akat.info 250 2.1.5 Ok ...
alias_maps
エイリアスファイルを指定する
root@hostname:/home/shimizu# postconf | grep alias_maps alias_maps = hash:/etc/aliases ... root@hostname:/home/shimizu# vi /etc/aliases postmaster: root admin: root root@hostname:/home/shimizu# postalias /etc/aliases
header_checks
メールヘッダにて制限する
root@hostname:/home/shimizu# cat /etc/postfix/main.cf | grep header_checks header_checks = regexp:/etc/postfix/header_checks root@hostname:/home/shimizu# cat /etc/postfix/header_checks /^Subject:.*delete.*/ REJECT /^Subject:.*forward.*/ REDIRECT root@akat.info ### 確認する ### root@hostname:/home/shimizu# postmap -q Subject:forward regexp:/etc/postfix/header_checks REDIRECT root@akat.info
実際に試してみる
root@hostname:/home/shimizu# telnet mail.akat.info 25 Trying 49.212.204.46... Connected to mail.akat.info. Escape character is '^]'. 220 mail.akat.info Mail System helo mail.akat.info 250 mail.akat.info mail from: shimizu@akat.info 250 2.1.0 Ok rcpt to: root@akat.info 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> subject: i want to delete test . 550 5.7.1 message content rejected
セキュリティ
不正中継されないか確認する
ググるといろいろなサービスがある
http://www.rbl.jp/svcheck.php