- TOP - TALK - PROF - LINK -
[ Linuxに戻る ] [ 雑学に戻る ]

<<更新日:2012/03/04>>

メール関連設定


 メール関係は、installで説明したように、SMTPのみ機能させます。
 POP/IMAPは利用しません。

 今回、家のサーバではシステムからのメールと、WEBのサービスからのメールを個人アドレスに送る事を目的とします。

 せっかくドメインを取ったので、ドメイン宛メールも転送で利用しようと思います。
 postfixを利用しますが、sendmailでなくpostfixを利用したのは、メンテナンス性の良さと、個人的な好みからで、機能的な所ではあまり選んでいません。

 ではインストール。

# yum -y install vsftpd

 いつもの通りですね。

 インストール直後の状態は、sendmailが有効になっており、何も起こりません。
 外部からのメールはsendmailの設定が転送設定になっていないので、中でのメールと中からのメールのみ対応の状況です。

 今回のポリシーは以下の通り。

[ドメイン]宛のメールは受信する。
サーバからのメールは転送する。
[ドメイン]宛設定ユーザのメールは、個人アドレス宛に転送する。
不正中継を許さない。

それでは設定

# service sendmail status ←sendmailのサービス状態を確認
sendmail (pid 1555) is running... ←sendmailがpid1555で起動中(pidはシステム毎/起動毎に違います)

# alternatives --config mta ←mtaの設定変更

There are 2 programs which provide 'mta'.

Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix

Enter to keep the current selection[+], or type selection number: 2
↑2を選択

今回はpostfixとsendmailの二つなので、二つですが、三つあれば3行になります。

今回はmtaをsendmailからpostfixに変更です。

main.confを変更して、適切に設定をしていきます。

myhostname = [mail.][ドメイン] ←ホスト名を設定
mydomain = [ドメイン] ←ドメイン名を設定
myorigin = $mydomain

inet_interfaces = all ←localhostからallに変更して受け付け窓口を外部に広げます。

smtpd_banner = $myhostname ESMTP MAIL ←デフォルトだとメールプログラム名やバージョンが出るので、変更します。

mynetworks = [IPアドレス]/32,127.0.0.1/32 ←自分が取り扱うネットワークアドレスを指定します。
mydestination = $myhostname, localhost.$mydomain, localhost, [ドメイン] ←ドメインを取ったなら追加します。

chkconfig postfix on
chkconfig sendmail off
 postfixを自動起動し、sendmailを起動しないように変更します。

/etc/aliases
 エイリアスを変更して必要なメールを転送します。
root: [転送先メールアドレス]
[ユーザ名]: [転送先メールアドレス]

# newaliases
 エイリアスを変更します。

 これで、ローカルからのメールは飛ぶけど、外からのメールは飛ばない。
 踏み台にならないメールサーバの完成です。

 上記のエイリアス設定の場合、攻撃を受けると全てのメールが転送先に飛んでくるんですけどね・・・
 上記を設定しておくと、logwatchが個人アドレスに飛んでくるので管理が楽になります。

 とりあえずはこんな所でメールの設定は終了です。

 将来的にはメーリングリストも構築したいなぁ・・・