
Estoy bastante familiarizado con iptables y lo encuentro iptables -L -v
bastante fácil de leer. Hacer una copia de seguridad es fácil y estoy contento con eso.
Sin embargo en versiones recientes de Ubuntu hay ufw que contaminan bastante los iptables. En lugar de una lista limpia de reglas, tengo muchas reglas que no son fáciles de leer:
$ iptables -L -v
Chain INPUT (policy DROP 6114 packets, 331K bytes)
pkts bytes target prot opt in out source destination
131K 76M ufw-before-logging-input all -- any any anywhere anywhere
131K 76M ufw-before-input all -- any any anywhere anywhere
6618 368K ufw-after-input all -- any any anywhere anywhere
6191 346K ufw-after-logging-input all -- any any anywhere anywhere
6191 346K ufw-reject-input all -- any any anywhere anywhere
6191 346K ufw-track-input all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
390K 324M ufw-before-logging-forward all -- any any anywhere anywhere
390K 324M ufw-before-forward all -- any any anywhere anywhere
4 2160 ufw-after-forward all -- any any anywhere anywhere
4 2160 ufw-after-logging-forward all -- any any anywhere anywhere
4 2160 ufw-reject-forward all -- any any anywhere anywhere
4 2160 ufw-track-forward all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 1 packets, 52 bytes)
pkts bytes target prot opt in out source destination
326K 317M ufw-before-logging-output all -- any any anywhere anywhere
326K 317M ufw-before-output all -- any any anywhere anywhere
164 14960 ufw-after-output all -- any any anywhere anywhere
164 14960 ufw-after-logging-output all -- any any anywhere anywhere
164 14960 ufw-reject-output all -- any any anywhere anywhere
164 14960 ufw-track-output all -- any any anywhere anywhere
...
Desde esta perspectiva. Realmente no entiendo el propósito de ufw. Parece agregar complejidad sobre iptables sin ventajas reales.
¿Me equivoco?
Respuesta1
Si lo sabes iptables
, si te resulta iptables -L -v
bastante fácil de leer y si lo prefieres, entonces no lo necesitas ufw
.
iptables
Funciona con las tablas de reglas de filtrado de paquetes en el kernel de Linux. Las tablas, cadenas y reglas que puedes crear constituyen una herramienta poderosa y flexible, pero a menudo intimidante y no del todo intuitiva. Con ellos las cosas avanzadas son posibles pero las básicas no siempre son tan fáciles como les gustaría a los usuarios novatos (o usuarios en general).
Aquí ingresa ufw
(u otra herramienta similar) como una capa adicional encima de iptables
. Facilita las cosas básicas, pero no necesariamente permite cosas avanzadas. Cualquiera que prefiera la GUI puede utilizar gufw
. Ubuntu se lanza ufw
porque está dirigido a usuarios que pueden no estar interesados en cómo funcionan las cosas bajo el capó. Quieren una interfaz sencilla similar a la que han visto en Windows o en las interfaces HTTP de sus enrutadores domésticos. Los usuarios avanzados podrán desactivarlo ufw
y utilizarlo iptables
"manualmente".
El propósito de ufw
es tener una interfaz simple. Para el ciudadano medio, esta parte delantera esmás simpleque cualquier "lista limpia de reglas" equivalente que pueda crear en iptables
. Las "muchas reglas que no son fáciles de leer" ufw
en realidad crean ahora son el back-end. Tienes razón ufw
añade complejidad, pero Joe nunca lo ve.
Una vez que decidas usarlo ufw
(o seguir usándolo, si está ahí de forma predeterminada), no deberías preocuparte por el backend. Trate la parte trasera como una parte interna de la herramienta que proporciona la parte delantera.
Si quieres iptables
ser tu front-end entonces no uses ufw
, porque ufw
se pone "más al frente".