OpenDNSでは、フィルタリングをオンにするためにプロパッケージに1つを置く必要があり、予算が限られているため、無料のDNSフィルタリングが必要です。
バインドでドメインをブロックする方法に関するこのリンク を読んだ後、必要なカテゴリのSquidGuardブラックリストとドメインを1つの大きなリストにまとめました。次に、それを this python script にフィードして、約200万のゾーンを含むファイルを生成しました。
named-checkconfはそれを適切に解析しますが、namedの再ロードには約10分かかり、その後何も解決されず、サーバーの速度が低下してクロールします。 includeを削除すると、namedが再び正しく機能するようになります。
DNSファイアウォールとして効率的に機能するようにBIND9を設定する適切な方法は何ですか?問題全体を解決する特定のIPアドレスに解決するドメインもブロックできる場合。
権限のない権限で、単にキャッシュサーバーとしてbindを実行しています。
それは現在の技術では時代遅れです。 BINDの世界では、最近、レスポンスポリシーゾーン(RPZ)はDNSファイアウォールと同義です。
RPZゾーンは通常のDNSゾーンですが、サーバーによるポリシーアクションの定義に使用されます。これは実際のDNSドメインではないため、ゾーンの「サフィックス」は重要ではありません。これは、特別にフォーマットされた命令のリストを含むゾーンファイルです。
options {
...
response-policy { zone "whatever.anytld";} };
};
レコードの左側は一致ルールを定義し、レコードタイプと右側は実行するアクションを定義します。次の例の左側にある末尾のドットの不在に注意してください。
$Origin whatever.anytld.
; destination IP rewrite
baddomain1.example.com A 198.51.100.1
*.baddomain1.example.com A 198.51.100.1
; send them to an existing A record
baddomain2.example.com CNAME mywebserver.example.org.
*.baddoman2.example.com CNAME mywebserver.example.org.
; NXDOMAIN it
baddomain3.example.com CNAME .
*.baddomain3.example.com CNAME .
; reply with NODATA
baddomain4.example.com CNAME *.
*.baddomain4.example.com CNAME *.
等々。これにより、無害な共有ホスティングサイトに影響を与える可能性のある、より強引な対策を含め、かなりのことができます。
RPZが行うことはたくさんありますが、これは完全なドキュメントとして機能することを意図していません。推奨される読み物には、BINDのバージョンのBIND ARM(この回答の下部)の第6章、およびオンラインZytraxブックの 第9章 があります。
時間を節約するための私の個人的な経験からのクリフノート:
IXFR
に移動します。有効にするixfr-from-differences
これを容易にするためにマスターで。 BIND 9.9以降を使用してNOTIFYベースのDoS試行から保護する場合は、キーベースのゾーン転送を使用します。NS
レコードベースの攻撃を阻止するために使用できません。これは、デフォルトでRPZが権限のあるルックアップを試みるように設計されており、上流のネームサーバーソースへのレコードのハイジャックを「裏切る」ことはないためです。qname-wait-recurse no
はBIND 9.10で追加され、この目的でRPZを使用できる場合があります。私はそれを実験するつもりでした。qname-wait-recurse no
機能しますが、追加の構成なしでドメインをオフラインで攻撃するために使用できるレコードタイプが必要です。これについてPaul Vixieと話しましたが、RPZ形式仕様の将来のバージョンで見られる可能性があります。NXDOMAIN
およびNODATA
アクションは、返信のAUTHORITY
セクションにあるRPZゾーンの名前を裏切ることになります。人々がその名前を知ると仮定します。BIND ARM第6章のリンク: