LINUXSC :: Linux, el Open Source más popular del mundo - ¿Sabes cómo bloquear un puerto determinado usando iptables en Linux?
 
        
18 | 05 | 2012


¿Sabes cómo bloquear un puerto determinado usando iptables en Linux?

Bueno aqui te vamos a decir como hacerlo. Se sabe que los números de puerto que se reconocen a través de Internet y otros protocolos de red, permiten a la  computadora para interactuar con los demás, donde cada servidor tiene un número de puerto (ver /etc/services). Por ejemplo:

  • TCP port 80 - HTTP Server
  • TCP port 443 - HTTPS Server
  • TCP port 25 - Mail Server
  • TCP port 22 - OpenSSH (remote) secure shell server
  • TCP port 110 - POP3 (Post Office Protocol v3) server
  • TCP port 143 - Internet Message Access Protocol (IMAP) — management of email messages
  • TCP / UDP port 53 - Domain Name System (DNS)


Ahora bien.

 

¿Cómo bloquear un puerto de entrada?

La sintaxis es la siguiente para bloquear un puerto de entrada usando Iptables

/sbin/iptables -A INPUT -p tcp --destination-port {NUMERO-DE-PUERTO} -j DROP

### Para la interface eth1 ###
/sbin/iptables -A INPUT -i eth1 -p tcp --destination-port {NUMERO-DE-PUERTO} -j DROP

### Bloquear el puerto para una IP o una subred ##

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {NUMERO-DE-PUERTO} -s {DIRECCION-IP
} -j DROP
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {NUMERO-DE-PUERTO} -s {IP/SUBRED
} -j DROP


Para bloquear el puerto 80, solo hay que agregar la siguiente linea a tu shell script
# /sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP
# /sbin/service iptables save


Bloqueando las entradas al puerto  80 excepto para la direccion ip 1.2.3.4
# /sbin/iptables -A INPUT -p tcp -i eth1 -s ! 1.2.3.4 --dport 80 -j DROP


Bloqueando el puerto de salida

La sintaxis es como sigue:
/sbin/iptables -A OUTPUT -p tcp --dport {NUMERO-DE-PUERTO} -j DROP

### La interface default es eth1 ###
/sbin/iptables -A OUTPUT -i eth1 -p tcp --dport {NUMERO-DE-PUERTO} -j DROP

### only drop port for given IP or Subnet ##
/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port {NUMERO-DE-PUERTO} -s {DIRECCION-IP
} -j DROP
/sbin/iptables -A OUTPUT -i eth0 -p tcp --destination-port {NUMERO-DE-PUERTO} -s {IP/SUBRED
} -j DROP


Para bloquear la salida del puerto 25, solo hay que hacer lo siguiente:
# /sbin/iptables -A OUTPUT -p tcp --dport 25 -j DROP
# /sbin/service iptables save


Para bloquear el numero de puerto 1234 para la ip 1.2.3.4 en especifico se usa la siguiente regla:

# /sbin/iptables -A OUTPUT -p tcp -d 192.168.1.2 --dport 1234 -j DROP
# /sbin/service iptables save



¿Cómo tener un registro - LOGs- de los puertos bloqueados?

Para ello se usa el siguente comando:

# Logging #
### Registrar todos los paquetes perdidos y enviarlos al syslog, ###
/sbin/iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "PORT 80 DROP: " --log-level 7

### Ahora solo lo eliminamos ###
/sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP


¿Cómo bloquear un cracker (cuya ip es: 1.2.3.4), el cual trata de accesar por el puerto 161 de UDP?

La sintaxis es la siguiente:
/sbin/iptables -A INPUT -s 123.1.2.3 -i eth1 -p udp -m state --state NEW -m udp --dport 161 -j DROP

# Bloqueamos a todos los estudiantes de la red  192.168.1.0/24 que usan el puerto 80
/sbin/iptables -A INPUT -s 192.168.1.0/24 -i eth1 -p tcp -m state --state NEW -m tcp --dport 80 -j DROP


Como veran, es algo sencillo siempre y cuando tengan en mente que es lo que desean hacer






Sigueme en


Publicidad

Centro de Soluciones Linux

Santa Clara Ocoyucan

KoalaSoft-Sitio de Amigos

Puebl@Media



Linuxsc en RSS
No. de Visitas
0031336
HoyHoy1737
AyerAyer2039
Esta SemanaEsta Semana10573
Este mesEste mes27198
TotalTotal31336