概要
warnlistプラグインは、悪意のあるまたは望ましくないドメインのリストを受け入れ、ドメイン(またはサブドメイン)がリクエストされると、ログエントリとPrometheusメトリックを発行します。
禁止されたドメインは、ローカルファイルまたはURLから読み込むことができ、指定された期間後に自動的に再読み込みできます。
warnlistは、ブロック解除/ブロックリスト/拒否リスト/禁止リストではないブロック機能と考えることができます。厳選されたデータソースで使用すると、プラグインは、DNSログを出荷して検査する必要なしに、シンプルな低ノイズアラートを表示できます。
詳細については、プロジェクトのREADMEを参照してください。
このプラグインがすでにコンパイルされた非公式のcoredns
イメージは、Giant Swarmによって、QuayとDocker Hubで、[quay.io/]giantswarm/coredns-warnlist-plugin
としてホストされています。
構文
warnlist {
<source type> <source path> <file format>
reload <reload period>
match_subdomains <true | false>
}
warnlist
プラグインは、次の引数を受け入れます。
<source type>
:ドメインリストのタイプ。url
またはfile
のいずれかです。<source path>
: リストを読み込む場所。URLまたはファイルパスのどちらかです。<file format>
: 予想されるファイルの形式。hostfile
またはtext
のいずれかです。<reload period>
: (オプション)リストが再生成されるGo期間*。<match subdomains>
: (オプション)true
(デフォルト)の場合、プラグインは、明示的にリストされているサブドメインもチェックして照合します。true
またはfalse
のどちらかです。
* ±30%のジッターが自動的に追加されます。URLから自動的に再読み込みする場合、そのファイルをホストしているサービスと協力してください。
例
URLデータソースを使用して、約60分ごとに再読み込みするサンプルのCorefile
. {
log
warnlist {
url https://urlhaus.abuse.ch/downloads/hostfile/ hostfile
reload 60m
}
prometheus
forward . /etc/resolv.conf
}
メトリック
prometheus
プラグインも有効になっている場合、このプラグインは次のメトリックを発行します。
warnlist_hits_total{server, requestor, domain}
- ウォーンリストされたドメインのリクエストの数をカウントします。ホストとドメインはラベルとして含まれています。warnlist_failed_reloads_count{server}
- プラグインが再読み込みに失敗した回数をカウントします。warnlist_cache_check_duration_seconds{server}
- ウォーンリストの確認にかかる平均時間を決定するためのサマリーです。warnlist_warnlisted_items_count{server}
- ウォーンリストに格納されているドメインの現在の数です。