Versión de firewalld 1.0

Preséntase unha versión do firewall 1.0 controlado de forma dinámica, implementado en forma de envoltorio sobre os filtros de paquetes nftables e iptables. Firewalld execútase como un proceso en segundo plano que lle permite cambiar dinámicamente as regras de filtro de paquetes a través de D-Bus sen ter que cargar de novo as regras de filtro de paquetes nin romper as conexións establecidas. O proxecto xa se usa en moitas distribucións de Linux, incluíndo RHEL 7+, Fedora 18+ e SUSE/openSUSE 15+. O código firewalld está escrito en Python e está licenciado baixo a licenza GPLv2.

Para xestionar o firewall, utilízase a utilidade firewall-cmd, que ao crear regras non se basea en enderezos IP, interfaces de rede e números de porto, senón nos nomes dos servizos (por exemplo, para abrir o acceso a SSH é necesario execute “firewall-cmd —add —service= ssh”, para pechar SSH – “firewall-cmd –remove –service=ssh”). Para cambiar a configuración do firewall, tamén se poden usar a interface gráfica firewall-config (GTK) e a miniaplicación firewall-applet (Qt). O soporte para a xestión do firewall a través do firewall da API D-BUS está dispoñible en proxectos como NetworkManager, libvirt, podman, docker e fail2ban.

Un cambio significativo no número de versión está asociado con cambios que rompen a compatibilidade con versións anteriores e cambian o comportamento de traballar con zonas. Todos os parámetros de filtrado definidos na zona aplícanse agora só ao tráfico dirixido ao host no que se está a executar o firewalld, e para filtrar o tráfico de tránsito é necesario establecer políticas. Os cambios máis notables:

  • O backend que lle permitiu traballar enriba de iptables foi declarado obsoleto. O soporte para iptables manterase no futuro previsible, pero este backend non se desenvolverá.
  • O modo de reenvío intrazona está activado e activado por defecto para todas as novas zonas, permitindo o libre movemento de paquetes entre interfaces de rede ou fontes de tráfico dentro dunha zona (público, de bloque, de confianza, interno, etc.). Para devolver o comportamento antigo e evitar que os paquetes sexan reenviados dentro dunha zona, pode usar o comando "firewall-cmd -permanent -zone public -remove-forward".
  • As regras relacionadas coa tradución de enderezos (NAT) trasladáronse á familia de protocolos "inet" (anteriormente engadidas ás familias "ip" e "ip6", o que provocou a necesidade de duplicar regras para IPv4 e IPv6). O cambio permitiunos desfacernos dos duplicados cando usamos ipset; en lugar de tres copias das entradas de ipset, agora úsase unha.
  • A acción "predeterminada" especificada no parámetro "--set-target" agora é equivalente a "rexeitar", é dicir. todos os paquetes que non entren nas regras definidas na zona bloquearanse por defecto. Só se fai unha excepción para os paquetes ICMP, que aínda están permitidos. Para devolver o comportamento antigo para a zona de "confianza" accesible ao público, pode usar as seguintes regras: firewall-cmd —permanent —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACEPTAR firewall-cmd —permanent — política allowForward —add-ingress -zone public firewall-cmd —permanente —policy allowForward —add-egress-zone trusted firewall-cmd —recargar
  • As políticas de prioridade positiva agora execútanse inmediatamente antes de que se execute a regra "--set-target catch-all", é dicir. no momento antes de engadir a caída final, rexeita ou acepta as regras, incluso para as zonas que usan “--set-target drop|reject|accept”.
  • O bloqueo ICMP agora só se aplica aos paquetes entrantes dirixidos ao host actual (entrada) e non afecta aos paquetes redirixidos entre zonas (reenviar).
  • Eliminouse o servizo de cliente tftp, deseñado para rastrexar as conexións para o protocolo TFTP, pero estaba nunha forma inutilizable.
  • A interface "directa" quedou en desuso, o que permite inserir directamente regras de filtro de paquetes preparadas. A necesidade desta interface desapareceu despois de engadir a posibilidade de filtrar os paquetes redirixidos e saíntes.
  • Engadiuse o parámetro CleanupModulesOnExit, que se cambia a "non" por defecto. Usando este parámetro, pode controlar a descarga dos módulos do núcleo despois de que o firewalld se apague.
  • Permítese usar ipset ao determinar o sistema de destino (destino).
  • Engadíronse definicións para servizos WireGuard, Kubernetes e netbios-ns.
  • Implementáronse regras de autocompletado para zsh.
  • O soporte de Python 2 foi descontinuado.
  • Acurtouse a lista de dependencias. Para que firewalld funcione, ademais do núcleo de Linux, agora son necesarias as únicas bibliotecas de Python dbus, gobject e nftables, e os paquetes ebtables, ipset e iptables clasifícanse como opcionais. O decorador de bibliotecas de Python e o slip foron eliminados das dependencias.

Fonte: opennet.ru

Engadir un comentario