Назад | Перейти на главную страницу

Закройте порты с помощью firewalld

Я хочу закрыть все порты, кроме 22 на интерфейсе enp0s3. У меня netcat прослушивает порт 1234 в целях тестирования. Вот где я застрял:

$ sudo firewall-cmd --state
running

$ sudo firewall-cmd --zone=drop --list-all
drop (default, active)
  interfaces: enp0s3
  sources: 
  services: ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

$ nmap 10.0.2.15
Starting Nmap 6.40 ( http://nmap.org ) at 2016-02-24 06:36 UTC
Nmap scan report for 10.0.2.15
Host is up (0.00099s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
1234/tcp open  hotline

Как видите, nmap показывает порт 1234 как открытый, но я добавил интерфейс в падение зона в firewalld. Что я пропустил?

Вы пытались сделать что-то настолько плохое, что firewalld просто не позволит вам это сделать.

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

Теоретически возможно, что у вас может быть реальная потребность в этом, но это чрезвычайно маловероятно (и обратите внимание, что вы можете считать у вас есть реальная потребность, а на самом деле ее нет). Брандмауэр localhost - отличный способ взломать всю вашу систему, поскольку многие программы полагаются на связь localhost, поэтому вы не можете легко отменить это.