Подтвердить что ты не робот

Ufw Linux межсетевой экран разница между отказом и отрицанием

Используя несложный брандмауэр ufw, я могу установить порты/службы для отклонения и отказа.

Например:

ufw deny www

ufw reject www

Может кто-нибудь объяснить мне разницу между двумя подходами?

4b9b3361

Ответ 1

"deny" использует параметр DROP iptables, который молча отбрасывает входящие пакеты.

"reject" использует цель REJECT iptables, которая отправляет обратно пакет ошибок отправителю отклоненного пакета.

На странице ufw manual:

Иногда желательно, чтобы отправитель знал, когда трафик отрицал, а не просто игнорировал его. В этих случаях используйте отклонение вместо отказа.

С точки зрения пользователя/программы, которая пытается подключиться к вашему серверу:

  • "deny" будет поддерживать программу до тех пор, пока попытка подключения не будет выполнена, через некоторое время.

  • "reject" приведет к немедленному и очень информативному сообщению "Connection failed".

EDIT:

С точки зрения безопасности "отрицать" немного предпочтительнее. Это заставит каждое соединение от потенциального злоумышленника тайм-ауту, замедляя тем самым пробуждение вашего сервера.

Опытные и/или определенные злоумышленники не будут действительно затронуты - они, как правило, терпеливы, и есть несколько способов справиться с замедлением, во всяком случае. Это может помешать случайному wannabe, который даже не удосужился прочитать справочную страницу nmap, однако.

"deny" также сохранит бит полосы пропускания по восходящей линии связи, не отправив пакет ошибок. Это может быть важно для асимметричных сетевых подключений, где атака DoS может просто насытить (обычно более узкую) восходящую линию с помощью пакетов ошибок.

С другой стороны, немного более вежливо сообщить людям, что вы отвергаете их подключения. Отказанное соединение позволяет людям понять, что это, скорее всего, постоянное политическое решение, а не, например, краткосрочная проблема с сетью.