さくらのクラウドVPNルータのログをSyslogサーバへ転送してみる

ネットワーク # Syslogサーバ # VPNルータ # さくらのクラウド

皆さんこんにちは!新人のアナサピです!
前回の記事では、VPNルータのログを確認しながら、通信がどこまで到達したのかを検証しました。
VPNルータのファイアウォールで通信を拒否した場合や、VPNルータでは許可したものの、その先のパケットフィルタで拒否した場合など、それぞれのログを比較することで、通信がどの段階で制御されたのかを確認しました。
また、前回チラッと触れたようにコントロールパネル画面では最新の100件が表示される仕様となっています。
実際の環境ではさまざまな通信が発生するため、確認したいログが流れてしまうことも考えられます。
そこで今回は、VPNルータのログをSyslogサーバへ転送し、サーバ側で保存する方法を試してみました。

前回の記事はこちらです。

検証環境

今回は、前回の構成にSyslogサーバを追加しております。

                 Internet
                    │
                    │
                 VPN-TEST
                    │
                192.168.0.1
                    │
               SWITCH-TEST
                    │
               ┌────┴───────┐
               │            │
           kensho-18       syslog01 ←今回追加したサーバ
          192.168.0.10    192.168.0.20

今回使用するサーバは以下の通りです。

機器 プライベートIP 役割
VPN-TEST 192.168.0.1 VPNルータ
kensho-18 192.168.0.10 検証用サーバ
syslog01 192.168.0.20 Syslogサーバ

Syslogサーバを準備

rsyslogが導入されていることを確認

まず、rsyslogがインストールされていることとrsyslogの稼働状況を確認します。

導入されており、問題なく稼働しているのを確認しました。
もしここでインストールされていなかったら導入を行います。

UDP/514番ポートでSyslogを受信する

Syslogサーバでは、VPNルータから送信されるSyslogを受信する必要があります。
まず、サーバのUDP/514番ポートが待ち受け状態になっているか確認します。

初期の状態では何も表示されませんでした。

そこで、rsyslogの設定ファイルを作成します。

これは、rsyslogでUDPを利用したSyslogをVPNルータから受信し、UDP/514番ポートで待ち受けるための設定です。設定後、UDP/514番ポートを確認します。

先ほどは何も出ませんでしたが、今度はUDP/514番ポートでrsyslogが待ち受けていることを確認できました。

rsyslogを自動起動に設定

また、先ほど確認した際に自動起動が無効(disabled)になっていたので、サーバ再起動後もrsyslogが起動するように設定します。

先ほどとは異なり、自動起動が有効(enabled) となっていることを確認しました。

ファイアウォールでUDP/514を許可

続いて、AlmaLinux側のfirewalldでUDP/514番ポートを許可します。
先ずは現状確認

初期の状態なので、許可ポートは特にありませんでした。
では追加をしていきます。

設定を確認します。

となり、無事にUDP/514が許可されました。
このままだと再起動時に設定が外れてしまうため、この設定を恒久化します。

設定を再読み込みして、設定が外れてないか確認します。

これで、Syslogサーバ側の受信準備は完了です。

VPNルータにSyslogサーバを設定

続いて、VPNルータ側の設定を行います。
実際の設定方法は公式マニュアルがありますので、そちらをご確認ください!

その他の機能 | さくらのクラウド マニュアル

さくらのクラウドのコントロールパネル上でVPN-TESTの「情報」から「編集」を選択し、Syslogサーバに以下のIPアドレスを設定しました。

Syslogサーバ
192.168.0.20

VPNルータからログが届くか確認

さて、ここまでVPNルータとSyslogサーバを設定したので、実際にVPNルータからSyslogサーバへログが届くか確認します。

このログから、VPNルータのホスト名や SRC、DST、PROTO、DPT など、前回VPNルータのログ画面で確認していた情報がSyslogサーバ側にも転送されていることが分かります。
ただ、これだと/var/log/messages に保存されており、他のメッセージログと混在しています。

VPNルータのログを専用ファイルへ保存する

追加で設定

ここまでで、VPNルータのログをSyslogサーバへ転送できることを確認できました。
しかし、このままではVPNルータのログが通常の /var/log/messages に記録されます。
このままでも良いのですが、せっかくなので専用ファイルへ保存をしていこうと思います。

先ほど設定した「/etc/rsyslog.d/10-remote.conf」 に以下を追加します。

ここでは、VPNルータから送られてきたログ全てにVPNルータのホスト名が記載されていますので、それを条件として設定しております
このホスト名(rt-113801432903-113801432904)に一致したログを、「/var/log/vpn-router.log」へ保存します。

専用ファイルへの保存を確認

設定後、/var/log/vpn-router.log が作成されていることを確認します。

ファイルが作成されました!中身も確認していきます。

このように、VPNルータから送信されたログをSyslogサーバ側の専用ファイルへ保存できることを確認できました。VPNルータ側で発生したログをSyslogサーバへ転送することで、VPNルータのログ画面だけでなく、Linuxサーバ側でもログを確認できるようになりました。
前回の記事ではVPNルータのログ画面から通信の挙動を確認しましたが、今回はそのログをSyslogサーバへ転送することで、VPNルータとは別のサーバ上にログを保存できることを確認しました。

まとめ

今回は、VPNルータのログをSyslogサーバへ転送し、サーバ側で保存するところまで検証しました。

今回の検証によって、

  • VPNルータからSyslogサーバへログを転送できる
  • rsyslogの設定によってVPNルータのログを専用ファイルへ保存できる

ことが分かりました。

実際の環境ではさまざまな通信が発生するため、ログをどのように保存・管理するかも重要になります。
今回はSyslogサーバへの転送とファイルへの保存までを確認しましたが、今後ログを継続的に運用する場合には、ログローテーションや検索・監視なども考える必要があります。

個人的にはVPNルータ側の設定は簡単でしたが、Syslogサーバ側の設定には少し手こずってしまいました。
また、さくらのクラウドにはVPNルータとモニタリングスイートを連携する機能があります。こちらはログストレージへの保存やWeb UIからの検索にも対応しているため、実際の運用ではこちらの方が手軽そうです。
実際にモニタリングスイートを紹介している記事はこちらからご覧ください!

この記事を書いた人

アナサピ

サービス業からのエンジニア転職。

クラウドに触れながら得た気付きや、初心者からの視点をお届け。

「これから触る人の参考になる情報」をまとめていきます!

【取得資格】

LinuC Level1

さくらのクラウド検定