// docs / domains
ドメイン
A domain is a verified hostname you own. Verifying once unlocks owner-depth scans, scheduled re-scans, and live website monitoring on that hostname.
ドメインを検証する
Dashboard → Domains でホスト名を追加します。2つの検証方法から選択してください。
- DNS TXT — 生成されたトークンを含むレコードを
_fixweb.<hostname>に追加します。SPF / DMARC 設定が干渉しないよう、あなたの環境ではなく FixWeb のサーバーから再解決します。一般的な伝播時間は1〜5分です。10分間、30秒ごとに再確認します。 - HTTP ファイル — トークンを含む小さなテキストファイルを
/.well-known/fixweb-verification.txtにホストします。SSRF 保護付きリクエスト経路を通じて HTTPS で取得します。
検証は domain-reverify cron により毎日再確認されます。以前検証済みだったドメインでトークンが解決できなくなった場合(例: DNS レコードを削除した場合)、検証は取り消され、そのドメインへのアクティブスキャンは再追加するまで verify_required に戻ります。
スケジュール済み再スキャン Pro+
Pro プランでは検証済みドメインを ≥3h 間隔で再スキャンできます。Unlimited プランでは ≥1h です。ダッシュボード → ドメイン → スケジュール を開き、トグルを有効にして間隔を選択してください:
- 1 時間 — Unlimited プランでのみ利用可能
- 3h、6h、12h、毎日、2日ごと、毎週
各 cron tick(15分ごと)で、スケジューラーは期限が来たスケジュールを拾い、next_run_at に対する楽観的 compare-and-swap で取得します(2つの cron が二重にキュー投入できないようにします)。その後、スキャン利用カウンターを増やし、新しいパッシブスキャンをキューに入れます。スキャンはドメイン検証の証明を継承します。実行ごとに再証明する必要はありません。取り消すにはスケジュールを無効にしてください。
完了時には、scheduled_scan_email 設定に従ってスキャン完了メールが送信されます(Account → Settings で管理します)。
ライブ脅威検出 Unlimited+
Unlimited プランでは、スケジュールスキャンの合間に検証済みドメインを 3 つのシグナルについて自動的に監視します:
- Certificate transparency — 30分ごとに crt.sh を照会し、ホスト名または任意のサブドメインを含む新しい証明書を探します。新しい証明書があると
new_certificateアラートが発火します。 - DNS diff — 30分ごとに A、AAAA、MX、TXT、NS、CNAME を解決し、前回のスナップショットと比較します。変更があると
dns_changeアラートが発火します。 - 脅威インテリジェンス — 1時間ごとに、apex ホスト名が Spamhaus DBL と URLhaus に掲載されていないか確認します。掲載があると
threat_intel_listingアラートが発火します。
アラートは content-hash signature で重複排除されるため、同じ変更を再検出しても再発火しません。Dashboard → Domains → [domain] → Monitor で表示または閉じることができます。メール通知は threat_alert_email 設定に従います。
スナップショット保持
監視スナップショットは7日後に自動削除されます。ただし、(domain, signal-type) ペアごとの最新ベースラインは除きます。次回の差分が正しくなるよう、これは経過日数に関係なく保持されます。閉じたアラートは90日後に削除されます。
API または MCP からトリガーする
ドメイン管理は現在 UI のみです。検証やスケジュール変更の API はありません。すでに検証済みのドメインに対して API からスキャンを開始するには、POST /api/v1/scans を使用します。
curl -X POST https://fixweb.app/api/v1/scans \
-H "Authorization: Bearer fxw_..." \
-H "content-type: application/json" \
-d '{"target":"https://example.com"}'