У меня Ubuntu Server 12.04 с двумя сетевыми картами:
Сервер настроен как шлюз и размещает 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
Как настроить UFW на 192.168.10.1 на
Помимо блокировки трафика в 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; };
};
Для правила 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;
};
}
Попробуй это
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 и UDP DNS (порт 53) из вашей локальной частной сети (что, как я полагаю, 192.168.10.0/24
, или другими словами, 192.168.10.1-255
) и больше нигде.
Наконец, убедитесь, что ваш статус UFW (запустите 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