CentOS7でpostfix(SMTPサーバー)を稼働させる
投稿日:2017年08月24日
最終更新日:
もくじ
- sendmainのアンインストールとpostfixのインストール
- 設定ファイルの編集
- ファイアウォール設定・サービスの起動・不正中継チェック
sendmainのアンインストールとpostfixのインストール
サーバーにログインし、以下のコマンドを順番に打っていきます。 [VIM] sudo yum remove sendmail sudo yum install postfix [/VIM]
設定ファイルの編集
設定ファイルを編集していきます。 [VIM] sudo vim /etc/postfix/main.cf #編集内容 #サーバーのホスト名を設定(77行目辺りに追記しよう) myhostname = hoge.itniti.net #自分のドメイン名を設定(85行目辺りに追記) mydomain = itniti.net #100行目あたりのコメントアウトを外す myorigin = $myhostname #115行目あたりのコメントアウトを外す #(メールを受け取るネットワークインターフェースの範囲を指定) inet_interfaces = all #118行目あたりをコメントアウト #inet_interfaces = localhost #166行目あたりをコメントアウト #mydestination = $myhostname, localhost.$mydomain, localhost #167行目あたりのコメントアウトを外す #(自サーバーでメールを受信するドメインを設定する) mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #269行目辺りに追記 #信頼できるネットワークを指定する(自分のネットワークを指定し、外からのアクセスを制限) #ここを間違えると第三者がSPAMを送信するときの踏み台にされるリスクあり mynetworks = 192.168.0.0/24, 127.0.0.0/8 #299行目辺りのコメントアウトを外す #メールのリレーを許可するアドレスの指定 relay_domains = $mydestination #321行目辺りに以下を追記 #直接インターネットにメールを送信する relayhost = #423行目辺りのコメントアウトを外す #メール保管方式を指定する home_mailbox = Maildir/ #578行目辺りに以下を追記 #Telnetなどでアクセスしてきた時にメールサーバーソフトを非表示にする smtpd_banner = $myhostname ESMTP unknown [/VIM] 様々な設定を変更したり追記したりするので、行番号が多少ずれると思います。各自勘と気合で脳内補完して下さい。この辺まで終わったら、一旦ファイルを保存しましょう。
SMTPサーバーの設定は、一歩間違えると、自サーバーを第三者がSPAM送信の踏み台として悪用し、SPAMの蔓延を許すことになってしまいます。くれぐれも気をつけて設定を行いましょう。設定が終わったら、後述する不正中継チェックサービスを利用し、設定が大丈夫かどうかを確認するようにしましょう。
ファイアウォール設定・サービスの起動・不正中継チェック
iptablesの設定を変更し、25番ポートを開けます。 [VIM] sudo vim /etc/sysconfig/iptables #以下を追記する #SMTP -A INPUT -p tcp –dport 25 -j ACCEPT -A OUTPUT -p tcp –sport 25 -j ACCEPT [/VIM]
postfixがサーバー再起動と同時に起動するように設定し、postfixを起動しましょう。 [VIM] sudo systemctl enable postfix sudo systemctl start postfix [/VIM]
最後に、SMTPサーバーがスパムの踏み台として悪用されないように、不正中継チェックを行いましょう。テストページにアクセスし、自サーバーのホスト名を入力すれば、テストが行われます。結果表示画面に、青文字で「no relays accepted.」と表示されればOKです。不正中継テストの画像付き解説はこちら
参考サイト