Нужен ли мне брандмауэр на небольшом устройстве с открытым только одним портом?

Нужен ли мне брандмауэр на небольшом устройстве с открытым только одним портом?

Я планирую собрать Raspberry Pi, служащий только одной цели.

  • Открыт только один порт.
  • Каждый должен иметь возможность подключиться к этому порту.
  • Приложение, прослушивающее этот порт, не имеет прав root.
  • Он не маршрутизирует. То есть нет других ПК, доступных через этот Raspberry Pi.
  • Нет исходящих соединений. То есть Raspberry Pi не будет активно подключаться к другому ПК
  • Я проведу сканирование портов, чтобы убедиться, что других открытых портов нет.

Итак, нужен ли мне брандмауэр, работающий на этом устройстве?

решение1

Ну, я бы все равно настроил (конечно, существующий) брандмауэр Netfilter — если вы находитесь в публичной сети.

А именно, я бы заблокировал любые другие типы трафика, такие как ICMP и т. д. Более того, большинство сканеров портов/систем определяют типы систем по всем видам сообщений об ошибках («порт недоступен») и т. д., поэтому вы определенно уменьшаете поверхность атаки; ваша цель — слить как можно меньше информации о вашей системе.

Более того, ICMP-ответы ("ping") будут возвращаться, если вы их активно не блокируете. И я думаю, что вы тоже этого не хотите (по крайней мере, я бы хотел).

решение2

Работу брандмауэра выполняет netfilter/iptables на Linux.

Таким образом, брандмауэр просто приводит к тому, что конфигурация iptables отбрасывает все входящие TCP-соединения. (И, возможно, блокирует исходящие соединения.)

Я бы лично не создавал такую ​​конфигурацию брандмауэра. Это не обязательно, если вы знаете, что у вас запущено только одно серверное приложение.

Бегать

netstat -ltw

чтобы увидеть, есть ли у вас только одно приложение, прослушивающее tcp-соединения. Возможно, есть некоторые предустановленные серверные приложения, которые вы хотите исключить.

-l means listen
-t means tcp
-w means raw (will show the ping server)

Вам также следует проверить свой IP-адрес привязки. Возможно, вы захотите принимать только клиентов в той же локальной сети и игнорировать клиентов из интернета (да, интернета).

Связанный контент