ウェブサイト検索

Debian および Ubuntu の ISPConfig 3.1 で Amavisd を Rspamd に置き換える


このページでは

  1. 前提条件
  2. Redis をインストールする
  3. BIND がインストールされていない場合は Unbound をインストールします
  4. Rspamd のインストールと構成
  5. ISPConfig を更新する
  6. ISPConfig で Rspamd を有効にする
  7. Rspamd ダッシュボードに外部からアクセスできるようにする
    1. アパッチ
    2. ニンクス
    3. Rspamd GUI

    このチュートリアルでは、ISPConfig 3.1 サーバーで amavis (amavisd-new) スパム スキャン ソフトウェアを Rspamd に置き換える手順について説明します。このチュートリアルは、Debian および Ubuntu Linux 向けに書かれています。

    前提条件

    • ルート アクセス。
    • ISPConfig 3.1 がインストールされている必要があります。この手順を実行すると、ISPConfig のバージョンは 3.1.15 以降になります。
    • サーバーは、x86_64 プロセッサ (64 ビット Linux) で Debian 9 ~ 10 または Ubuntu 18.04 を使用します。古いバージョンの Debian と Ubuntu も動作する可能性がありますが、私はそれらをテストしませんでした。

    以下のすべてのコマンドは、root ユーザーとして実行されます。このガイドを続行する前に、root ユーザーとしてログインするか、Debian では su - または Ubuntu では sudo -s を使用して root ユーザーになります。

    注: この手順では、すべてのメールボックスとエイリアスを再構成して、各アカウントの Rspamd 構成を書き込みます (ISPConfig ツール > 再同期の実行と同様)。大規模なメール サーバーではかなりの時間とリソースが必要になる場合があります。

    Redis をインストールする

    ISPConfig の Rspamd セットアップには Redis が必要なので、最初にインストールします。

    apt-get install redis-server lsb-release

    BIND がインストールされていない場合は Unbound をインストールします

    サーバーにローカル DNS サーバーがインストールされていない場合は、unbound などのローカル DNS リゾルバーをインストールする必要があります。

    まず、次のコマンドを使用して BIND がインストールされているかどうかを確認します。

    which named

    コマンドが名前付きバイナリへのパスを返す場合:

    :/tmp# which named
    /usr/sbin/named

    その後、BIND がインストールされるため、この手順をスキップする必要があります。 named へのパスが返されない場合は、unbound をインストールします。

    apt-get install unbound

    Rspamd のインストールと構成

    Rspamd をインストールする最初のステップは、Rspamd Debian/Ubuntu パッケージ リポジトリを追加することです。

    CODENAME=`lsb_release -c -s` 
    wget -O- https://rspamd.com/apt-stable/gpg.key | apt-key add -
    echo "deb [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" > /etc/apt/sources.list.d/rspamd.list
    echo "deb-src [arch=amd64] http://rspamd.com/apt-stable/ $CODENAME main" >> /etc/apt/sources.list.d/rspamd.list

    パッケージ リストを更新します。

    apt-get update

    そして apt で Rspamd をインストールします:

    apt-get install rspamd

    Rspamd 構成で Redis をアクティブ化します。

    echo 'servers = "127.0.0.1";' > /etc/rspamd/local.d/redis.conf

    Rspamd の履歴を増やし、圧縮を有効にして、件名を履歴に表示します。この手順はオプションです。

    echo "nrows = 2500;" > /etc/rspamd/local.d/history_redis.conf 
    echo "compress = true;" >> /etc/rspamd/local.d/history_redis.conf
    echo "subject_privacy = false;" >> /etc/rspamd/local.d/history_redis.conf

    次に、Rspamd を再起動します。

    systemctl restart rspamd

    ISPConfig の更新

    Rspamd 構成を有効にするには、ISPConfig を更新する必要があります。 ISPConfig アップデーターがサービスを再構成するかどうか尋ねてきたら、[はい] を選択します。

    cd /tmp
    wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
    tar xvfz ISPConfig-3-stable.tar.gz
    cd ispconfig3_install/install
    php -q update.php

    Rspamd が検出されて設定されると、アップデート スクリプトの出力に \Configuring Rspamd\ という行が表示されます。

    ISPConfig で Rspamd を有効にする

    最後の手順では、管理者ユーザーとして ISPConfig にログインする必要があります。

    ISPConfig で System > Server Config > Mail に移動します。

    そこで、フィールド コンテンツ フィルターの値を Amavisd から Rspamd に変更し、ページの下部にある保存ボタンを押します。 ISPConfig は、Rspamd のすべてのメールボックスの再構成を開始します。

    [システム] > [サーバー構成] > [メール] に戻ると、Rspamd パスワードを読み取って設定できる新しいフィールドがいくつか表示されます。

    外部から Rspamd ダッシュボードにアクセスできるようにする

    Rspamd ダッシュボードは localhost のポート 11334 にあるため、外部からアクセスすることはできません。この章では、ISPConfig でウェブサイトを作成し、プロキシ構成を追加します。構成は Apache と Nginx Web サーバーの間で異なります。インストールされている Web サーバー ソフトウェアに一致する章を使用してください。

    アパッチ

    プロキシ モジュールを有効にして、Apache を再起動します。

    a2enmod proxy
    systemctl restart apache2

    次に、ISPconfig にログインし、Rspamd GUI へのアクセスに使用する Web サイトを作成します。ドメイン名は自由に選択できます。ここでは rspamd.example.com を使用します。そのサイトでプログラミング言語やその他のオプションを有効にする必要はありません。すべてをデフォルトのままにしてください。ただし、SSL を有効にして暗号化することを強くお勧めします。

    Web サイトの [オプション] タブに移動し、次の構成を [Apache ディレクティブ] フィールドに入力します。 Apache 2.2 の場合は、次を使用します。

     <Location /rspamd>
    Order allow,deny
    Allow from all
    </Location>
    RewriteEngine On
    RewriteRule ^/rspamd$ /rspamd/ [R,L]
    RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]

    Apache 2.4 の場合は、代わりにこれを使用します。

    <Location /rspamd>
    Require all granted
    </Location>
    RewriteEngine On
    RewriteRule ^/rspamd$ /rspamd/ [R,L]
    RewriteRule ^/rspamd/(.*) http://127.0.0.1:11334/$1 [P]

    これで、Web ブラウザ https://rspamd.example.com/rspamd を使用して Rspamd GUI にアクセスできます。パスワードの入力を求められます。Rspamd のインストール中に生成したパスワードを使用してください。

    ニンクス

    ISPconfig にログインし、Rspamd GUI へのアクセスに使用するウェブサイトを作成します。ドメイン名は自由に選択できます。ここでは rspamd.example.com を使用します。そのサイトでプログラミング言語やその他のオプションを有効にする必要はありません。すべてをデフォルトのままにしてください。ただし、SSL を有効にして暗号化することを強くお勧めします。

    ウェブサイトの [オプション] タブに移動し、次の構成を Nginx ディレクティブ フィールドに入力します。

    location / {
    root /usr/share/rspamd/www/;
    try_files $uri @proxy;
    }

    location @proxy {
    proxy_pass http://127.0.0.1:11334;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    }

    これで、Web ブラウザ https://rspamd.example.com/ を使用して Rspamd GUI にアクセスできるようになりました。パスワードの入力を求められます。ISPConfig で Rspamd に設定したパスワードを使用してください。

    Rspamd GUI

    これで、ブラウザーで Rspamd GUI にアクセスして、スパム フィルター レートとスループットに関する詳細な統計を取得できるようになりました。

    ISPConfig は、Amavis の代わりに Rspamd を使用してスパム メールをスキャンするように再構成されました。 Rspamd は、Dkim 署名にも使用されます。

    アマビスを無効にする

    最後に、amavisd サービスを停止して無効にします。

    systemctl stop amavisd-new
    systemctl disable amavisd-new

    結論

    Rspamd は、Linux サーバー用の最新の高性能スパム スキャン ソフトウェアで、非常に正確なフィルタ結果を提供します。 ISPConfig は、バージョン 3.1.15 以降、Rspamd をスパム スキャン ユニットとしてサポートしています。このチュートリアルでは、ISPConfig 3.1 サーバーで amavisd.new を Rspamd に置き換える方法を示します。

関連記事: