![¿Cómo puedo bloquear todas las conexiones salientes?](https://rvso.com/image/1452893/%C2%BFC%C3%B3mo%20puedo%20bloquear%20todas%20las%20conexiones%20salientes%3F.png)
Necesito bloquear mi servidoriniciandocualquier conexión a un servidor remoto.
Sin embargo, todavía quiero que el servidor pueda responder desde conexiones iniciadas a través de clientes conectados.
En otras palabras, quiero que otros puedan conectarse al servidor pero que el servidor no pueda iniciar conexiones remotas a otros servidores.
¿Cómo puedo hacer eso?
Estoy usando Ubuntu.
Respuesta1
Bloquear todas las conexiones salientes es una mala idea ya que eso le impediría instalar software desde repositorios en línea, realizar búsquedas de DNS (lo que sería terrible en la mayoría de los entornos), mantener el reloj actualizado con NTP, etc. De todos modos, si aún desea para hacerlo, prueba esto:
# Drop all connections initiated from this host
iptables -t filter -I OUTPUT 1 -m state --state NEW -j DROP
# Additionally, log the event (optional)
iptables -t filter -I OUTPUT 1 -m state --state NEW -j LOG --log-level warning \
--log-prefix "Attempted to initiate a connection from a local process" \
--log-uid
Puedes hacer que las reglas sean más inteligentes permitiendo cierto tráfico, como DNS. Puedes lograrlo de dos maneras:
Haz que los partidos sean más complejos. Estaría bien para uno o dos elementos de la "lista blanca". Ejemplo:
# Only forbid non-UDP traffic iptables -t filter -I OUTPUT 1 -m state --state NEW \! -p udp -j DROP
Anteponer reglas que coincidan con algunos de los servicios deseados que pueden iniciarse desde el host local con un objetivo "-j ACCEPT". Ejemplo:
# Run this after the "DROP" rule to allow connection to ports #+ 80 and 443, mostly used for HTTP and HTTPS traffic iptables -t filter -I OUTPUT 1 -p udp -m multiport --ports 80,443 -j ACCEPT
Respuesta2
El firewall integrado de Ubuntu es ufw. Puedes controlarlo usando una interfaz gráfica de usuario llamada Gufw. En el panel principal de Gufw, simplemente haga clic en Saliente: Denegar.