postfixのインストールと設定

  • 投稿者:
  • 投稿カテゴリー:postfix

akat.infoのメールサーバを構築するために、debian8 にpostfixをインストールした
設定ファイルについてもひとつひとつ確認する

インストール

root@hostname:/home/shimizu/# aptitude install postfix
以下の新規パッケージがインストールされます:
  postfix
...

2015-06-15_004410

2015-06-15_004401

知っていると便利なコマンド

### バージョン確認 ###
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 access denied; from= to= proto=SMTP helo=
ただし、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