DoH セキュリティのベストプラクティス
このドキュメントでは、DNS over HTTPS を使用する際のセキュリティのベストプラクティスを提供します。
基本的なセキュリティ設定
信頼できる DoH サーバーを選択する
-
サーバー ID を確認する
- DNSSEC をサポートするサーバーを使用する
- サーバーの SSL 証明書を確認する
- サーバーの所有権を確認する
-
プライバシーポリシーを評価する
- データ収集ポリシーを理解する
- データ保持期間を確認する
- データ共有ポリシーを確認する
-
地理的位置を考慮する
- ローカルサーバーを選択する
- 国境を越えたデータ送信を避ける
- 法的コンプライアンスを考慮する
DNSSEC を有効にする
-
DNSSEC 検証を設定する
# Linuxシステムでのコマンド例 sudo nano /etc/systemd/resolved.conf [Resolve] DNSSEC=yes
-
DNSSEC ステータスを確認する
# digコマンドを使用して確認 dig +dnssec example.com
高度なセキュリティ設定
ESNI を使用する
-
ESNI サポートを設定する
- ESNI をサポートするブラウザを使用する
- TLS 1.3 を有効にする
- ESNI キーを設定する
-
ESNI ステータスを確認する
# curlを使用してテスト curl -v --esni example.com
DNS リークを防止する
-
システムレベルの設定
- 従来の DNS を無効にする
- ファイアウォールルールを設定する
- VPN またはプロキシを使用する
-
ブラウザの設定
- DoH を有効にする
- WebRTC を無効にする
- プライバシーモードを使用する
企業向けセキュリティ対策
ネットワークセグメンテーション
-
ネットワークゾーンを分割する
- 管理ネットワーク
- ユーザーネットワーク
- ゲストネットワーク
-
アクセス制御を設定する
# ファイアウォールルールの設定例 iptables -A OUTPUT -p tcp --dport 53 -j DROP iptables -A OUTPUT -p udp --dport 53 -j DROP
監視とログ記録
-
ログ記録を設定する
# DNSログ記録の設定例 sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml [logging] log_level = 2 log_file = '/var/log/dnscrypt-proxy.log'
-
アラートを設定する
- DNS クエリ失敗を監視する
- 異常なトラフィックを監視する
- セキュリティイベント通知を設定する
セキュリティ監査
定期的なチェック
-
システムチェック
# DNS設定を確認する cat /etc/resolv.conf # DNSサービスステータスを確認する systemctl status systemd-resolved
-
セキュリティスキャン
- セキュリティスキャンツールを使用する
- 脆弱性を確認する
- セキュリティパッチを更新する
コンプライアンスチェック
-
データ保護
- データ暗号化を確認する
- アクセス制御を確認する
- ログ記録を確認する
-
ポリシーコンプライアンス
- プライバシーポリシーを確認する
- データ保護を確認する
- セキュリティ対策を確認する
緊急対応
インシデント対応
-
インシデントを検出する
- 異常な活動を監視する
- ログデータを分析する
- セキュリティ脅威を特定する
-
対応プロセス
- 影響を受けるシステムを隔離する
- 証拠を収集する
- 脆弱性を修正する
復旧計画
-
バックアップ戦略
- 定期的な設定バックアップを取る
- ログデータを保存する
- 復旧文書を維持する
-
復旧手順
- バックアップの整合性を確認する
- システム設定を復元する
- セキュリティ対策を更新する
推奨セキュリティツール
監視ツール
-
DNS 監視
- DNSWatch
- DNSLeakTest
- DNSViz
-
セキュリティスキャン
- Nmap
- Wireshark
- tcpdump
保護ツール
-
ファイアウォール
- UFW
- iptables
- pfSense
-
侵入検知
- Snort
- Suricata
- Zeek