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

Ubuntu Server 20.04でサーバー構築 ウイルス対策 メールサーバー

1.ウイルス対策ソフトClamav導入

1.1 インストール

尚、clamav関連の設定ファイルは、/etc/clamav/フォルダにインストールされる

1.2 ウイルス定義の更新

上記コマンドで、ウイルス定義が更新できるが、下記のようなエラーが出る場合はlog設定を変更して、再度実行
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log)

⚫デフォルト設定だと、freshclam(ウイルス定義更新)の際にログ関係でエラーが起こりやすい。したがって、一度ログファイルを削除し、ログロテートの設定を変更しておく

再度ウイルス定義更新

⚫設定ファイルを変更

1.3 ウイルス定義の自動更新確認

clamavパッケージをインストールすると、ウイルス定義の自動更新が行われる。
サービスが登録されているか確認する

上記コマンドを実行すると次のようなメッセージが出る。

Active: active (running)となっており、自動更新が作動している

尚、/var/log/clamav/freshclam.logファイルにログが記録される

1.3 ウイルスチェックの確認

①手動でウイルスチェックの実行

Infected files: 0 なのでウイルスはありません

②テストウイルスをダウンロードしてウイルス検出
お試し無害ウィルスをダウンロードして検出するかテストしてみる
一般ユーザーにログインして確認

このように「FOUND」という表示と「Infected files: 1」という表示でウイルスを通知してくれる。又、「--remove」オプションを付けているので、テストウイルスは削除された

1.4 フルスキャンするスクリプトファイルを作成

①clam-full.sh の内容(新規作成)

②実行権限を与える
③ウイルス隔離用フォルダを作成

(既にあればOKだが、無いと上記スクリプトで除外ディレクトリに指定しているので実行時エラーになる)

④試しに実行してみる

⑤cronでウイルススキャンの定期実行

2. メールソフト導入

2.1 Postfix : インストール/設定

Postfix をインストールして SMTPサーバーを構築します。SMTP は 25/TCP を使用します。
メール不正中継防止に、後述の Dovecot の SASL機能を利用し、送信にも認証が必要なように Postfix を設定します

①インストール

インストー状況画面
一般的な構成設定の選択を求められるが、後で手動設定するため [No Configuration] を選択

+------+ Postfix Configuration +-------+
| General type of mail configuration: |
| No configuration |
| Internet Site |
| Internet with smarthost |
| Satellite system |
| Local only |
| |
| |
| <Ok> <Cancel> |
| |
+--------------------------------------+

②設定ファイル編集

編集内容

②設定内容反映

2.2 Dovecot : インストール/設定

DovecotをインストールしてPOP/IMAPサーバーを構築します。POP は 110/TCP, IMAP は 143/TCP を使用します
①Postfix に SASL機能が提供できるように Dovecot を設定

②設定反映

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

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

①メールクライアントインストール

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

③メールの送信テスト
自身にテストメール送信 [mail (ユーザー名)@(ホスト名)]

本文を終了する場合は Ctrl + D キー

④受信メール確認

2.4 メールサーバーPostfixに ClamAV適用

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

①Amavisd および Clamav Daemon をインストールして Clamav Daemon を起動

amavisd-newインストールでエラーが発生する場合
/etc/amavis/conf.d/05-node_idを編集して再度インストール
コードを次のように変更

# vi /etc/amavis/conf.d/05-node_id

# This file was automatically installed on 2019-12-07T03:53:33.896891
use strict;
# $myhostname is used by amavisd-new for node identification, and it is
# important to get it right (e.g. for ESMTP EHLO, loop detection, and so on).
# chomp($myhostname = `hostname --fqdn`);
# To manually set $myhostname, edit the following line with the correct Fully
# Qualified Domain Name (FQDN) and remove the # at the beginning of the line.
#
#$myhostname = "sample-domain-was-here";
1; # ensure a defined return

上記赤字の "sample-domain-was-here"を下記赤字の "mail.<yourdomain>"に変更

# This file was automatically installed on 2019-12-07T03:53:33.896891
use strict;
# $myhostname is used by amavisd-new for node identification, and it is
# important to get it right (e.g. for ESMTP EHLO, loop detection, and so on).
# chomp($myhostname = `hostname --fqdn`);
# To manually set $myhostname, edit the following line with the correct Fully
# Qualified Domain Name (FQDN) and remove the # at the beginning of the line.
#
$myhostname = "mail.<yourdomain>";
1; # ensure a defined return

②15-content_filter_modeの編集

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

④Main.cf編集

⑤master.cf編集

編集内容

⑥設定反映

2.5 メールサーバーPostfixに spamassassin適用

①spamassassin をインストール

②SpamAssassin の設定
設定ファイルは「 /etc/mail/spamassassin/local.cf 」

  • 追加設定をせずデフォルトで使う
  • スパムメール保存用 Maildir の作成
  • スパムメールを保存するためのディレクトリを Maildir 形式で作成
  • スパムメール保存用のディレクトリ「.Spam」を Maildir 形式で作成
  • 作成には対象のユーザで行う

2.6 Procmail の前準備

①Procmail のインストール

インストールされていれば、以下の結果が返ってきます

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

procmailrc記載内容(新規作成)

2.7 Postfix の設定

① main.cfの編集

②設定の反映と起動

2.8 スパムメールの学習

すべてのユーザの「.Spam」ディレクトリの中身を全てスパムメールとして学習させます
①スパムメールの学習

②通常のメールの学習

③スクリプトを作成し、Cron に登録
ファイル名は適当に「 spam-learns.sh 」とし、/opt/script/配下に設置する
スクリプトを保存した後は、「 chmod 750 spam-learns.sh 」として実行可能なアクセス権を与える。

spam-learns.sh 内容

spam-learns.shができたら、定義ファイルを/lib/systemd/system直下に作成する。名前はspam-learns.serviceのように末尾が.serviceになるようにする。

Typeはsimpleで定義する

spam-learns.service の内容

タイトルとURLをコピーしました