Ya que estás usando UFW, es una interfaz de firewall enormemente simplificada en comparación con, digamos, usar iptables
directamente. En consecuencia, hace algo de "magia" por ti:
- Bloquea todo el tráfico entrante de forma predeterminada.
- Permite todo el tráfico saliente de forma predeterminada.
- Permite cierto tráfico entrante (paquetes que están relacionados con una conexión establecida o parte de ella)
Entonces, las reglas que creas son solo reglas entrantes, pero la parte de salida se permitirá porque toda la salida está permitida de forma predeterminada. Así que tus reglas son permitir el tráfico entrante.
Me pregunto si no debería ir 1: 1 por medio de tcp: udp.
No hay razón para hacer eso. HTTP, SMTP, HTTPS nunca pasan por UDP, así que ¿por qué abrir agujeros en el firewall que no necesita? De los puertos que enumeró, DNS es el único que podría utilizar UDP. (Tenga en cuenta que solo necesita permitir 53 / udp) si está hospedando DNS, no para acceder a un servidor DNS ascendente. (Y si está alojando DNS, también debería permitir 53 / tcp).
Me pregunto si debo distinguir entrante / saliente para tcp / up o ambos.
Como se señaló anteriormente, UFW realiza las reglas entrantes de manera predeterminada, por lo que está distinguiendo, simplemente no es obvio porque es parte de la naturaleza "sin complicaciones" de UFW.
Supongo que estás ejecutando algo en el puerto 9000 que te lleva a abrir ese puerto, pero no sé qué sería, no es necesario para nginx, postfix o SSH de forma predeterminada.