web-dev-qa-db-ja.com

DNS用にポート53を開くのはいつですか?

アプリケーションサーバーをロックダウンします。サーバーは、http経由で提供されるWebアプリをホストします。他にもいくつかのポートが開いています。

ポート53はDNS用に開いています。なぜこれが必要なのですか?

追加:(これに答える必要はありませんが...)このコマンドは、Linuxのiptablesを使用してそのポートを開きますか?

#  iptables -A INPUT -m tcp -p tcp --dport 53 -j ACCEPT
6
csi

ポート53はDNS用に開いています。なぜこれが必要なのですか?

UDPはステートレスプロトコルであるため、サーバーが送信するDNSクエリへの応答にUDP 53を許可する必要があります。アウトバウンド接続やソフトウェアの更新など、必要な場合はブロックしないでください。

DNSソースポートのランダム化が適用された最新のオペレーティングシステムの名前解決ソフトウェアの場合、クエリのソースポート(つまり、応答の宛先ポート)は必ずしも53である必要はありません。このような場合、UDPポート53をブロックすることはおそらく安全です(ただし、不正なDNSリゾルバーがリッスンしていない限り不要です)。

このコマンドは、Linuxでiptablesを使用してそのポートを保護しますか?

サーバーが実際にDNSサーバーでない限り、TCP 53インバウンドを許可する必要はありません。2番目のコマンドには-m udp -p tcp、これはあまり意味がありません。

8
Shane Madden

ローカルネットワークのみを使用し、ローカルネームサーバーを使用し、インターネット上のランダムなサイトに接続していない場合は、ポート53を開いたままにする必要はありません。ただし、インターネットを使用したい場合は、ホスト名をIPアドレスに変換できる必要があります。そのためにはDNSが必要です。

3
Hennes

いつポート53を開きますか? DNSゾーンをホストしている場合を想定しています。 DNSを内部で実行していますか、それとも抑制していますか?誰かがレコードを取得するようにしたい場合は、実行する場合は53を開いたほうがよいでしょう。あなたがDNSを他の場所でホストしていると言ったように、これらのポートをVhostsなどで開いたままにする理由はありません。

IPtablesのルールに関する限り、セキュリティで何を意味するのかはわかりませんが、それによってポートが開かれます。

2
Jacob

DNSはUDPポート53を使用します

なぜこれが必要なのですか?

サーバーをDNSサーバーとして使用する場合(たとえば、独自のドメインをホストしている場合)

1
mangia

問題のアプリケーションサーバーがDNSサーバーでない場合は、ポート53を開く必要はありません。 「開いているポート」とは、ポートがネットワーク内のクライアントから外部に見えることを意味します(または、インターネット上にあります)。一般的な考えに反して、サーバーまたはホストは、発信DNSクエリを作成するためにポート53を開く必要はありません。これは、TCP/IPモデルが機能する方法ではありません。ホストでtcpdumpを実行してから、別の端末またはブラウザからDNSルックアップを発行して、これを確認できます。

'tcpdump -n -s 1500 -i eth0 udp port 53'

したがって、質問に答えるには、ネットワークにDNSサービスを提供しているホストでポート53のみを開く必要があります。

質問の一部ではありませんが、すべてのネットワークサーバーホストにファイアウォールをインストールすることをお勧めします。これにより、ネットワーク外部からの攻撃や、ウイルス/トロイの木馬、およびネットワーク内部の「非常に賢い」(しかし悪性の)ユーザーからの侵入を防ぐことができます。ファイアウォールを使用すると、ポートの開閉やアクセスポリシーの設定を簡単に行えるため、複雑なiptablesルールを手動で作成(および記憶)する必要がなくなります。

1
venzen