「エアコンの安全な修理・適切なフロン回収」はこちら

Ubuntu Server 18.04でサーバー構築 メールサーバー導入

1.Postfix : インストール/設定

Postfix は、sendmail に代わるMTA (Mail Transport Agent)として開発されたソフトウェアで、sendmail との互換性が高く、安全、メンテナンスが容易、速い、などの特徴を兼ね備えたメールサーバーです。
また、Postfix はメールを送信するSMTP サーバーとしての機能しか無いため、後述でメール受信のPOP サーバーのインストールを別途行います。

1.1 インストール

Postfix をインストールして SMTPサーバーを構築します。SMTP は 25/TCP を使用します。

1.2 設定ファイル編集

①main.cf 編集

設定反映有効化

②master.cf 編集

設定反映有効化

2. Dovecot : インストール/設定

Dovecot はメール受信(POP)をするためのサーバーです。
DovecotをインストールしてPOP/IMAPサーバーを構築します。POP は 110/TCP, IMAP は 143/TCP を使用します。

2.1 インストール

①Postfix に SASL機能が提供できるように Dovecot を設定

②設定ファイル「dovecot.conf」編集

③設定ファイル「10-auth.conf」編集

④設定ファイル「10-mail.conf」編集

⑤設定ファイル「10-master.conf」編集

⑥再起動

3. メールユーザーアカウント登録

メール用のユーザーアカウントを登録します。
OS上のユーザーアカウントでメールも利用する場合の設定です
OS上のユーザーアカウントでメールを利用する場合は、追加の設定は不要で OSユーザーを登録するのみです
①メールクライアントインストール

②メールボックスは Maildir を参照するよう設定

③OSユーザー [例:hoge] を追加

④メールの送信テスト

追加したユーザーアカウントでログインし、メールの送信テストをします。
自身にテストメール送信 [mail (ユーザー名)@(ホスト名)]

受信メール確認

4. メールサーバーPostfixに ClamAV適用

Postfix と Clamav を連携させて 送受信メールをリアルタイムスキャンできるように設定します。

Clamav はインストール済みを前提としています。
Amavisd および Clamav Daemon をインストールして Clamav Daemon を起動します。

①インストール

②ウィルススキャン有効化

③自身のドメイン名を登録

④設定ファイル「main.cf」編集

⑤設定ファイル「master.cf」編集

⑥再起動

⑦Thundwebirdやnpopで確認

送受信メールには以下のようなヘッダが付加されます。もしウィルスが検知された場合は削除され、クライアントには配送されません。

5. メールサーバーPostfixにspamassassin をインストール

①インストール

「 /etc/mail/spamassassin/local.cf 」があるので追加設定をせずデフォルトで使ってみたいと思います。

②スパムメール保存用 Maildir の作成
スパムメール保存用のディレクトリ「.Spam」を Maildir 形式で作成します。
作成には対象のユーザ(例としてhoge)で行います。
対象のユーザでログインする。

③Procmail の前準備

Procmail がサーバ機にインストールされているかをチェックします。

インストールされていれば、以下の結果が返ってきます。
procmail/bionic,now 3.22-26 amd64 [installed]

Procmail へのパスを以下のコマンドで調べます

Procmail へのパスが表示されます。
/usr/bin/procmail

④Procmail の設定
メールフィルタの全体をつかさどる「 /etc/procmailrc 」に記述すると全ユーザに適応されます。
各ユーザ個別のメールフィルタファイルである「 /home/<username>/.procmailrc 」に記述するとそのユーザのみにフィルタが適応されます。
今回は全ユーザに適応させるために「 /etc/procmailrc 」に記述します。

⑤Postfix の設定

⑥SpamAssassinの起動、Postfixの再起動

⑦確認

自分のドメイン宛にメールを送信。
メールのヘッダーに以下のような記述があれば設定が正常に行われています。
以下のヘッダーはスパムメールと判定された場合の記述です。

・・省略・・・
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on mail.example.com
X-Spam-Report:
* 0.1 HTML_60_70 BODY: Message is 60% to 70% HTML
* 0.0 HTML_MESSAGE BODY: HTML included in message
・・省略・・・
X-Spam-Status: Yes, hits=8.2 required=5.5 tests=CLICK_BELOW,
FORGED_RCVD_NET_HELO,HTML_60_70,HTML_FONTCOLOR_UNSAFE,
HTML_IMAGE_ONLY_08,HTML_LINK_CLICK_HERE,HTML_MESSAGE,QENCTXT
autolearn=no version=2.64
X-Spam-Level: ********
・・・省略・・・

メールヘッダー中に上記の「X-Spam-***」の記述があればSpamAssassinは正常に動作しています。
「 X-Spam-Status: Yes 」があれば、そのメールはスパムメールだと判定されています。
逆に「 X-Spam-Status: No 」ならば通常のメールとして判定されています

⑧スパムメールの学習
SpamAssassin にはメールの学習機能があり、判定の精度を高めることができます。

⑨通常のメールの学習

⑩メール判定の自動実行

メール判定スクリプトを作成し、Cron に登録します。
保存場所は「 /usr/local/bin 」、ファイル名は「 spam-learns.sh 」とします。
スクリプトを保存した後は、「 chmod 750 spam-learns.sh 」として実行可能なアクセス権を与える。

サービスの自動実行登録
システム起動時にSpamAssassinを自動起動する。
タイトルとURLをコピーしました