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

Команда firewall-cmd Fedora показывает больше доступных служб, чем настроено

Так что да, настройка firewall-cmd в Fedora 20. Пытался ограничить входящий трафик только http, https и ssh. Однако машина по-прежнему отвечает на эхо-запросы, и команда --get-service показывает подробный список вещей, которые я не использую.

Почему отключение?

Правильна ли команда --get-service или команда --list-services?

Если второе, то почему пинг проходит?

[root@build-node httpd]# firewall-cmd --get-service
amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
[root@build-node httpd]# firewall-cmd --get-active-zone
public
  interfaces: eth0 eth1 eth2
[root@build-node httpd]# firewall-cmd --zone=public --list-services
http https ssh

Кроме того, выдержки из iptables -L -n.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0
INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain INPUT_ZONES (1 references)
target     prot opt source               destination
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]
IN_public  all  --  0.0.0.0/0            0.0.0.0/0           [goto]

Chain IN_public_allow (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 ctstate NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 ctstate NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW

--get-service показывает все службы, о которых знает firewalld, а не те, для которых вы открыли порты.

--list-services показывает те, для которых вы открыли порты.

Вы можете увидеть в iptables перечисление того, что открыты только порты 22, 80 и 443, что, как вы сказали, вы хотели.

Наконец, о пингах: все ICMP разрешены по умолчанию с firewalld (поскольку обычно блокировать его - плохая идея, если вы не действительно знаете, что делаете). Если вы действительно хотите «блокировать пинги», вы должны сделать это явно. Ты можешь использовать --get-icmptypes чтобы увидеть список типов ICMP, о которых знает firewalld, и --add-icmp-block заблокировать один из них. Убедитесь, что вы находитесь на консоли машины, на случай, если вы заблокируете себя.