Sophos Firewall でローカル署名した証明書を使用して Syslog サーバーに安全に接続する方法
Sophos Firewall でローカル署名した証明書を設定し、それを使用して Syslog サーバーに TLS 暗号化したログを送信することができます。
はじめに
前提条件:
- Syslog サーバーとの TLS 接続を確立するには、Syslog サーバーで TLS 暗号化をオンにする必要があります。
- Sophos Firewall でローカル署名した証明書を生成するには、デフォルトの CA の ID の属性および詳細を指定する必要があります。
この例では、以下を使用します。
- Syslog サーバー: syslog-ng
- クライアント: Sophos Firewall
- Sophos Firewall でローカル署名した証明書
設定手順は以下のとおりです。
- Sophos Firewall でローカル署名した証明書を設定します。
- ルート証明書、ユーザー証明書、および鍵を Syslog サーバーにコピーします。
- Sophos Firewall で、Syslog サーバーを追加します。
- Syslog サーバーに送信するログのモジュールを選択します。
ローカル署名した証明書を設定する
Sophos Firewall でローカル署名した証明書を設定し、ファイルをダウンロードします。
-
「証明書 > 証明機関」に移動し、「既定」(デフォルトの CA) をクリックします。
ID の属性と詳細が正しいことを確認します。
-
「証明書 >証明書」の順に選択し、「追加」を選択します。
-
「ローカル署名した証明書の生成」を選択します。
次に例を示します。
-
以下のように指定し、「保存」をクリックします。
名前 説明 鍵の暗号化 このオプションを選択します。 パスフレーズ/PSK パスフレーズを入力し、確認のためにもう一度入力します。 証明書 ID 「メール」を選択し、連絡先のメールアドレスを入力します。 次に例を示します。
-
「一般名」に、Syslog サーバーのホスト名または IP アドレスを入力します。
次に例を示します。
-
作成した証明書の「ダウンロード」 をクリックします。
.tar.gz
ファイルがダウンロードされます。 -
ダウンロードしたファイルを、
RootCertificate.pem
、UserCertificate.pem
、UserPrivateKey.key
に展開します。
証明書と鍵を Syslog サーバーにコピーする
Sophos Firewall で生成したルート証明書、ユーザー証明書、および秘密鍵を、Syslog サーバーにコピーします。以下のディレクトリは例です。ご利用の Syslog サーバーのディレクトリを使用してください。
- Syslog サーバーに移動し、
RootCertificate.pem
を/etc/syslog-ng/ca.d/
ディレクトリにコピーします。 UserCertificate.pem
とUserPrivateKey.key
を/etc/syslog-ng/cert.d/
ディレクトリにコピーします。-
/etc/syslog-ng/ca.d/
ディレクトリに移動し、以下のコマンドを入力して、RootCertificate.pem
に基づくハッシュを作成します。#openssl x509 -noout -hash -in RootCertificate.pem
ルート証明書に含まれる識別名に基づき、英数字のハッシュが作成されます (例:
52412b66
)。 -
上記のハッシュにサフィックス
.0
を付与して以下のコマンドを実行し、RootCertificate.pem
へのシンボリックリンクを作成します。#ln -s RootCertificate.pem 52412b66.0
-
syslog-ng.conf
ファイルを編集して、コピーした証明書 (UserCertificate.pem
)、鍵 (UserPrivateKey.key
)、およびルート証明書 (RootCertificate.pem
) の場所を指定します。UserPrivateKey.key
とUserCertificate.pem
は、それぞれフルパスを指定します。- CA のディレクトリ
ca.d
をフルパスで指定します。
例
@version: 3.15 @include "scl.conf" source s_src { network(ip(0.0.0.0) port(6514) transport("tls") tls( key-file("/etc/syslog-ng/cert.d/UserPrivateKey.key") cert-file("/etc/syslog-ng/cert.d/UserCertificate.pem") ca-dir("/etc/syslog-ng/ca.d") peer_verify(required-trusted)) ); }; destination d_local { file("/var/log/messages"); file("/var/log/messages-kv.log" template("$ISODATE $HOST $(format-welf --scope all-nv-pairs)\n") frac-digits(3)); }; log { source(s_src); destination(d_local); };
-
syslog-ng サーバーを起動します。
Syslog サーバーの追加
Sophos Firewall に Syslog サーバーを追加し、サーバーのログ設定を指定します。
- 「システムサービス > ログ設定」に移動し、「追加」をクリックします。
-
設定を指定します。
オプション 説明 IP アドレス/ドメイン Syslog サーバーの IP アドレスまたはドメイン名。 **ログの安全な転送** TLS を使用して syslog サーバーに送信されるログを暗号化します。 ポート 6514
-
「保存」をクリックします。
次に例を示します。
-
「システムサービス > ログ設定」に移動し、「ログ設定」までスクロールダウンします。「Syslog サーバー」で、送信するログを選択します。
以下に例を示します: