アップロードファイルのウイルススキャン/ Automated Malware Scanning
ClamAV によるイベント駆動の自動検査・隔離・シグネチャ更新
取引先から受領するファイルを、社内に取り込む前にすべてウイルス検査します。安全と確定したものだけを流通させ、疑わしいものは隔離する――その全体像を、まず一枚の構成図でご覧ください。
matsuba-scanner)は名前と役割を併記します。各章へは目次から移動できます。
検査の全構成System Map
この仕組みを構成する稼働リソース(サービス・バケット・ジョブ)と、その間を流れる合図を一枚にまとめました。①取り込み → ②検査 → ③振り分け・下流(clean)/④隔離・管理(infected)→ ⑤シグネチャ更新、の 5 区画で読めます。各要素の詳しい役割は、この先の各章で扱います。
色の凡例 ― テール=処理サービス/金茶=バケット/赤=隔離/破線=外部・専用サービスアカウント。稼働リソース名(matsuba-scanner など)はすべて用語集に説明があります。
概要Overview
取引先とのファイル共有では、こちらが用意したものだけでなく、相手から受け取るファイルも扱います。中身が事前には分からないため、社内で開く・受信者へ渡す前に、必ず一度検査する必要があります。
そこで、アップロードされたファイルは、まず検査専用の置き場(未検査バケット)に着地します。その到着を合図に検査が自動で走り、結果に応じて検査済みと隔離に振り分けられます。利用者に見え、ダウンロードや共有・Drive 同期の対象になるのは、検査済み(clean)と確定したファイルだけです。検査中・感染・失敗のファイルは、一般の利用者からは見えません。
検査エンジンには、20 年以上の実績があるオープンソースのアンチウイルス
ClamAV を採用し、Google Cloud
上の小さな処理サービス(matsuba-scanner)として自前で運用しています。ファイルの到着から検査・振り分けまでは、人手を介さずイベント駆動(ある出来事をきっかけに次の処理が自動で動く方式)で連鎖します。
この資料の構成Pages
仕組みを、流れ・技術・運用の順にご説明します。「スキャンの仕組み」と「隔離と管理」は図つきで厚めに扱います。
設計の背景Why This Design
なぜ全ファイルを検査するのか。ClamAV とは何か。なぜこの構成なのか(Google 公式のリファレンスアーキテクチャに準拠し、業務要件に合わせて拡張)。
開く 02 · Pipelineスキャンの仕組みHow Scanning Works
アップロードから検査・振り分けまでの流れを、ドメインと技術の二層の図とシーケンス図で。検査結果の 3 分類も扱います。
開く 03 · Signaturesシグネチャの更新Signature Updates
検出定義(シグネチャ)を 6 時間ごとに自前のミラー経由で更新する仕組みと、その鮮度をどう監視しているか。
開く 04 · Operations隔離と管理機能Quarantine & Ops
感染ファイルの隔離・取り出し・恒久削除、再スキャン、滞留や失敗の検知、管理画面 2 面。定期処理と管理者向けの機能をまとめて。
開く 05 · Tech採用技術Tech Stack
この仕組みを構成する技術と、それぞれの役割。
開く 06 · Glossary用語集Glossary
本文で用いた技術用語と、稼働中のサービス名の一覧・説明。
開く規模と主要指標Key Figures
この仕組みの主な数字です(根拠は各ページに記載)。