web-dev-qa-db-ja.com

DNS.EXEは5000以上のポートをすぐに割り当てます

このコマンドは、DNS.EXEによってすべての開いているUDPポートをクリアします

net stop dns

DNSサービスを再起動した後、DNS.EXEは5000以上のポートを割り当てます。

net start dns

大量のメモリやCPUを消費しません。しかし、タイムアウトのためにサーバーへの多くのhttp/smtp/pop3接続の問題に気づき、警告しました。 DNS.EXEで大量のオープンポートを調べて見つけました。 Currportsは50000から56000までのUDPローカルポートを表示します。ローカルアドレスは::で、リモートアドレスは空です。 netstatの最後の行-コマンドは以下のとおりです。

UDP    [::]:55976             *:*   
UDP    [::]:55977             *:*   
UDP    [::]:55978             *:*     
UDP    [::]:55979             *:*     
UDP    [::]:55980             *:*     
UDP    [::]:55981             *:*     
UDP    [::]:55982             *:*    

以前はこれらのポートに気づかなかったので、それが大丈夫かどうかはわかりません。どう思いますか?サーバーを再起動しましたが、監視/警告メールが継続していません。

15
Nime Cloud

これは よく知られているsideeffect アドレスに配布された修正プログラム MS08-037 です。 DNS応答に使用されるポートの予測可能性を低下させることを目的としています。

この記事 で説明されているように、より低いソケットプールサイズを定義することで、使用するポート数を制限できます。

dnscmd.exe を使用する

  • 管理者特権のコマンドプロンプトを開きます(管理者として実行...)
  • dnscmd /Config /SocketPoolSize <value>を発行します。ここで、<value>は0〜10000の数値です

Regedit.exeの使用

  • regedit.exeを開き、HKLMハイブを展開します
  • SYSTEM\CurrentControlSet\services\DNS\Parametersに移動します
  • まだ存在しない場合は、DWORDという名前の新しいSocketPoolSize値を作成します
  • 0から10000までの10進数値を設定します
  • DNSサーバーサービスを再起動します:net stop dns && net start dns

値を低く設定しすぎると、MS08-037の目的を効果的に無効にすることに注意してください。

Windows Server 2008 R2を使用していて、多数の個別のUDPエンドポイントがDNSで使用されないようにしたい場合は、DNSでの使用から除外するポート範囲のリストを指定することもできます。

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>
25