画像ツール一覧

ブラックリスト

Blacklist / Denylist

SECURITY

アクセスや実行を拒否する対象を列挙したリストです。拒否リスト(Denylist)とも呼ばれ、IPアドレス、メール送信元、ファイルの特徴など、何を照合するかは用途によって異なります。

🐾 猫で例えると?

ケージの柵越しに反省しているような表情のアメショ
アクセス権限を剥奪され、哀愁を漂わせるアメショ

ケージの柵越しにこちらを見るアメショ。「今はこの猫だけ、リビングへの出入りをお休み」と決めた場面に見立ててみましょう。通常は通すルールの中で、拒否する対象だけを名簿に載せる考え方がブラックリストです。ケージに分けること自体ではなく、「誰を拒否するかを列挙する」点に注目します。

🐾 PR

💻 IT現場における「ブラックリスト」とは?

ITの現場においてブラックリストは、セキュリティ対策の基本中の基本として古くから使われています。スパムメールを振り分ける「迷惑メールフィルター」や、Webサイトをサイバー攻撃から守るWAF(Web Application Firewall)、不正なユーザーのアカウント凍結など、様々な場所で「このリストに載っている奴は通さない」という関所として機能しています。

なお、近年IT業界では「ブラック/ホワイト」という表現が人種差別を連想させる可能性があるという配慮から、ブラックリストを「Denylist(拒否リスト)」、逆の概念であるホワイトリストを「Allowlist(許可リスト)」と言い換える動きが主流になっています。現場のドキュメントやAWSなどのクラウドサービスの設定画面でも、この呼称が使われることが増えています。

⚠️ ブラックリストの仕組みと注意点

拒否リスト方式は、基本的には登録対象を遮断し、それ以外をこのルールでは遮断しない考え方です。「リストにない」ことは安全性の証明ではなく、認証や別の防御も必要です。

Nginx(Webサーバー)でのアクセス拒否設定の例

過去に攻撃を仕掛けてきた特定のIPアドレスや、怪しいネットワーク帯域からのアクセスを明示的に遮断する際の設定方法です。

# Nginxの設定例。例示用アドレスを使用
location / {
    deny 192.0.2.10;       # このアドレスを拒否
    deny 198.51.100.0/24;  # この範囲を拒否
    allow all;            # 残りは許可
}

Nginxのallow/denyは上から順に評価し、最初に一致したルールを使います。順番を変えると意図が変わるため、適用前にnginx -tで構文を確認します。プロキシ経由の構成では、照合対象が利用者のIPなのかプロキシのIPなのかも確認してください。

🛠️ ブラックリストを賢く使うためのポイント

ブラックリスト方式を導入・運用する際は、以下の点に注意が必要です。

「この猫だけ出入りをお休み」という例えなら、いつ制限を終えるかも決めておきたいですね。システム運用においても、一時的な制限と、安全が確認された後の「リストからの解除」はセットで行うことが大切ですね!