
私は、DNS に tinydns を使用し、セカンダリ DNS (別のシステム) からの転送要求を処理するために axfrdns を使用するサーバーを運営しています。tinydns は UDP でポート 53 を使用し、axfrdns は TCP でポート 53 を使用することを理解しています。
私は、合意したセカンダリ ホストからの接続のみを許可するように axfrdns を設定しました。ログを監視するために logcheck を実行すると、毎日、一見ランダムなホストからのポート 53 (TCP) への偽の接続が見られます。それらは通常、ADSL 接続からのものであることがわかります。
私の質問は、これらは無害なリクエストなのか、それともセキュリティ上のリスクなのかということです。iptables を使用して繰り返し違反するユーザーをブロックするのは構いませんが、私がホストしている Web サイトの無害なユーザーをブロックしたくはありません。
ありがとう、ダレン。
答え1
サーバーをドメイン名の権威 DNS サーバーとして使用しているものと想定します。その場合、サーバーが権限を持つ名前を解決する必要があるクライアントは、UDP のみを使用する必要があります。ゾーン転送には TCP を使用します。
また、ゾーン転送を世界中に許可したくないとも思います。ゾーン転送自体はセキュリティ上のリスクではありませんが、通常はセカンダリ/バックアップ DNS サーバーにのみ許可されます。ほとんどの DNS ソフトウェアには、どのサーバーがゾーン転送を許可されるかを制御する ACL もあるため、これを制限する 2 番目の方法もあります。ただし、セキュリティとは必要なものだけを許可することだと私は考えているため、ゾーン転送を行う必要のないホストのポート 53 で TCP をブロックすることをお勧めします。
補足として、TCP ポート 53 上のランダムな ADSL ホストからの TCP 接続には悪意があります。これは、正当なクライアントがゾーン転送を行う必要がないためです。ネットワークに関連する機密情報にアクセスしようとしているか、特定の DNS ソフトウェアの脆弱性を悪用しようとしている可能性があります。
それは妄想するほどのことではないが、知っておくべきことだ。
答え2
TCPはないゾーン転送にのみ使用されます。
TCP は、DNS サーバーが切り捨てられた (TC=1) UDP 応答を返した場合に DNS クライアントが使用するデフォルトのフォールバックです。これは、1 つのパケットで 512 バイトを超えるデータを提供している場合に発生します。
DNSサーバーを実行している場合は、すべきDNS クライアントからの TCP 接続を受け入れますが、そうすることでセキュリティ上のリスクが生じることはありません。DNS サーバーに対する DoS 攻撃のリスクはごくわずかですが、これは一般向けのサービスであればどこでも同じです。
見るドラフト-ietf-dnsext-dns-tcp-要件来月中に RFC として公開される予定です。
見るRFC 5966詳細については。
免責事項 - その RFC は私が書きました。
答え3
ホストをDNSサーバーとして使用する必要があるのは、
- ローカルホスト
- ネットワーク上のマシンのDNSサーバーとしてホストを設定する
「その他すべて」をブロックする最も簡単な方法は、そのアドレスでサービスがリッスンしないようにすることです。自分のデバイスが「自分のネットワーク」の外部にある場合は、ファイアウォール ルール (iptables
またはその他) を使用して、外部ネットワーク アドレスからの接続のみを受け入れます。これらが固定されていない場合は、外部ホストを「自分のネットワーク内」に取り込むために、VPN またはその他の安全なトンネルが必要になる場合があります。
内部ネーム サーバーに対する任意の DNS クエリによって、ネットワーク全体が外部に公開され、攻撃ベクトルが提示されたり、世界中の人々に公開されたくない情報が漏洩したりする可能性があることに留意してください。「ランダムな ADSL 接続」は、あなたに対して何か悪質なことを計画するために使用されているゾンビ ボットネット マシンである可能性が高くなります。
答え4
ネームサーバーへの着信 TCP を開くと、多くのセキュリティ リスクが発生します。これを主張しない人は正気ではありません。ルートの侵害履歴を見てください。そのほとんどは、TCP と UDP を組み合わせて使用することで行われます。古い MUST および SHOULD RFC は、セキュリティについて知っている人々によって作成されました。TC=1 ビットを使用していない (または 512 バイトを超えている) DNS ゾーンがある場合は、着信 TCP を有効にしないでください。将来は愚か者がそうするでしょう。