2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ずんだもん「ファイルサーバーをAzure Blob + Nextcloudにしたらランサムウェア対策になるのでは?というポエムなのだ」

Last updated at Posted at 2025-10-25
Image 1 Image 2

ずんだもん「きりたん、最近、ファイルサーバーをランサムウェアにやられたってニュースをよく聞くのだ!」

きりたん「うちも怖いね。でも、ファイルサーバーってSMBでオンプレとかで立てるのが普通じゃないの?」

ずんだもん「そうなのだ。でもその“普通”が危ないのだ!今となってはWindowsクライアントにSMBでマウントされること自体が危険だとわかるのだ。」

きりたん「なるほど。よくみる構成だけどね。これをやめれば安全ってこと?」

ずんだもん「その通りなのだ!今日はAzure Blob Storageで“ファイルサーバーレス”化するとどれだけ安全になるかをポエムしてみるのだ!」

🙅‍♀️ 従来のファイルサーバーが危険なわけ

きりたん「でも普通のWindowsファイルサーバーでも権限管理してるよ?」

ずんだもん「問題はSMBプロトコルなのだ。この動画みたいに、社員PCが感染したら、共有フォルダ経由でファイルがどんどん暗号化されるのだ!」

きりたん「うわ、クライアントPCが侵入された瞬間、SMBを通じてサーバーのファイルまで人質に取られるってことね。ヤバイ!」

ずんだもん「しかも同じドメイン上だと、資格情報を奪われて管理者権限で全滅…ということにもなるのだ。」

今回の構成

ずんだもん「今回の案はこんな感じなのだ!」

image.png

解説

ずんだもん「ひとつひとつ見ていくのだ!」

Image 1 Image 2

☁️ 1. Azure Blobなら“そもそも感染できない”

ずんだもん「Azure Blob Storageはサーバーレス。つまり、攻撃者が侵入できるOSが最初から存在しないのだ!」

きりたん「なるほど、ファイル共有じゃなくて“API経由のストレージ”だから、SMBもRDPも開いてないのか。」

ずんだもん「そうなのだ。BlobはHTTPSでREST APIを叩くだけ。 つまり、“コマンド実行”や“横展開”が物理的に不可能なのだ!」

🧱 2. Nextcloudで「ファイルサーバーっぽく見せる」

きりたん「でもAPIじゃ業務で使いにくいんじゃ?」

ずんだもん「そこでNextcloudなのだ! NextcloudはオープンソースのWebアプリで、見た目はSharepointみたいなGUIを提供。でも内部的にはAzure Blob Storageをバックエンドにできるのだ。」

きりたん「あ〜Nextcloudの“Primary Object Storage”機能で、S3互換ストレージを直結するやつ?」

ずんだもん「そうなのだ! 最近は Nextcloud 27 以降で Azure Blob 用ドライバ(flysystem-azure-blob)にも対応していて、Blobを直接REST APIで扱えるようになっているのだ。サーバー側でOSマウントを使わずに、アプリレイヤーから直接Blobを操作できる構成なのだ!」

🔐 3. 認証はEntra ID でSSO + 条件付きアクセス

きりたん「でも、Nextcloudサーバー自体を守らないといけないわね。」

ずんだもん「そうなのだ!同じAzureのApp Serviceといったマネージドサービスを利用するのがよさそうなのだな。」

きりたん「ユーザー認証はどうするの?」

ずんだもん「Entraのエンタープライズアプリに事前登録しておいて、SSOにするのだ! つまり“会社のアカウント”+“MFA”でログインするのだ。」

きりたん「社外や私物PCからのアクセスもブロックできる?」

ずんだもん「もちろん!社内PC以外は条件付きアクセスで弾けるのだ。もし社外から必要になったら、以前のエントリで書いたように、エンドポイントをiPadなどにして社内PCやVDIを踏み台にすれば、さらにセキュアなのだ!」

💻 4. 社内PCからはブラウザオンリーアクセス

ずんだもん「次にクライアント。 この構成では社内Windows PCはIntuneやGPOでSMBプロトコルそのものを禁止して、代わりにブラウザ経由でNextcloudにアクセスするだけにするのだ。」

きりたん「なるほど。ファイル操作は全部HTTPS経由。Azure File ExplorerやAzCopyすらも制限するってことか。」

ずんだもん「そう。もしクライアントPCが感染しても、SMBの通信路が無いからサーバーに被害が広がらないのだ。

きりたん「GPOやIntuneで禁止も可能だけど、SMB完全ブロックは古いプリンターなどに影響がないか、しっかり検証が必要だね。」

👀 5. ファイルは“見るだけ”、ダウンロード禁止

きりたん「そういえばNextcloudで“プレビューだけ”ってできるの?」

ずんだもん「できるのだ!共有設定で“プレビュー専用リンク”を作ると、ダウンロード・コピー・印刷をUIレベルで無効化できるのだ。」

きりたん「つまり閲覧だけ許して、持ち出しは封じるってことね。」

ずんだもん「うむ。さらに、透かし付きプレビューや有効期限付きリンクで“スクショ対策”もある程度できるのだ!」

🧩 まとめ:この構成がセキュアな理由(分解してみる)

Image 1 Image 2
セキュリティ層 想定される攻撃 対策構成 防げる理由(結果)
🕸 ネットワーク層 SMB 経由での感染・横展開 SMB廃止+HTTPS通信のみ コマンド実行経路そのものを消し、感染してもサーバーに届かない
🔐 認証層 パスワード漏えい・共有 Entra ID(SSO+MFA+条件付きアクセス) 不正ログインや外部端末アクセスをMFA・条件で遮断
📦 データ層 ファイル暗号化・削除 BlobのVersioning+Soft Delete ランサムウェアでも復旧可能。削除や改ざんを即ロールバック
💻 クライアント層 感染端末からの拡散 HTTPS専用・SMB無効・ブラウザのみ許可 感染しても他端末・サーバーへ横展開できない構造
🩺 監査・復旧層 不正操作・流出の検知遅れ Blobアクセスログ+Defender for Storage監視 攻撃の兆候を早期検知し、自動アラートで即遮断
🧱 アプリ層 脆弱なWeb UI経由の改ざん・権限奪取/機密ファイルの持ち出し Nextcloud経由のみ許可+RBAC権限分離+「プレビュー専用リンク」 閲覧のみ許可しダウンロード・コピー・印刷をUIレベルで無効化。

ずんだもん「つまり、“ランサムウェアが感染しても、そもそも届かない場所にデータがある”のだ!」

きりたん「感染経路を“消す”発想、たしかに強い。」

┌───────────────┐
│ ネットワーク壁 │ ← HTTPS限定・SMB廃止
├───────────────┤
│ 認証壁        │ ← Entra SSO・MFA・アクセス条件
├───────────────┤
│ アプリ壁      │ ← Web UI/REST API+権限分離
├───────────────┤
│ データ壁      │ ← Blobバージョニング・不変化
├───────────────┤
│ クライアント壁│ ← Explorer/UI専用化・SMB排除
├───────────────┤
│ 監査/復旧層  │ ← ログ全保存・Defender監視
└───────────────┘

🔄 7. SharePointとの棲み分け(補足)

きりたん「でも画像やPDFはプレビューオンリーで問題ないとして、Officeファイルはダウンロードできないとちょっと不便よね。これらはSharePointと併用するのがいいの?」

ずんだもん「そうなのだ。業務データはSharePointで共同編集。 でも個人情報や契約書など“閉域でリードオンリーで扱いたいファイル”はNextcloud+Blob構成が適してるのだ。」

きりたん「なるほど、利便性と機密性で住み分けるんだね。」

⚙️ 7.1 Azure FunctionsでのSharePoint連携案

ずんだもん「さらに、“業務でBlob⇔SharePointのファイル連携”を自動化したいなら、Azure Functionsを使うのがオススメなのだ!」

きりたん「Functions?サーバーレスのイベント実行環境のやつ?」

ずんだもん「その通り! たとえばこんな連携ができるのだ👇」

トリガー 処理内容 説明
Blobにファイルアップロード → SharePointへコピー or メタデータ登録 個人情報ファイルを業務チームに転送しないよう制御付き連携
SharePointで更新発生 → Blob上の該当ファイルを同期 双方向同期も可能(ただし制御を限定する)
Blobファイル削除 → SharePointメタデータも削除 情報整合性を維持

ずんだもん「つまり、NextcloudがUI、Blobが安全なストレージ、Functionsが橋渡しという三層構成なのだ」

きりたん「なるほど。Functionsならトークン認証を安全に扱えるし、API経由でSPO Graph APIも叩けるね。完全サーバーレスなのもいいね」

ずんだもん「そうなのだ。 運用サーバーがなく、イベントドリブンで動くから管理も比較的軽いのだ」

🥪まとめ:ファイルサーバーは「守る」より「届かせない」

ずんだもん「まとめるのだ!」

Image 1 Image 2
  1. Blobはサーバーレス。攻撃対象のOSが無い
  2. NextcloudがUIを提供。SMB不要で安全
  3. Entra SSO+MFAで不正ログインを防止
  4. SMB禁止+HTTPS通信で感染拡大経路ゼロ
  5. プレビュー専用設定でデータ持ち出しを防止
  6. SharePointと役割分担で利便性も確保
項目 従来(SMB/オンプレ) サーバーレス構成
接続方式 SMB(445) HTTPS(443)+REST API
認証 AD/NTLM Entra ID+MFA
OS依存 あり(攻撃可能) なし(API経由のみ)
横展開リスク ❌ 高い ✅ 極めて低い
バックアップ 手動・スナップショット 自動バージョニング
復旧性 △ 手動対応必要 ✅ Soft Delete・即復旧
監査ログ △ 設定次第 ✅ 自動・詳細記録
個人情報保護 △ 物理管理必要 ✅ 暗号化・監査対応
運用コスト 高い(サーバー保守) 低い(マネージド)
ランサム耐性 ❌ 弱い ✅ 強い(構造的防御)

きりたん“守る”より“届かせない”。それが本当のセキュリティってことだね。」

ずんだもん「その通りなのだ! Blob+Nextcloud+Entraで作る“サーバーレスファイル基盤”、 これが次世代の安全設計なのだ✨」

🎃社内のカフェにて

Image 1 Image 2

きりたん「……つまり、もうSMBは封印ってことね。」

ずんだもん「そうなのだ。SMBは “すぐ・マルウェア・ばらまく” の略なのだ!」

きりたん「それ公式略じゃないから!開発者にも失礼でしょ!」

ずんだもん「大丈夫なのだ、“サーバーレス・まるごと・バッチリ対応ずみ”にも使えるのだ!」

きりたん「えー、それも無理やり! ……まあでも、本当に昔のSMBから卒業できれば安心かも。

(会議室に沈黙が流れる)

きりたん「で、代わりにBlobとNextcloudに移すんだよね?」

ずんだもん「そうなのだ! HTTPSで安全、EntraIDで安心、Blobで復元可能なのだ!」

きりたん「完璧じゃん。」

ずんだもん「……ただ、Blobの共通アクセスキーをTeamsで貼ったのだ。

きりたん「爆速で完璧が崩壊したよ!」

ナレーション

こうして、会議室に再び沈黙が戻った。
クラウドはセキュアだが、人間はアップデートが遅い──。
次回、「手書きのパスワードをモニタにポストイットしたのは誰だ!?」 に続く!

リンク集

ランサムウェア「Agenda(Qilin)」感染デモ
https://www.youtube.com/watch?v=9qWueP14KWk

Secure view: blocking downloads, watermarking and secure mailboxes in Nextcloud

利用キャラクター

  • ずんだもん:VOICEVOX:ずんだもん
    本記事で使用しているキャラクター画像の著作権は、それぞれの権利者に帰属します。
    非商用目的での利用に基づき掲載しています。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?