コンテンツにスキップ

設定

YAML設定ファイルについて説明します。コンテナイメージでは既定で /etc/kestrelynx/config.ymlを使用します。未知のYAMLフィールドはエラーになるようになってます。

コメント付きの完全な例は config.example.ymlに あります。

スケジュール

設定項目 既定値 説明
schedule.daily_at HH:MM形式のローカル時刻。空の場合は起動時点から24時間ごとに実行します。
schedule.run_on_start true KestreLynxの起動直後に1回スキャンします。

daily_atで使用するタイムゾーンは、コンテナのTZ環境変数で指定します。

スキャン

設定項目 既定値 説明
scan.severity [HIGH, CRITICAL] 分析と通知の対象にするTrivyの深刻度です。

指定できる値はUNKNOWNLOWMEDIUMHIGHCRITICALです。

通知先

少なくとも1つの通知先が必要です。

設定項目 既定値 説明
notify.slack_webhook_url Slack Incoming WebhookのURLです。
notify.slack_bot_token chat:write権限を持つSlack Bot Tokenです。slack_channelと一緒に設定します。
notify.slack_channel Botで通知するSlackチャンネルIDです。
notify.generic_webhook_url 構造化JSONを受け取るエンドポイントです。
notify.notify_on_clean false 脆弱性がない場合にも通知します。

slack_webhook_urlとBot Tokenの組み合わせを同時には設定できません。 汎用Webhookは、どちらのSlack通知方式とも併用できます。

Botによる通知では、サマリーメッセージのスレッドに未解決項目の完全なレポートを 追加します。変化がない日はレポートを再投稿せず、直近の完全なレポートへのリンクを 表示します。

通知モード

設定項目 既定値 説明
notify.mode diff diffは変化を通知し、fullはスキャンごとに現在の全項目を通知します。
notify.full_report_day monday diffモードで完全なレポートを送る曜日です。neverで無効化します。

diffモードでは、新規検出、解消、修正可能化、緊急度上昇を通知します。未解決項目が 残っていても変化がない場合、完全なレポートを繰り返さず、短いハートビート通知を 送信します。

状態管理とDocker

設定項目 既定値 説明
docker.socket /var/run/docker.sock Dockerソケットのパスです。
state.path /var/lib/kestrelynx/state.json スキャン履歴と差分計算に使用するファイルです。

state.pathを含むディレクトリをDockerボリュームで永続化してください。

悪用情報に基づく優先順位付け

設定項目 既定値 説明
triage.enabled true CISA KEVとEPSSによる優先順位付けを有効にします。
triage.act_now_epss 0.10 CVEをact nowに分類するEPSS確率の下限です。
triage.watch_epss 0.01 CVEを少なくともwatchに分類するEPSS確率の下限です。
triage.kev_url CISA KEVフィードのURLを、ローカルミラーなどへ変更します。
triage.epss_url EPSSフィードのURLを、ローカルミラーなどへ変更します。
triage.discussion_links true act-now CVEに関するHacker Newsの議論を検索します。

KEVとEPSSのフィードは一括でダウンロードされ、CVE IDとの照合はローカルで行われます。 ホストの完全なCVE一覧が外部サービスへアップロードされることはありません。 議論リンクを有効にしている場合、act-now CVEのIDは検索クエリとして hn.algolia.comへ送信されます。この送信を防ぐにはdiscussion_links: false、 追加の脅威情報フィードへの通信も止めるにはtriage自体を無効にしてください。

しきい値は次の条件を満たす必要があります。

0 < watch_epss <= act_now_epss <= 1