セキュリティ対策の資料を調べると「ホワイトリスト方式」「ブラックリスト方式」という言葉が頻繁に出てきます。なんとなく意味はわかるけれど、実際にどちらを選べばいいのか、どんな場面でどちらを使うべきなのかで迷っている方も多いのではないでしょうか。
この記事では、ホワイトリスト(許可リスト)とブラックリスト(拒否リスト)の違いを攻撃者の視点も交えながら解説します。ネットワーク・メール・アプリケーション、それぞれの現場での使い分けまで、実務レベルでわかるように整理しました。

ホワイトリスト・ブラックリストとは?基本をおさえる
セキュリティの文脈では、ホワイトリストとブラックリストは「何を許可し、何を拒否するか」を決める2つのアプローチです。
近年、これらの言葉の代わりに「許可リスト(allowlist)」「拒否リスト(denylist)」「ブロックリスト(blocklist)」という表現が使われることも増えています。本記事では、一般的に検索されることの多い「ホワイトリスト」「ブラックリスト」という言葉を使いながら解説します。
ホワイトリスト(許可リスト)とは
ホワイトリストは「許可されたものだけを通す」方式です。リストに登録されていないものはすべて拒否します。
想定例として考えると、社内ネットワークからのインターネットアクセスをホワイトリスト方式で管理する場合、「承認済みのURL一覧」だけをアクセス可能とし、それ以外のすべてのサイトへのアクセスはブロックされます。
・特徴: 未知の脅威に対して強い。リストにないものはすべて拒否されるため、攻撃者が新しい手口を使っても通過しにくい
・弱点: 管理コストが高い。許可する項目を都度追加する必要があり、正規ユーザーの業務を妨げる誤検知が起きやすい
ブラックリスト(拒否リスト)とは
ブラックリストは「拒否するものだけを登録し、それ以外はすべて許可する」方式です。
一般的なウイルス対策ソフトのシグネチャベース検知がこの典型です。既知のマルウェアの特徴(シグネチャ)をリストに登録し、合致するものを検知・ブロックします。
・特徴: 運用が楽。新しいサービスや通信を即座に許可できる。ユーザーの利便性を損ないにくい
・弱点: 未知の脅威(ゼロデイ攻撃など)には対応できない。リストに登録がなければ素通りしてしまう
2つの考え方の根本的な違い
ホワイトリストとブラックリストの本質的な違いは「デフォルトの状態」にあります。
| 項目 | ホワイトリスト(許可リスト) | ブラックリスト(拒否リスト) |
|---|---|---|
| デフォルト状態 | すべて拒否 | すべて許可 |
| 管理対象 | 許可するものを登録 | 拒否するものを登録 |
| 未知の通信・ファイル | ブロック(安全側に倒れる) | 通過(危険にさらされる可能性) |
| 運用コスト | 高い(定期的な追加・見直しが必要) | 比較的低い(既知の脅威追加のみ) |
| 利便性 | 低め(制限が強い) | 高め(制限が少ない) |
| 主な用途 | 権限管理・アプリ制御・メール送受信制御 | ウイルス対策・URLフィルタ・スパムフィルタ |
攻撃者から見たそれぞれの弱点
どちらの方式も完璧ではありません。攻撃者はそれぞれの弱点を把握した上で手口を変えてきます。
ブラックリストの弱点:新手の攻撃が素通りする
ブラックリスト方式の最大のリスクは、既知の脅威にしか対応できない点です。
ゼロデイ脆弱性を突いた攻撃や、ポリモーフィックマルウェア(自身のコードを変化させてシグネチャ検知を回避するマルウェア)はブラックリスト方式をすり抜けます。攻撃者はシグネチャがまだ登録されていないタイミングを意図的に狙うことがあります。
フィッシングに使われるドメインも次々と新しいものが作られるため、URLのブラックリストで完全にカバーするのは現実的ではありません。
【注意】ホワイトリストの弱点:許可済みのものが悪用される
ホワイトリスト方式は「許可されたものだけを通す」ため安全に見えますが、許可済みのアプリケーションやプロセスが悪用されるケースがあります。
LOLBins(Living off the Land)攻撃がその典型です。攻撃者はOSに標準搭載されているツール(powershell.exe・certutil.exeなど)を使って攻撃を行います。これらは通常、ホワイトリストで「許可済み」になっているため、ツール単体ではブロックされません。「許可されているから安全」という過信が最大のリスクです。
具体的な活用シーンと防御手順
実務では、ホワイトリストとブラックリストを組み合わせて使うのが基本です。場面に応じた使い分けを見ていきましょう。
1. ネットワークアクセス制御での使い分け
ファイアウォールルールでは、インバウンド(外部からの接続)にはホワイトリスト的なアプローチが推奨されます。「必要なポートだけを開放し、それ以外はすべて拒否」という設計が基本です。
# iptables でのホワイトリスト的なインバウンド制御(想定例) # デフォルトポリシーを DROP に設定 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # 必要なものだけ明示的に許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT # SSH(社内からのみ) iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS iptables -A INPUT -i lo -j ACCEPT # ループバック
アウトバウンド(内部から外部への通信)は業務上のニーズが多岐にわたるため、ブラックリスト的に「悪意のある宛先だけをブロック」するDNSフィルタリングやプロキシのURLフィルタが広く使われます。Linuxサーバーのファイアウォール設定については、姉妹サイトLinuxMaster.JPでも詳しく解説しています。
2. メールフィルタリングでの使い分け
メールセキュリティでは、送信元ドメインのSPF・DKIM・DMARC認証(ホワイトリスト的な送信者検証)と、スパムやマルウェア添付ファイルのブラックリスト検知を組み合わせるのが現在の標準です。
・ホワイトリスト的: 取引先ドメインのSPF認証・DMARC設定。信頼できる送信元のみ受信許可
・ブラックリスト的: 既知スパム送信元IPのRBL(リアルタイムブラックリスト)照合、マルウェア添付ファイルのシグネチャ検知
・グレーリスト: 未知の送信元からのメールを一時的に遅延させ、正規のメールサーバーかどうか確認するグレーリスティングも有効
3. アプリケーション制御での使い分け
エンドポイント(PCやサーバー)では、実行可能なソフトウェアをホワイトリストで制御するアプリケーション制御が有効です。
Windowsでは「AppLocker」や「Windows Defender Application Control(WDAC)」を使うと、承認済みのアプリケーションのみ実行を許可できます。
・メリット: マルウェアや未承認ツールの実行を根本的に防ぐ
・注意点: 業務ソフトのアップデートや新規導入のたびにリストを更新する必要がある。IT部門とユーザー部門の連携が不可欠
中小企業でも今日からできること
ホワイトリスト方式は管理コストが高く感じるかもしれませんが、全面適用でなくても段階的に取り入れることができます。
・ファイアウォールのデフォルト拒否: サーバーのiptables/nftablesやファイアウォール機器のデフォルトポリシーを「全拒否」にして、必要なポートだけを開放する。これだけで多くの不正接続をブロックできます
・重要PCのアプリ制御: 経理・人事・役員など機密情報を扱うPCのみでも、ホワイトリスト的なアプリケーション制御を導入すると効果的です
・DNSフィルタリングの導入: Cloudflare for Teamsなど(無料プランあり)を使えば、マルウェア・フィッシングサイトへのDNS解決を自動的にブロックできます。ブラックリスト的なアプローチですが費用対効果が非常に高いです
・メールのSPF・DKIM・DMARC設定: 送信側の設定はすぐに着手できます。自社ドメインからの偽装メール(なりすまし)を防ぐ最初のステップです
セキュリティ基本動作の徹底については、サイバーハイジーン(Cyber Hygiene)の考え方とあわせて整理しておくと、組織全体のセキュリティレベルを底上げしやすくなります。
よくある誤解と注意点
【注意1】ホワイトリストは「安全」ではなく「安全側に倒れる」設計
ホワイトリスト方式を導入しても、許可リストの管理が甘ければ意味がありません。LOLBins攻撃のように許可済みのプロセスが悪用されるケースを常に意識してください。セキュリティバイデザインの観点から、設計段階で「何を許可するか」を丁寧に定義することが重要です。
【注意2】ブラックリストだけに頼るのはリスクが高い
ウイルス対策ソフトのシグネチャ検知(ブラックリスト方式)だけでエンドポイントを守ろうとすると、ゼロデイ攻撃やファイルレスマルウェアには対応できません。EDR(エンドポイント検知・対応)など行動ベースの検知との組み合わせが必要です。
【注意3】リストの定期的な見直しが不可欠
どちらの方式でも、リストは「育てる」ものです。許可リストに使われなくなったIPやドメインが残り続けると攻撃者に悪用される可能性があります。拒否リストも古いエントリが蓄積して管理しきれなくなることがあります。四半期に一度はリストの棚卸しを習慣にしましょう。

本記事のまとめ
| 判断軸 | 選ぶべき方式 |
|---|---|
| 未知の脅威を重視したい | ホワイトリスト(許可リスト) |
| 運用コストを抑えたい | ブラックリスト(拒否リスト) |
| サーバーの受信ルール設計 | ホワイトリスト的(デフォルト拒否) |
| PC・ブラウザのWebフィルタ | ブラックリスト的(既知の悪意あるサイトをブロック) |
| 最も安全な設計 | 両方を組み合わせた多層防御 |
ホワイトリストとブラックリストは、どちらが正解というものではありません。「何を守りたいか」「どの程度の運用コストをかけられるか」によって、使い分けや組み合わせ方が変わります。
重要なのは、それぞれの限界を知った上で多層防御の考え方で組み合わせること。セキュリティの基本は「一つの手段だけに頼らない」です。ホワイトリストで未知の脅威をブロックし、ブラックリストで既知の脅威を素早く遮断する。この組み合わせが現場での現実的な選択肢です。
PR
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版(徳丸浩/SBクリエイティブ)
ホワイトリスト・ブラックリストを含むアクセス制御の考え方から、Webアプリケーション全般のセキュリティ設計まで体系的に学べる定番書。現場エンジニアが手元に置いておきたい1冊です。
