22 votos

¿Cómo puedo bloquear a todos, pero tres puertos en Ubuntu?

¿Cómo puedo bloquear todos los puertos excepto 1962, 999, 12020?

Un puerto de SSH y otros dos para un tipo de secuencia de comandos. Así, es necesario permitir las salidas en estos puertos, a la derecha?

Mi 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 novato cuando se trata de estas cosas y yo sólo quiero hacer mi servidor más seguro.

25voto

Mose Puntos 500

En primer lugar, usted debe siempre al ras para estar seguro de cuál es el ya definido... nada

iptables -F

A continuación, establece la política por defecto de la cadena de ENTRADA a CAER si se llega a su final y no la regla coincidir:

iptables -P INPUT DROP

Para asegurar que el bucle no es affacted debe agregar

iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

para permitir todo el tráfico en la lo-si y cada incomming el tráfico de las conexiones etablished. Después de agregar todas las reglas que usted necesita para sus servicios (no olvide abrir ssh si usted lo necesita! otra cosa que está fuera):

iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT 

Un pequeño truco que tengo que hacer para mantener a mí mismo y a los demás accidentalmente la perforación de agujeros en la seguridad de que finalmente agregar:

iptables -A INPUT -j DROP

Esta línea coincide con todo para la cadena de ENTRADA y la política no deben recibir nada. la ventaja de esto es que incluso si usted agregar una ACEPTA-regla en algún momento después de inicializar el conjunto de reglas que nunca se comprueba porque todo es dejado caer antes. se asegura de que usted tiene que mantener todo en un solo lugar.

Para su pregunta, la cosa se parece a esto, en resumen:

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT 
iptables -A INPUT -j DROP

22voto

Vlad Gerasimov Puntos 76

Una respuesta de un novato como tú :-) me necesarias para proteger mi servidor Ubuntu así, el aprendizaje de iptables era un dolor que no podía conseguir a través. UFW (Uncomplicated Firewall) es un programa de configuración del firewall tan fácil como sea posible.

  • instalar ufw:

    sudo apt-get install ufw
    
  • deshabilitar inmediatamente (tuve que rescatar de inicio porque me quedé fuera de mi propia SSH login):

    sudo ufw disable
    
  • conjunto de "negar" como regla por defecto (esto bloquea todos los puertos):

    sudo ufw default deny
    
  • permitir que los puertos que necesitas:

    sudo ufw allow 1962
    sudo ufw allow 999
    sudo ufw allow 12020
    
  • si está seguro de que las reglas anteriores no romper su conexión ssh, habilitar la ufw:

    sudo ufw enable
    

Docs están bien escritos y dar más ejemplos: https://help.ubuntu.com/community/UFW

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: