¿Cómo puedo bloquear todos los puertos excepto 1962, 999, 12020?
Un puerto para SSH y otros dos para una especie de script. Entonces, es necesario permitir la salida en estos puertos, ¿verdad?
Mis iptables:
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*mangle
:PREROUTING ACCEPT [643521:136954367]
:INPUT ACCEPT [643521:136954367]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
:POSTROUTING ACCEPT [645723:99904505]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*filter
:INPUT ACCEPT [643490:136950781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
-A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*nat
:PREROUTING ACCEPT [5673:734891]
:POSTROUTING ACCEPT [2816:179474]
:OUTPUT ACCEPT [2816:179474]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
Lo siento, pero soy un verdadero novato cuando se trata de estas cosas y solo quiero hacer que mi servidor sea más seguro.
Respuestas:
Al principio, siempre debe enjuagarse para asegurarse de lo que ya está definido ... nada
Luego, establezca la política predeterminada de la cadena INPUT en DROP si se alcanza el final y no coincide ninguna regla:
Para asegurarse de que el loopback no se ve afectado, debe agregar
para permitir todo el tráfico en lo-if y todo el tráfico entrante para las conexiones que haya establecido. Después de eso, agregue todas las reglas que necesite para sus servicios (¡no olvide abrir ssh si lo necesita! De lo contrario, estará fuera) :
Un pequeño truco que hago para evitar que yo y otros perforemos agujeros accidentalmente en la seguridad finalmente agrego:
Esta línea coincide con todo para la cadena INPUT y la política no debería obtener nada. La ventaja de esto es que incluso si agrega una regla ACCEPT en algún momento después de inicializar su conjunto de reglas, nunca se comprobará porque todo se descartó antes. por lo tanto, garantiza que tenga que mantener todo en un solo lugar.
Para su pregunta, todo se ve así en resumen:
fuente
-P
establece la política en la cadena. En realidad no está agregando una regla. La política de la cadena indica la acción a realizar en el paquete si se alcanza el final de la cadena. Por eso, es inteligente agregar sus reglas antes de establecer unaDROP
política.iptables -A INPUT -j DROP
, por esa misma razón.Una respuesta de un novato como tú :-) También necesitaba proteger mi servidor Ubuntu, aprender iptables fue un dolor que no pude superar. UFW (Uncomplicated Firewall) es un programa para hacer que la configuración del firewall sea lo más fácil posible.
instalar ufw:
deshabilítelo de inmediato (tuve que rescatar el arranque porque me bloquearon mi propio inicio de sesión SSH):
establece "negar" como regla predeterminada (esto bloquea todos los puertos):
permitir puertos que necesita:
si está seguro de que las reglas anteriores no interrumpen su conexión ssh, habilite ufw:
Los documentos están bien escritos y proporcionan más ejemplos: https://help.ubuntu.com/community/UFW
fuente
ERROR: Bad destination address
yERROR: Bad source address