Subido por tux_cheko

IPTABLES

Anuncio
● INPUT. Todo aquel tráfico que viene desde fuera hacia nuestro servidor.
● OUTPUT. Todo tráfico originado desde nuestro servidor hacia fuera.
● FORWARD. Todo tráfico que viaja en nuestro servidor y posteriormente es
redireccionado, similar al concepto de un router.
RESET IPTABLES TO SETTINGS DEFAULT
# IPv6
##
## set default policies to let everything in
ip6tables --policy INPUT
ACCEPT;
ip6tables --policy OUTPUT ACCEPT;
ip6tables --policy FORWARD ACCEPT;
##
## start fresh
ip6tables -Z; # zero counters
ip6tables -F; # flush (delete) rules
ip6tables -X; # delete all extra chains
# IPv4
##
## set default policies to let everything in
iptables --policy INPUT
ACCEPT;
iptables --policy OUTPUT ACCEPT;
iptables --policy FORWARD ACCEPT;
##
## start fresh
iptables -Z; # zero counters
iptables -F; # flush (delete) rules
iptables -X; # delete all extra chains
Set accept all policy to all connections
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
List Rules as Tables
iptables -L
-L: Lista de reglas.
-V: Muestra información detallada. Esta opción hace que el
comando de la lista muestra el nombre de la interfaz, las
opciones de la regla, y las máscaras TOS. Los contadores de
bytes y de paquetes también están en la lista, con 'K' el
sufijo 'M' o 'G' para 1000, 1.000.000 y multiplicadores de
1,000,000,000, respectivamente.
-N: la dirección IP y el puerto de visualización en formato
numérico. No utilizar DNS para resolver nombres. Esto
acelerará la lista.
Para inspeccionar firewall con los números de línea, escriba:
#iptables -n -L -v --line-numbers
List Specific Chain
iptables -S TCP (chain)
LIST RULES NUMERIC-NUMBER/DELETE
#
#
#
#
#
iptables
iptables
iptables
iptables
iptables
-L
-L
-L
-L
-L
--line-numbers
INPUT -n --line-numbers
OUTPUT -n --line-numbers
OUTPUT -n --line-numbers | less
OUTPUT -n --line-numbers | grep 202.54.1.1
Delete rule by number
#iptables -D INPUT N [ <-- Number rule ]
O buscar IP de origen 202.54.1.1 y eliminar del dominio:
# iptables -D INPUT -s 202.54.1.1 -j DROP
-D: Eliminar una o más reglas de la cadena seleccionada
FLUSH CHAIN
#SINGLE
iptables -F INPUT
#ALL
iptables -F
Coloque las reglas del cortafuegos
Para insertar una o más reglas en la cadena seleccionado como
el número de la regla dada, utilice la siguiente sintaxis. En
primer lugar saber los números de línea, escriba:
# Iptables-L INPUT-n - line-numbers
Salidas de la muestra:
Chain INPUT (policy DROP)
num target
prot opt source
1
DROP
all -- 202.54.1.1
2
ACCEPT
all -- 0.0.0.0/0
state NEW,ESTABLISHED
destination
0.0.0.0/0
0.0.0.0/0
Para insertar la regla entre el 1 y 2, escriba:
# iptables -I INPUT 2 -s 202.54.1.2 -j DROP
Para ver las reglas actualizadas, escriba:
# iptables -L INPUT -n --line-numbers
Salidas de la muestra:
Chain INPUT (policy DROP)
num target
prot opt source
1
DROP
all -- 202.54.1.1
2
DROP
all -- 202.54.1.2
3
ACCEPT
all -- 0.0.0.0/0
state NEW,ESTABLISHED
SAVE RULES
destination
0.0.0.0/0
0.0.0.0/0
0.0.0.0/0
# service iptables save
BLOQUEAR/ACEPTAR TRÁFICO
Bloquear
iptables
Bloquear
iptables
Bloquear
iptables
tráfico entrante
-P INPUT DROP
tráfico saliente
-P OUTPUT DROP
tráfico reenviado
-P FORWARD DROP
Aceptar tráfico entrante
iptables -P INPUT ACCEPT
Aceptar tráfico saliente
iptables -P OUTPUT ACCEPT
Aceptar tráfico reenviado
iptables -P FORWARD ACCEPT
Guardar las reglas del cortafuegos
Para guardar las reglas de firewall en CentOS / RHEL / Fedora
Linux, escriba:
# service iptables save
En este ejemplo, colocar un IP y guarda las reglas de
firewall:
# iptables -A INPUT -s 202.5.4.1 -j DROP
# service iptables save
Para el resto de distros utilizar el comando iptables-save:
# iptables-save > /root/my.active.firewall.rules
# cat /root/my.active.firewall.rules
Reglas de restaurar el cortafuegos
Para restaurar las reglas del cortafuegos formar un archivo
llamado / root / my.active.firewall.rules, escriba:
# iptables-restore < /root/my.active.firewall.rules
Para restaurar las reglas del firewall en CentOS / RHEL /
Fedora Linux, escriba:
# service iptables restart
El bloqueo de una dirección IP (direcciones IP bloqueadas)
# iptables -A INPUT -s 1.2.3.4 -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -j DROP
bloquear las solicitudes de puertos entrantes (BLOQUE DE
PUERTO)
# iptables -A INPUT -p tcp --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Para bloquear el puerto 80 sólo para una dirección IP 1.2.3.4, escriba:
# iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport
80 -j DROP
Bloque de direcciones IP de salida
Para bloquear el tráfico saliente a un host en particular o
de dominio, como cyberciti.biz, escriba:
# host -ta cyberciti.biz
Salidas de la muestra:
cyberciti.biz tiene la dirección 75.126.153.206
Anote su dirección IP y escriba lo siguiente para bloquear
todo el tráfico saliente a 75.126.153.206:
# iptables -A OUTPUT -d 75.126.153.206 -j DROP
Puede utilizar una subred de la siguiente manera:
# iptables -A OUTPUT -d 192.168.1.0/24 -j DROP
Bloque de dominio
En primer lugar, saber todas las direcciones ip de
facebook.com, escriba:
# host -ta www.facebook.com
Salidas de la muestra:
www.facebook.com tiene la dirección 69.171.228.40
Buscar CIDR para 69.171.228.40, escriba:
# whois 69.171.228.40 | grep CIDR
Salidas de la muestra:
CIDR: 69.171.224.0/19
Para prevenir el acceso externo a www.facebook.com, escriba:
# iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP
También puede usar el nombre de dominio, escriba:
# iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
# iptables -A OUTPUT -p tcp -d facebook.com -j DROP
Bloquear o Permitir solicitud de ICMP Ping
Escriba el siguiente comando para bloquear las solicitudes de ping
ICMP:
# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j
DROP
Respuestas Ping también puede estar limitada a ciertas redes o
hosts:
# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echorequest -j ACCEPT
A continuación sólo acepta tipo limitado de peticiones ICMP:
### ** assumed that default INPUT policy set to DROP **
#############
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j
ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
## ** all our server to respond to pings ** ##
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
Open Range de Puertos
Utilice la siguiente sintaxis para abrir un rango de puertos:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT
Caída o aceptar tráfico de direcciones de Mac
Utilice la siguiente sintaxis:
# iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
## *only accept traffic for TCP port # 8080 from mac
00:0F:EA:91:04:07 * ##
iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source
00:0F:EA:91:04:07 -j ACCEPT
Descargar