AccessScope

AccessScope

アクセスログの診断ツール

サーバのログから、攻撃の試みを根拠つきで見つける診断ツールです。RoamSwitch に同梱される別ツール(Mac / Linux)です。

できること

  • ログから攻撃の試みを見つけ、根拠の行を示します
  • この端末のログを、自動で探します
  • 総合リスクと検知の一覧を、報告書にまとめます
  • 除外ルールと前回との比較で、見る件数を絞れます

読めるログ

ApachenginxCaddyTraefikHAProxyAWS ALB・CloudFrontSSH・sudo・PAMメールデータベースfail2banDockermacOS 統合ログ

Docker のコンテナのログも、読み取りだけで調べられます(使うときは確認画面が出ます)

結果の使い方

  • 報告書は、Markdown・JSON・SARIF・CSV で書き出せます
  • 検知した IP の遮断リストを書き出せます(書き出すだけで、遮断はしません)
  • 自社の IP などは、理由をつけて除外できます
  • 前回の診断と比べて、新しい検知だけを知らせます

安全設計

  • 待ち受けポートを開きません。ログは読むだけで、書き換えません
  • 権限は上げず、いま読める範囲だけを読みます
  • ログの中の文字列は、画面にテキストとしてだけ表示します
  • 通信するのは、選んだ LLM と、押したときだけの Mac のアップデート確認です

限界

  • ログに残った事実だけが根拠です。検知がないことは、安全の証明ではありません
  • 検知は試みがあったという意味で、攻撃が成功した証拠ではありません。User-Agent などは偽装できます
  • 複数のログにまたがる連鎖と、ふだんとの違いは経験則で、見逃しも誤検知もあります

コマンドで使う

accessscope scan --auto --since 7d --report report.md

見つけるもの

Web の攻撃
SQL インジェクションパストラバーサルXSSコマンド注入既知の脆弱性(CVE)SSRF
ログインの総当たり
Web のログインSSHメールデータベース多数の IP からの試行
探索・スキャン
.env などの探索攻撃ツール存在しないパスの連続
Web シェル・成功の疑い
Web シェルらしいアクセス失敗が続いたあとの成功
複数のログにまたがる連鎖
同じアドレスが Web と SSH に出現偵察から攻撃への流れ
ふだんとの違い
見慣れない接続元のログイン新しい User-Agent新しいパス
そのほか
大量のリクエスト・転送クローラの偽装ログに仕込まれた AI への指示

自前の試験データでの実測です。攻撃の検知は約 99%、正常な通信で中以上の検知が出たのは約 2% でした。実際のサーバでの保証ではありません。

画面の例

AccessScope の「ログを診断する」画面。nginx・Apache・SSH・Docker のログが見つかり、「診断する」ボタンが表示されている
ログを探して、選んで、診断する
診断結果のダッシュボード。総合リスクのゲージ、深刻度別の件数、分類ごとの発生件数、時間ごとの推移が表示されている
総合リスクと、分類ごとの件数
検知の一覧。SQL インジェクション、複数のログに現れた同じアドレス、見慣れない接続元からの SSH ログインについて、根拠のログ行と理由が表示されている
根拠のログ行と、理由が読める

実際の画面に、見本のデータを入れて表示しています。IP アドレスなどはすべて架空です。

LLM による分析(任意・既定はオフ)

  • 渡すのは、要約と根拠のログ行(1 件あたり数行)だけです。生ログは渡しません
  • 秘密(キー・トークン・パスワードなど)は伏せ字にします。送る前に、内容の全文を確認できます
  • 「LLM でログを探す」では、ファイルの名前や場所だけを渡し、中身は渡しません
  • 有効にすると、内容は選んだ LLM のサービスに送られます。RoamSwitch の「Zero Telemetry」の説明に、この機能は含まれません
  • オフのままなら、診断の内容が端末の外へ出ることはありません。root でも LLM を実行できますが、LLM は root の権限で動くので、権限のない一般ユーザーでの実行をお勧めします(画面アプリは、root で動いている間、設定に注意を出します)

入手

  • Mac は、RoamSwitch の DMG に入っています(画面とコマンド。macOS 12 以降)
  • Linux は、RoamSwitch の deb / rpm / tarball に入っています(Server Edition はコマンドだけ)
  • Mac のアプリ内アップデートは、押したときだけ lafine.net に接続し、署名を確かめてから入れます
  • RoamSwitch とは別のツールで、ライセンスは Apache License 2.0 です(RoamSwitch の EULA の対象外)

端末に保存するのは、見つけたログの一覧(discovered.json)、前回との比較に使う状態ファイル、除外ルール(suppress.toml)です。外部には送りません。詳しくはプライバシーポリシーをご覧ください。