UNPKG

dnsweeper

Version:

Advanced CLI tool for DNS record risk analysis and cleanup. Features CSV import for Cloudflare/Route53, automated risk assessment, and parallel DNS validation.

174 lines (134 loc) 4.66 kB
# DNSweeper 設定ガイド DNSweeperは設定ファイルと環境変数を使用して動作をカスタマイズできます ## 設定ファイル DNSweeperは以下の順序で設定ファイルを検索します: 1. コマンドラインで指定されたパス(`--config`オプション) 2. 現在のディレクトリから上位ディレクトリに向かって検索 - `.dnsweeper.json` - `.dnsweeperrc` - `dnsweeper.config.json` 3. ホームディレクトリ(`~/.dnsweeper.json`など) ### 設定ファイルの例 ```json { "dns": { "timeout": 5000, "retries": 3, "servers": ["8.8.8.8", "1.1.1.1"], "concurrent": 10 }, "csv": { "encoding": "utf8", "delimiter": ",", "quote": "\"", "skipEmptyLines": true, "maxRows": 1000000 }, "risk": { "weights": { "unusedDays": 0.4, "namingPattern": 0.3, "ttl": 0.3 }, "thresholds": { "high": 70, "medium": 40 } }, "output": { "format": "table", "colors": true, "verbose": false, "quiet": false }, "api": { "cloudflare": { "apiKey": "your-api-key", "email": "your-email@example.com", "accountId": "your-account-id" }, "route53": { "accessKeyId": "your-access-key", "secretAccessKey": "your-secret-key", "region": "us-east-1" } } } ``` ## 環境変数 環境変数は設定ファイルの値を上書きします ### DNS設定 - `DNSWEEPER_DNS_TIMEOUT` - DNS解決タイムアウト(ミリ秒) - `DNSWEEPER_DNS_SERVERS` - DNSサーバーのカンマ区切りリスト ### API認証情報 #### Cloudflare - `CLOUDFLARE_API_KEY` - CloudflareのAPIキー - `CLOUDFLARE_EMAIL` - Cloudflareアカウントのメールアドレス #### AWS Route53 - `AWS_ACCESS_KEY_ID` - AWSアクセスキーID - `AWS_SECRET_ACCESS_KEY` - AWSシークレットアクセスキー - `AWS_REGION` - AWSリージョン(デフォルト: us-east-1) ### 出力設定 - `DNSWEEPER_OUTPUT_FORMAT` - 出力形式(json, csv, table) - `NO_COLOR` または `DNSWEEPER_NO_COLOR` - カラー出力を無効化 ## 設定項目の詳細 ### DNS設定 (`dns`) | 項目 || デフォルト | 説明 | |------|-----|------------|------| | `timeout` | number | 5000 | DNS解決のタイムアウト(ミリ秒) | | `retries` | number | 3 | 失敗時のリトライ回数 | | `servers` | string[] | システム設定 | 使用するDNSサーバーのリスト | | `concurrent` | number | 10 | 並列実行数 | ### CSV設定 (`csv`) | 項目 || デフォルト | 説明 | |------|-----|------------|------| | `encoding` | string | "utf8" | ファイルエンコーディング | | `delimiter` | string | "," | フィールド区切り文字 | | `quote` | string | "\"" | クォート文字 | | `skipEmptyLines` | boolean | true | 空行をスキップするか | | `maxRows` | number | 1000000 | 処理する最大行数 | ### リスク計算設定 (`risk`) #### 重み設定 (`weights`) 各要素の重みは合計で1.0になる必要があります | 項目 || デフォルト | 説明 | |------|-----|------------|------| | `unusedDays` | number | 0.4 | 未使用期間の重み | | `namingPattern` | number | 0.3 | 命名パターンの重み | | `ttl` | number | 0.3 | TTL値の重み | #### しきい値設定 (`thresholds`) | 項目 || デフォルト | 説明 | |------|-----|------------|------| | `high` | number | 70 | 高リスクのしきい値(0-100| | `medium` | number | 40 | 中リスクのしきい値(0-100| ### 出力設定 (`output`) | 項目 || デフォルト | 説明 | |------|-----|------------|------| | `format` | string | "table" | 出力形式(json, csv, table) | | `colors` | boolean | true | カラー出力を有効にするか | | `verbose` | boolean | false | 詳細出力モード | | `quiet` | boolean | false | 静音モード(エラーのみ出力) | ## 優先順位 設定の優先順位は以下の通りです(高い方が優先): 1. コマンドライン引数 2. 環境変数 3. 設定ファイル 4. デフォルト値 ## 使用例 ### 設定ファイルを指定して実行 ```bash dnsweeper --config /path/to/config.json list ``` ### 環境変数で認証情報を設定 ```bash export CLOUDFLARE_API_KEY="your-api-key" export CLOUDFLARE_EMAIL="your-email@example.com" dnsweeper import cloudflare --zone-id xyz123 ``` ### 出力形式をJSONに変更 ```bash DNSWEEPER_OUTPUT_FORMAT=json dnsweeper analyze suspicious-domains.csv ``` ### カラー出力を無効化 ```bash NO_COLOR=1 dnsweeper list ```