web-dev-qa-db-ja.com

プライベートDNSリクエストを許可し、インターネットからのDNSリクエストをブロックするようにUFWを設定するにはどうすればよいですか?

2つのネットワークカードを備えたUbuntuServer12.04があります。

  • eth0はインターネットに接続されています
  • eth1はプライベートネットワーク(192.168.10.1)に接続されています

サーバーはゲートウェイとして構成され、プライベートネットワークのDNSとDHCPをホストします。プライベートネットワーク内のコンピューター(たとえば、IPアドレス192.168.10.50)は、インターネットに正常に接続できます。

UFWルールは次のようになります。

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
67/udp on eth1             ALLOW       68/udp
53                         ALLOW       Anywhere
22                         ALLOW       Anywhere (v6)
80                         ALLOW       Anywhere (v6)
443                        ALLOW       Anywhere (v6)
67/udp on eth1             ALLOW       68/udp
53                         ALLOW       Anywhere (v6)

すべてのインターネットユーザーが私のDNSサーバーに問い合わせることができます。セキュリティ上のリスクがあるため、このようなリクエストはブロックしたいと思います。ファイアウォールをリセットし、ポート80、443、22へのアクセスを許可し、次のように入力して、プライベートネットワーク上のデバイスのみがDNS要求を行うことを許可しました。

Sudo ufw allow in on eth1 to 192.168.10.1 port 53

プライベートネットワークのWindowsコンピューター(IPアドレス192.168.10.50)で次のように入力する場合:

nslookup google.com. 192.168.10.1

次のような応答が返されます。

DNS request timed out.
    timeout was 2 seconds.
Server: Unknown
Address: 192.168.10.1

ファイアウォールをリセットし、どこからでもポート53へのアクセスを許可すると、すべてが再び機能します。

Sudo ufw allow 53

192.168.10.1でUFWをどのように設定しますか

  • インターネットからの着信DNSクエリをブロックする(別名eth0)
  • プライベートネットワーク内のコンピューターがDNSクエリを実行できるようにする
  • 192.168.10.1のDNSサーバーが内部DNS要求をインターネットに転送できるようにする
  • iPv4とIPv6の両方で機能します
3
bloudraak

UFWでトラフィックをブロックすることに加えて、DNSサーバーでの接続も制限します。 BINDを使用しているとすると、これに似たものがあります。

acl internal {
  192.168.10.0/24;
  # Add other internal networks here
};
options {
  listen-on { 192.168.10.1; };
  allow-query { internal; };
};
2
Tommiie

これを試して

Sudo ufw allow from 192.168.10.0/24 to 192.168.10.1 port 53 proto tcp
Sudo ufw allow from 192.168.10.0/24 to 192.168.10.1 port 53 proto udp

これにより、ローカルプライベートネットワークからのTCPおよびUDPDNS(ポート53)トラフィックが許可されます(私は192.168.10.0/24、つまり192.168.10.1-255)そして他のどこにもありません。

最後に、UFWステータスを確認します(run Sudo ufw status)次の行があります:

To                         Action      From
--                         ------      ----
192.168.10.1 53/tcp        ALLOW       192.168.10.0/24
192.168.10.1 53/udp        ALLOW       192.168.10.0/24
1
Rouben

インターフェイスベースのufwルールの場合、以下は、ポート53へのアクセスをブロックします(dns/bindサーバーがポート53で構成されていると仮定) eth1ではない

Sudo ufw allow all in on eth1 to any port 53 proto tcp
Sudo ufw deny to any port 53 

転送DNS要求へのバインドを構成するには、内部で処理されるすべてのゾーンの後で、named.confファイルでこのディレクティブを使用できます。

zone "." {
    type forward;
    forwarders {
        8.8.8.8;
    };
}
1
2ps