warnlist

ソース ホーム

次の方法で有効にします。
warnlist:github.com/giantswarm/coredns-warnlist-plugin

warnlistは、リストされたドメインがリクエストされると、ログとPrometheusメトリックを発行します。

概要

warnlistプラグインは、悪意のあるまたは望ましくないドメインのリストを受け入れ、ドメイン(またはサブドメイン)がリクエストされると、ログエントリとPrometheusメトリックを発行します。

禁止されたドメインは、ローカルファイルまたはURLから読み込むことができ、指定された期間後に自動的に再読み込みできます。

warnlistは、ブロック解除/ブロックリスト/拒否リスト/禁止リストではないブロック機能と考えることができます。厳選されたデータソースで使用すると、プラグインは、DNSログを出荷して検査する必要なしに、シンプルな低ノイズアラートを表示できます。

詳細については、プロジェクトのREADMEを参照してください。

このプラグインがすでにコンパイルされた非公式のcorednsイメージは、Giant Swarmによって、QuayDocker 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} - ウォーンリストに格納されているドメインの現在の数です。