2026年9月27日

2026年9月27日

rsyslogでログをリモートサーバーに転送する方法

はじめに

システムのセキュリティと可視性を向上させるため、ローカルサーバーから生成されるログデータを別のリモートサーバーに転送することが重要です。rsyslogは、この目的で広く使用されている無料のオープンソースソフトウェアであり、高度なフィルタリングとフォーマット機能を備えています。

症状・背景

  • システム管理者がセキュリティ監視を強化する必要がある場合
  • ローカルサーバーのストレージ容量やパフォーマンスに余裕がない場合
  • 中央集約型のログ管理システムを構築したい場合
  • 万が一の事態(例:サーバーフェイルオーバー)に対応するため

手順・設定方法

ステップ1: rsyslogのインストールと確認

# パッケージリポジトリからrsyslogをインストールします。
sudo apt-get install rsyslog -y

# 現在のrsyslogのバージョンを確認します。
rsyslogd -v

ステップ2: 設定ファイル編集

# メイン設定ファイルを開きます。
sudo nano /etc/rsyslog.conf

# 追加または修正する以下のような行を追加します。リモートサーバーのIPアドレスとポート番号が必要です。
*.* @<remote_server_ip>:514

# 編集が完了したら、設定ファイルを保存しrsyslogサービスを再起動します。
sudo systemctl restart rsyslog

ステップ3: ファイアウォール設定の確認と変更

# リモートサーバーからの接続を受け入れるようファイアウォールルールを追加します。ここでは、ufwを使用しています。
sudo ufw allow from <remote_server_ip> to any port 514 proto udp

# 確認のため、現在の状態を表示します。
sudo ufw status

ステップ4: テストと確認

# ログファイルにメッセージを追加し、それが正しく転送されたか確認します。
logger -t test "This is a test message for remote logging"

# 以下のように、リモートサーバー上のログファイルで該当のメッセージを確認します。
cat /var/log/syslog

注意事項

  • セキュアな接続: UDPではなくTCPを使用することで暗号化と信頼性を向上させます。また、TLSやSSLのサポートもrsyslogには存在します。
  • 性能影響: ログ転送がネットワーク帯域やサーバーのパフォーマンスに大きな影響を与える可能性があります。適切なテストとモニタリングが必要です。
  • セキュリティ上の注意:

- リモートサーバーへのアクセスは最小限に抑え、必要なIPアドレスのみ許可します。

- ログファイル自体の権限設定を慎重に行い、適切な所有者とグループを持つようにします。

  • パフォーマンス/運用上の注意:

- 大規模なシステムでは分散型ログ管理ソリューションを検討することをお勧めします。

- 常にバックアップと冗長性計画を作成し、データ損失やサービス障害からシステムを保護します。

まとめ

1. インストールと基本設定: rsyslogのインストール後はすぐに基本的な設定を行います。リモートサーバーへの転送が可能になるように適切な設定を行ってください。

2. セキュアな接続: UDPではなくTCPを使用し、必要に応じてTLSやSSLを追加することで、データの安全性を確保します。

3. パフォーマンスと可用性: ログ転送がシステムのパフォーマンスやネットワーク帯域に影響を与えないように、適切なテストとモニタリングを行ってください。

4. セキュリティポリシー: すべてのログデータへのアクセスを制限し、必要なユーザーのみに許可を与えます。これにより、重要な情報を守ることができます。

5. トラブルシューティング: ログが正しく転送されない場合は、rsyslogの設定ファイルとファイアウォールルールを確認してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲