螺子です。本連載記事では、リモートアクセスログを、さまざまなsyslog-ng Store Box (SSB)の機能を使用して調査してみます。
(リモートアクセスのセキュリティ対策については、こちらをご参照ください。)
はじめに
IPAから「情報セキュリティ10大脅威 2022」が発表されています。今回も組織の脅威として「テレワーク等のニューノーマルな働き方を狙った攻撃」がランクイン(4位)[1]しています。
テレワークなどで利用されるリモートアクセスは、これらの脅威に常に晒されています。
「リモートデスクトップへの総当たり攻撃急増」[1]からもわかるように、不正(リモート)アクセスを試みる攻撃の手段として以下のようなものがあります。
総当たり攻撃 (ブルートフォース攻撃) | すべてのパスワードの組み合わせ攻撃 |
逆総当たり攻撃 (リバースブルートフォース攻撃) | 同一パスワードで複数IDへの攻撃 |
パスワード類推攻撃 | 個人情報から類推できるパスワードで攻撃 |
辞書攻撃 | よくあるパスワードで攻撃 |
パスワードリスト攻撃 | 流出したIDとパスワードのリストで攻撃 |
SNSあるいはクラウドの普及、DX推進[3]にも伴い、これらの古い攻撃手法[2]であっても、不正アクセスの手法としていまだに有効です。
不正アクセスは次のような脅威につながる可能性があるので放置できません。
- 「ランサムウェアによる被害」(同1位)
- 「標的型攻撃による機密情報の窃取」(同2位)
これらの攻撃に対する、対策/対応の一つとして、以下[1]が挙げられています。
攻撃の予兆/被害の早期検知
・適切なログの取得と継続的な監視
・ネットワーク監視、防御
前述の攻撃手法では、1回で不正アクセスが成功する可能性は少なく、攻撃による認証エラーが発生します。
これらの攻撃を早期に検知できないでしょうか?
もしリモート認証ログを簡単に定常的にチェックできるログ管理ができるなら、セキュリティ対策の一つとして非常に有効であると言えるでしょう。
以下のセクションでは、そのソリューションとしてSSBを設定するやり方をご紹介します。
[1]「情報セキュリティ10大脅威 2022」より
[2]「オンライン本人認証方式の実態調査」報告書について「表 5 パスワードに対する主な攻撃」より
[3]「DX推進において認識すべきサイバーリスクと対策の重点事項」より
ログスペースの作成
まず、リモートアクセスの失敗(認証エラー)ログを保存する”ログスペース”を作成します。
[Log]>[Logspaces]に移動し、ボタンをクリックします。新しいログスペース設定を記述するための追加のフィールドが表示されます。
新しいログスペース名として、”failed”と入力します。
以下に、ログスペースの主要なパラメーターについて簡単に説明します。
- [LogStore]または[Text file]: ログをバイナリまたはテキスト形式で保存します。[LogStore]で保存したログのみがSSBの検索ページで閲覧・検索できます。デフォルトで[LogStore]が選択されます。
- [Indexer]: インデックスを有効または無効にし、有効の場合、インデックス付けするメッセージフィールドを指定します。インデックス付けされたフィールドのみがSSBの検索ページで検索可能になります。デフォルトで[Program]、[Host]、[Name/value pairs]および[Message]にインデックス付けされます。
- [Filename template]: 保存したログのファイル名を指定します。[LogStore](バイナリ形式)の場合、[All messages in one file]のみ指定が可能です。
- [Policies]: 適用する各ポリシー(バックアップポリシーなど)を指定します。
[Commit]をクリックして、設定を保存します。
ログパスの作成
次に、受信したログの中から、認証エラーログのみ保存するためのパスを作成します。
[Log]>[Paths]に移動し、ボタンをクリックします。新しいパス設定を記述するための追加のフィールドが表示されます。
※ここでは、便宜上などのヘッダ部分のすぐ後にパスの設定フィールドが表示されていますが、実際には間に他のパスが表示され、離れている場合があります。
下の[all]横の[+]をクリックします。[select an option]ドロップダウンリストに変わるので、ログを受信するソースを選択します。ここでは、”legacy”を選択します。
※SSBでは、デフォルトで以下のソースでログを受信します。ここでは、リモートアクセスログは”UDP Port 514 (RFC 3164 BSD syslog Protocol)”で送信されているものとします。
- legacy: UDP Port 514 (RFC 3164 BSD syslog Protocol)
- tcp: TCP Port 601 (RFC 5424 IETF syslog Protocol)
- tls: TLS Port 6514 (RFC 5425)
- tcp_legacy: TCP Port 514 (RFC 3164)
下の[none-omitted]横の[+]をクリックします。[select an option]ドロップダウンリストに変わるので、ログを保存するログスペースを選択します。ここでは、”failed”を選択します。
メッセージフィルターの適用
続いて、メッセージフィルターを適用します。下の[Add filter]セクションの[Choose filter…]ドロップダウンリストから”message”を選択します。
その横の[+]をクリックします。
[Add filter]セクションが[message]セクションに変わり、[select an option]ドロップダウンリストが表示されます。
[select an option]ドロップダウンリストから”is”(抽出)を選択します。
フィルターしたい文字列または正規表現式を入力します。ここでは、認証エラーを示す”XAUTH authentication failed”を入力します。
[Commit]をクリックして、設定を保存します。
認証エラーログの閲覧
上述までの手順で、リモートアクセスの失敗(認証エラー)ログのみが”failed”ログスペースに保存されるようになりました。”failed”ログスペースを閲覧・検索するには、[Search]>[Logspaces]に移動し、[Logspace]フィールドのドロップダウンリストから”failed”を選択します。
リモートアクセスの失敗(認証エラー)ログのみが保存されリストされていることがわかります。
SSBの機能
本記事で使用したSSBの機能は以下の通りです。
- メッセージフィルター(ログパス)
参考資料
ログスペースの作成、ログパスの作成およびメッセージフィルターの適用の詳細については、syslog-ng Store Box 6 LTS管理者ガイドの、それぞれ「8.1.1 ログストアの作成」、「10.2 新しいログパスの作成」および「10.3 メッセージのフィルター」を参照してください。
また、メッセージフィルターについては、過去記事「syslog-ng Store Box大活用連載企画第11回「フィルターを使用して、必要なログのみ保存してみる!」」でも紹介していますのでご参照してください。本記事では紹介していない、カスタムフィルターについても説明しています。
いかがでしたでしょうか。今回は、”メッセージフィルター(ログパス)”機能について紹介しました。
さて、同様なことがフィルターログスペース(本連載記事:(その1)「フィルターログスペースを使用して必要なログのみ検索・抽出してみる!」参照)でも可能ですが、今回、ログスペースに保存しています。どうしてでしょうか?
これは、次回以降で紹介する、さまざまなSSBのアラート機能を利用するためです。次回はリモートアクセスの認証エラーログから管理者にアラートを通知する機能を紹介します。
それでは、次回の連載記事をお楽しみに!
これまでの「リモートアクセスログを調査」連載記事
- (その1)「フィルターログスペースを使用して必要なログのみ検索・抽出してみる!」
- (その2)「マルチログスペースを使用してログを集約してみる!」
- (その3)「リモートログスペースを使用して他のSSBに保存したログを検索・抽出してみる!」
- (その4)「サービス残業させていない?リライトを使用して日時を指定して検索してみる!」
- (その5)「サービス残業させていない?業務時間外勤務の実態をグラフで見やすく!」
- (その6)「サービス残業させていない?レポートを日ごと、週ごと、月ごとに定期的に送信!」
- (その7)「不正アクセスされていない?アクセス元IPアドレスから国・都市・ASNの調査!」
「syslog-ng Store Box大活用連載企画」連載記事リスト
- 第1回「syslog-ng Store Boxを知る」
- 第2回「syslog-ng Store Boxを仮想環境にインストールする」
- 第3回「syslog-ng Store Boxで出来ることまとめ」
- 第4回「Wiresharkでsyslogプロトコルパケットを覗く」
- 第5回「Ciscoスイッチ、FortigateファイアウォールログをSSBで受信!よりログを検索しやすく」
- 第6回「RPC APIを使ってみる、自社システムに統合!ログ検索の自動化!」
- 第7回「Active Directoryと連携して、Active Directoryユーザー認証!」
- 第8回「SSBをHA(High Availability)構成で構築してみる!」
- 第9回「ログをバイナリおよびテキスト形式で保存、違いを比較してみる」
- 第10回「ログファイルを共有して、外部ホストからアクセスしてみる!」
- 第11回「フィルターを使用して、必要なログのみ保存してみる!」
- 第12回「SSBの監視とアラート!SNMPマネージャーで監視およびSNMPトラップを受信してみる」
- 第13回「コンテンツベースアラート。重要なログを見逃さない!」
- 第14回「設定変更履歴。コンプライアンスにも対応!」
- 第15回「トラブルシューティングに役立つ機能。問題を迅速に解決!」
- 第16回「ユーザーアクセス制御。アクセス権限とタイプを設定してみる!」
- 第17回「リライト機能。ログの整形や正規化!」
- 第18回「バックアップリストア。システムデータおよびログデータをバックアップ、リストアしてみる!」
- 第19回「アーカイブ/クリーンアップ。ログデータをアーカイブ、クリーンアップしてみる!」
- 第20(最終)回「SSBの有効活用および安定稼働のためのポイントを紹介!」
SSBは、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。
syslog-ng Store Boxについての詳細は、製品紹介ページ・製品ガイドをご参照ください。