Autor Tema: Problemas con iptables.  (Leído 6194 veces)

Desconectado Pengüin

  • Member
  • ***
  • Mensajes: 242
  • www.daboweb.com
Problemas con iptables.
« en: 18 de Noviembre de 2014, 05:15:53 pm »
Me podeis revisar mi firewall para que no tenga fisuras , tiene 122 reglas y en las cuales algunas de ellas dan problemas.
Abajo he puesto la salida de bootlogd en el cual se pueden ver los problemas que tiene este script.
Perdonar por no saber como configurarlo correctamente pero por eso os pida ayuda , porque lo necesito que me blinde bien el sistema
operativo sobre todo cuando utilize vidalia , polipo y tor.
Y mas abajo os dejo la configuración de mi sysctl.conf , revisarmelo por si me falta algo , está mal configurado o lo veis bien.

Código: [Seleccionar]
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina
## Firewall
## Cortafuegos
modprobe ip_tables && echo " regla-00 ok"
modprobe iptable_filter && echo " regla-01 ok"
modprobe ipt_limit && echo " regla-02 ok"
modprobe ipt_owner && echo " regla-03 ok"
modprobe ipt_multiport && echo " regla-04 ok"
modprobe ipt_ttl && echo " regla-05 ok"
modprobe ipt_length && echo " regla-06 ok"
modprobe ipt_TCPMSS && echo " regla-07 ok"
modprobe ip_conntrack && echo " regla-08 ok"
modprobe ip_conntrack_ftp && echo " regla-09 ok"
modprobe ip_conntrack_irc && echo " regla-10 ok"
modprobe ipt_REDIRECT && echo " regla-11 ok"
modprobe ipt_TOS && echo " regla-12 ok"
modprobe iptable_mangle && echo " regla-13 ok"
modprobe ipt_state && echo " regla-14 ok"
modprobe iptable_nat && echo " regla-15 ok"
modprobe ip_nat_ftp && echo " regla-16 ok"
modprobe ipt_MASQUERADE && echo " regla-17 ok"
modprobe ipt_helper && echo " regla-18 ok"
modprobe ipt_LOG && echo " regla-19 ok"
modprobe ipt_REJECT && echo " regla-20 ok"
## Variables
IPTABLES=iptables && echo " regla-21 ok"
echo -n Aplicando Reglas de Firewall .. && echo " regla-22 ok"
## FLUSH de reglas
iptables -F && echo " regla-23 ok"
iptables -X && echo " regla-24 ok"
iptables -Z && echo " regla-25 ok"
iptables -t nat -F && echo " regla-26 ok"
iptables -t nat -P && echo " regla-27 ok"
iptables -t nat -A && echo " regla-28 ok"
## Establecemos politica por defecto: DROP!!!
iptables -P INPUT ACCEPT && echo " regla-29 ok"
iptables -F INPUT ACCEPT && echo " regla-30 ok"
iptables -F OUTPUT ACCEPT && echo " regla-31 ok"
iptables -P OUTPUT ACCEPT && echo " regla-32 ok"
iptables -F FORWARD ACCEPT && echo " regla-33 ok"
iptables -P FORWARD ACCEPT && echo " regla-34 ok"
iptables -t nat -P PREROUTING ACCEPT && echo " regla-35 ok"
iptables -t nat -P POSTROUTING ACCEPT && echo " regla-36 ok"
iptables -t nat -F && echo " regla-37 ok"
iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE && echo " regla-38 ok"
iptables -t nat -A POSTROUTING -o ippp+ -j MASQUERADE && echo " regla-39 ok"
iptables -t nat -A POSTROUTING -o isdn+ -j MASQUERADE && echo " regla-40 ok"
iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE && echo " regla-41 ok"
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE && echo " regla-42 ok"
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE && echo " regla-43 ok"
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE && echo " regla-44 ok"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT && echo " regla-45 ok"
iptables -t nat -A PREROUTING -p tcp --dport 25 -j DROP && echo " regla-122 ok--------------------------------------------------"
iptables -A INPUT -i wlan1 -j ACCEPT && echo " regla-46 ok"
iptables -A OUTPUT -o wlan1 -j ACCEPT && echo " regla-47 ok"
iptables -A FORWARD -i wlan1 -j ACCEPT && echo " regla-48 ok"
iptables -A INPUT -i wlan0 -j ACCEPT && echo " regla-49 ok"
iptables -A OUTPUT -o wlan0 -j ACCEPT && echo " regla-50 ok"
iptables -A FORWARD -i wlan0 -j ACCEPT && echo " regla-51 ok"
iptables -A FORWARD -p icmp -j ACCEPT && echo " regla-52 ok"
iptables -A FORWARD -i lo -j ACCEPT && echo " regla-53 ok"
iptables -A FORWARD -o eth+ -j ACCEPT && echo " regla-54 ok"
iptables -A FORWARD -o ippp+ -j ACCEPT && echo " regla-55 ok"
iptables -A FORWARD -o isdn+ -j ACCEPT && echo " regla-56 ok"
iptables -A FORWARD -o ppp+ -j ACCEPT && echo " regla-57 ok"
iptables -A FORWARD -o tun+ -j ACCEPT && echo " regla-58 ok"
iptables -A FORWARD -o wlan0 -j ACCEPT && echo " regla-59 ok"
iptables -A FORWARD -o wlan1 -j ACCEPT && echo " regla-60 ok"
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT && echo " regla-61 ok"
iptables -A INPUT -j ACCEPT && echo " regla-62 ok"
iptables -A FORWARD -j ACCEPT && echo " regla-63 ok"
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT && echo " regla-64 ok"
iptables -A FORWARD -p icmp -m icmp --icmp-type destination-unreachable -j REJECT --reject-with icmp-host-prohibited && echo " regla-65 ok"
iptables -A FORWARD -p icmp -m icmp --icmp-type parameter-problem -j REJECT --reject-with icmp-host-prohibited && echo " regla-66 ok"
iptables -A FORWARD -p icmp -m icmp --icmp-type echo-reply -j REJECT --reject-with icmp-host-prohibited && echo " regla-67 ok"
iptables -A FORWARD -p icmp -m icmp --icmp-type source-quench -j REJECT --reject-with icmp-host-prohibited && echo " regla-68 ok"
iptables -A FORWARD -p icmp -m icmp --icmp-type time-exceeded -j REJECT --reject-with icmp-host-prohibited && echo " regla-69 ok"
iptables -A INPUT -p tcp --syn -j REJECT --reject-with icmp-port-unreachable && echo " regla-70 ok"
iptables -A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j DROP && echo " regla-71 ok"
iptables -A INPUT -p icmp -m icmp --icmp-type parameter-problem -j DROP && echo " regla-72 ok"
iptables -A INPUT -p icmp -m icmp --icmp-type echo-reply -j DROP && echo " regla-73 ok"
iptables -A INPUT -p icmp -m icmp --icmp-type source-quench -j DROP && echo " regla-74 ok"
iptables -A INPUT -p icmp -m icmp --icmp-type time-exceeded -j DROP && echo " regla-75 ok"
iptables -A INPUT -p icmp -j ACCEPT && echo " regla-76 ok"
iptables -A INPUT -i wlan0 -j ACCEPT && echo " regla-77 ok"
iptables -t filter -P FORWARD ACCEPT && echo " regla-78 ok"
iptables -t filter -A FORWARD -d 0/0 -s 192.168.1.1/255.255.255.0 -o wlan0 -j ACCEPT && echo " regla-79 ok"
iptables -t filter -A FORWARD -d 192.168.1.1/255.255.255.0 -j ACCEPT && echo " regla-80 ok"
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE && echo " regla-81 ok"
iptables -t filter -A INPUT -s 192.168.1.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-82 ok"
iptables -t filter -A OUTPUT -s 192.168.1.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-83 ok"
iptables -t filter -A OUTPUT -p icmp -s 192.168.1.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-84 ok"
iptables -t filter -A FORWARD -d 0/0 -s 127.0.0.1/255.255.255.0 -o wlan0 -j ACCEPT && echo " regla-85 ok"
iptables -t filter -A FORWARD -d 127.0.0.1/255.255.255.0 -j ACCEPT && echo " regla-86 ok"
iptables -t filter -A INPUT -s 127.0.0.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-87 ok"
iptables -t filter -A OUTPUT -s 127.0.0.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-88 ok"
iptables -t filter -A OUTPUT -p icmp -s 127.0.0.1/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-89 ok"
iptables -t filter -A FORWARD -d 0/0 -s 0.0.0.0/255.255.255.0 -o wlan0 -j ACCEPT && echo " regla-90 ok"
iptables -t filter -A FORWARD -d 0.0.0.0/255.255.255.0 -j ACCEPT && echo " regla-91 ok"
iptables -t filter -A INPUT -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-92 ok"
iptables -t filter -A OUTPUT -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-93 ok"
iptables -t filter -A OUTPUT -p icmp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-94 ok"
iptables -t filter -A INPUT -p udp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-95 ok"
iptables -t filter -A OUTPUT -p udp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-96 ok"
iptables -t filter -A OUTPUT -p udp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-97 ok"
iptables -t filter -A INPUT -p tcp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-98 ok"
iptables -t filter -A OUTPUT -p tcp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-99 ok"
iptables -t filter -A OUTPUT -p tcp -s 0.0.0.0/255.255.255.0 -o wlan0 -d 0/0 -j ACCEPT && echo " regla-100 ok"
iptables -t filter -A INPUT -p tcp --dport 9050 -j ACCEPT && echo " regla-101 ok"
iptables -t filter -A INPUT -p tcp --dport 9051 -j ACCEPT && echo " regla-102 ok"
iptables -t filter -A INPUT -p tcp --dport 8118 -j ACCEPT && echo " regla-103 ok"
iptables -t filter -A INPUT -p tcp --dport 9053 -j ACCEPT && echo " regla-120 ok"
iptables -t filter -A INPUT -p tcp --dport 9040 -j ACCEPT && echo " regla-121 ok"
iptables -N syn-flood && echo " regla-104 ok"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT && echo " regla-105 ok"
iptables -A INPUT -i wlan+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood && echo " regla-106 ok"
iptables -A FORWARD -i wlan+ -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j syn-flood && echo " regla-107 ok"
iptables -A syn-flood -m limit --limit 4/s --limit-burst 16 -j RETURN && echo " regla-108 ok"
iptables -A syn-flood -m limit --limit 75/s --limit-burst 100 -j RETURN && echo " regla-109 ok"
iptables -A syn-flood -j LOG --log-prefix "SYN FLOOD " --log-tcp-sequence --log-tcp-options -m limit --limit 1/second && echo " regla-110 ok"
iptables -A syn-flood -j DROP && echo " regla-111 ok"
iptables -A OUTPUT -p udp -m state --state NEW -j ACCEPT && echo " regla-112 ok"
iptables -A OUTPUT -p udp -m limit --limit 100/s -j ACCEPT && echo " regla-113 ok"
iptables -A OUTPUT -p udp -j DROP && echo " regla-114 ok"
iptables -A OUTPUT -o wlan0 -p tcp --dport 1:65535 --sport 1:79 -j DROP && echo " regla-115 ok"
iptables -A OUTPUT -o wlan0 -p tcp --dport 1:65535 --sport 81:8117 -j DROP && echo " regla-116 ok"
iptables -A OUTPUT -o wlan0 -p tcp --dport 1:65535 --sport 8119:9049 -j DROP && echo " regla-117 ok"
iptables -A OUTPUT -o wlan0 -p tcp --dport 1:65535 --sport 9052:65535 -j DROP && echo " regla-118 ok"
iptables -A OUTPUT -o wlan0 -p udp --dport 1:65535 --sport 1:65535 -j DROP && echo " regla-119 ok"
echo " OK . Verifique que lo que se aplica con: iptables -L -n" && echo " regla-000 ok"
# Fin del script

Aquí empieza lo mostrado por bootlogd :

Código: [Seleccionar]
Tue Nov 18 13:45:53 2014:  regla-00 ok
Tue Nov 18 13:45:53 2014:  regla-01 ok
Tue Nov 18 13:45:53 2014:  regla-02 ok
Tue Nov 18 13:45:53 2014:  regla-03 ok
Tue Nov 18 13:45:53 2014:  regla-04 ok
Tue Nov 18 13:45:53 2014:  regla-05 ok
Tue Nov 18 13:45:53 2014:  regla-06 ok
Tue Nov 18 13:45:53 2014:  regla-07 ok
Tue Nov 18 13:45:53 2014:  regla-08 ok
Tue Nov 18 13:45:53 2014:  regla-09 ok
Tue Nov 18 13:45:53 2014:  regla-10 ok
Tue Nov 18 13:45:53 2014: FATAL: Module ipt_REDIRECT not found.
Tue Nov 18 13:45:53 2014:  regla-12 ok
Tue Nov 18 13:45:53 2014:  regla-13 ok
Tue Nov 18 13:45:53 2014:  regla-14 ok
Tue Nov 18 13:45:53 2014: FATAL: Module iptable_nat not found.
Tue Nov 18 13:45:53 2014: FATAL: Module ip_nat_ftp not found.
Tue Nov 18 13:45:53 2014: FATAL: Module ipt_MASQUERADE not found.
Tue Nov 18 13:45:53 2014:  regla-18 ok
Tue Nov 18 13:45:53 2014: FATAL: Module ipt_LOG not found.
Tue Nov 18 13:45:53 2014:  regla-20 ok
Tue Nov 18 13:45:53 2014:  regla-21 ok
Tue Nov 18 13:45:53 2014: Aplicando Reglas de Firewall .. regla-22 ok
Tue Nov 18 13:45:53 2014:  regla-23 ok
Tue Nov 18 13:45:53 2014:  regla-24 ok
Tue Nov 18 13:45:53 2014:  regla-25 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: option "-P" requires an argument
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: option "-A" requires an argument
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-29 ok
Tue Nov 18 13:45:53 2014: Bad argument `ACCEPT'
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014: Bad argument `ACCEPT'
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-32 ok
Tue Nov 18 13:45:53 2014: Bad argument `ACCEPT'
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-34 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014:  regla-45 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14:
Tue Nov 18 13:45:53 2014: The "nat" table is not intended for filtering, the use of DROP is therefore inhibited.
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-46 ok
Tue Nov 18 13:45:53 2014:  regla-47 ok
Tue Nov 18 13:45:53 2014:  regla-48 ok
Tue Nov 18 13:45:53 2014:  regla-49 ok
Tue Nov 18 13:45:53 2014:  regla-50 ok
Tue Nov 18 13:45:53 2014:  regla-51 ok
Tue Nov 18 13:45:53 2014:  regla-52 ok
Tue Nov 18 13:45:53 2014:  regla-53 ok
Tue Nov 18 13:45:53 2014:  regla-54 ok
Tue Nov 18 13:45:53 2014:  regla-55 ok
Tue Nov 18 13:45:53 2014:  regla-56 ok
Tue Nov 18 13:45:53 2014:  regla-57 ok
Tue Nov 18 13:45:53 2014:  regla-58 ok
Tue Nov 18 13:45:53 2014:  regla-59 ok
Tue Nov 18 13:45:53 2014:  regla-60 ok
Tue Nov 18 13:45:53 2014:  regla-61 ok
Tue Nov 18 13:45:53 2014:  regla-62 ok
Tue Nov 18 13:45:53 2014:  regla-63 ok
Tue Nov 18 13:45:53 2014:  regla-64 ok
Tue Nov 18 13:45:53 2014:  regla-65 ok
Tue Nov 18 13:45:53 2014:  regla-66 ok
Tue Nov 18 13:45:53 2014:  regla-67 ok
Tue Nov 18 13:45:53 2014:  regla-68 ok
Tue Nov 18 13:45:53 2014:  regla-69 ok
Tue Nov 18 13:45:53 2014:  regla-70 ok
Tue Nov 18 13:45:53 2014:  regla-71 ok
Tue Nov 18 13:45:53 2014:  regla-72 ok
Tue Nov 18 13:45:53 2014:  regla-73 ok
Tue Nov 18 13:45:53 2014:  regla-74 ok
Tue Nov 18 13:45:53 2014:  regla-75 ok
Tue Nov 18 13:45:53 2014:  regla-76 ok
Tue Nov 18 13:45:53 2014:  regla-77 ok
Tue Nov 18 13:45:53 2014:  regla-78 ok
Tue Nov 18 13:45:53 2014:  regla-79 ok
Tue Nov 18 13:45:53 2014:  regla-80 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Tue Nov 18 13:45:53 2014: Perhaps iptables or your kernel needs to be upgraded.
Tue Nov 18 13:45:53 2014: iptables v1.4.14: Can't use -o with INPUT
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-83 ok
Tue Nov 18 13:45:53 2014:  regla-84 ok
Tue Nov 18 13:45:53 2014:  regla-85 ok
Tue Nov 18 13:45:53 2014:  regla-86 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: Can't use -o with INPUT
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-88 ok
Tue Nov 18 13:45:53 2014:  regla-89 ok
Tue Nov 18 13:45:53 2014:  regla-90 ok
Tue Nov 18 13:45:53 2014:  regla-91 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: Can't use -o with INPUT
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-93 ok
Tue Nov 18 13:45:53 2014:  regla-94 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: Can't use -o with INPUT
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-96 ok
Tue Nov 18 13:45:53 2014:  regla-97 ok
Tue Nov 18 13:45:53 2014: iptables v1.4.14: Can't use -o with INPUT
Tue Nov 18 13:45:53 2014:
Tue Nov 18 13:45:53 2014: Try `iptables -h' or 'iptables --help' for more information.
Tue Nov 18 13:45:53 2014:  regla-99 ok
Tue Nov 18 13:45:53 2014:  regla-100 ok
Tue Nov 18 13:45:53 2014:  regla-101 ok
Tue Nov 18 13:45:53 2014:  regla-102 ok
Tue Nov 18 13:45:53 2014:  regla-103 ok
Tue Nov 18 13:45:53 2014:  regla-120 ok
Tue Nov 18 13:45:53 2014:  regla-121 ok
Tue Nov 18 13:45:53 2014:  regla-104 ok
Tue Nov 18 13:45:53 2014:  regla-105 ok
Tue Nov 18 13:45:53 2014:  regla-106 ok
Tue Nov 18 13:45:53 2014:  regla-107 ok
Tue Nov 18 13:45:53 2014:  regla-108 ok
Tue Nov 18 13:45:53 2014:  regla-109 ok
Tue Nov 18 13:45:53 2014: iptables: No chain/target/match by that name.
Tue Nov 18 13:45:53 2014:  regla-111 ok
Tue Nov 18 13:45:53 2014:  regla-112 ok
Tue Nov 18 13:45:53 2014:  regla-113 ok
Tue Nov 18 13:45:53 2014:  regla-114 ok
Tue Nov 18 13:45:53 2014:  regla-115 ok
Tue Nov 18 13:45:53 2014:  regla-116 ok
Tue Nov 18 13:45:53 2014:  regla-117 ok
Tue Nov 18 13:45:53 2014:  regla-118 ok
Tue Nov 18 13:45:53 2014:  regla-119 ok
Tue Nov 18 13:45:53 2014:  OK . Verifique que lo que se aplica con: iptables -L -n
Tue Nov 18 13:45:53 2014:  regla-000 ok

Aquí sysctl.conf :

Código: [Seleccionar]
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Disable netfilter on bridges.
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0

#net.ipv4.ip_conntrack_max = 65535

# Enable IP spoofing protection, turn on Source Address Verification
net.ipv4.conf.all.rp_filter = 1

# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1

# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Disable Source Routed Packets
net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.all.log_martians = 1

net.ipv4.tcp_max_syn_backlog = 256

net.ipv4.tcp_max_orphans = 16384

net.ipv4.tcp_orphan_retries = 0

net.ipv4.tcp_syn_retries = 3

net.ipv4.tcp_synack_retries = 3

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_keepalive_time = 300

net.ipv4.tcp_window_scaling = 0

net.ipv4.tcp_sack = 0

net.ipv4.tcp_max_tw_buckets = 1440000

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.ip_default_ttl = 128

# disable Explicit Congestion Notification
# too many routers are still ignorant
net.ipv4.tcp_ecn = 0

# be verbose on dynamic ip-addresses  (not needed in case of static IP)
net.ipv4.ip_dynaddr = 2

# No permitir que la tabla arp para convertirse en más grande que esto
net.ipv4.neigh.default.gc_thresh3 = 2048

PD : Perdonad por si mi script de iptables es muy caótico. :dog:
Pen

Desconectado Pengüin

  • Member
  • ***
  • Mensajes: 242
  • www.daboweb.com
Re:Problemas con iptables.
« Respuesta #1 en: 20 de Noviembre de 2014, 12:06:16 am »
Una cosa , mi script me lo estoy contruyendo desde cero y en lo que llevo hay unas cosas que me tienen confusa son :
Código: [Seleccionar]
#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para proteger la propia máquina
## Firewall
## Cortafuegos
modprobe ip_tables && echo " regla-0 ok------------------------------------------------------------------------------------------"
modprobe iptable_filter && echo " regla-1 ok-------------------------------------------------------------------------------------"
echo Drop los forward.. && echo " regla-Final 1 ok-------------------------------------------------------------------------------"
iptables -A FORWARD -s $local/$netmask -i $lan -o $internet -j DROP && echo " regla-Final 1 ok-----------------------------------"
iptables -A FORWARD -s $local/$netmask -i $wlan -o $internet -j DROP && echo " regla-Final 1 ok----------------------------------"
echo Drop Todos.. && echo " regla-Final 2 ok-------------------------------------------------------------------------------------"
iptables -A INPUT -s 0.0.0.0/0 -j DROP && echo " regla-Final 2 ok----------------------------------------------------------------"
## Fin del script , Saludos Liamngls , Dabo y demás equipo..
Por ejemplo , los  2 modprobe de ahí ¿tengo que ponerlos a la fuerza?¿Qué significado tienen todos los que pusé arriba de este post?.
Por ejemplo , en los dos FORWARD $local/$netmask..¿Qué debo poner? , se refiere a 127.0.0.1/255.255.255.0 , en $wlan ¿puedo poner $wlan0? , la cual es la que le puse a mí antena wireless y debo ponerla con el $? y $internet ¿A qué se refiere?..
¿Podeis aclararme estas dudillas?. :???:
Pen

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re:Problemas con iptables.
« Respuesta #2 en: 20 de Noviembre de 2014, 09:02:24 pm »
Hola, Pengüin.

Bueno a ver, esas 122 reglas de iptables me parece a mí que pueden resultarles un tanto indigestas a las neuronas. Con estas cosas, como con el buen yantar, hay que ir despacito y dejar para otro día lo que no quepa hoy.

De momento,  me ha golpeado la vista lo siguiente:
Citar
## Establecemos politica por defecto: DROP!!!
iptables -P INPUT ACCEPT && echo " regla-29 ok"
iptables -F INPUT ACCEPT && echo " regla-30 ok"
iptables -F OUTPUT ACCEPT && echo " regla-31 ok"
iptables -P OUTPUT ACCEPT && echo " regla-32 ok"
iptables -F FORWARD ACCEPT && echo " regla-33 ok"
iptables -P FORWARD ACCEPT && echo " regla-34 ok"
iptables -t nat -P PREROUTING ACCEPT && echo " regla-35 ok"
iptables -t nat -P POSTROUTING ACCEPT && echo " regla-36 ok"

Cuando hay política por defecto drop, se suele poner 'DROP'en estos sitios y no 'ACCEPT'.

Yo no soy ni mucho menos experto en iptables, pero se me ocurre que si ponemos por defecto DROP, nuestras reglas deberán consistir básicamente en abrir los puertos que tengan que estar abiertos, ya que drop lo deniega todo, y si ponemos ACCEPT deberemos procurar cerrar los que tengan que estar cerrados, ya que accept lo permite todo.

Un script de iptables es eso mismo: un script normal de shell de los de toda la vida, pero especialmente orientado al control del tráfico en la máquina, para lo que hace uso del comando iptables con sus argumentos y características especiales y todo eso.

En un script, el contenido de una variable se extrae anteponiendo al nombre de la misma el signo '$', es decir que yo puedo poner, por ejemplo, para escribir menos caracteres:
Código: [Seleccionar]
IPT='/sbin/iptables'

$IPT -P INPUT DROP

y el sistema ejecutará: /sbin/iptables -P INPUT DROP

En cuanto a modprobe, es un comando que se utiliza para cargar módulos del kernel. A veces es necesario que ciertos módulos estén cargados en el kernel para que funcione alguna que otra regla determinada. Por ejemplo, los módulos ip_conntrack_ftp e ip_nat_ftp tienen que estar cargados si queremos permitir las conexiones ya establecidas por ftp y el ftp pasivo, algo necesario por ejemplo para que filezilla acceda a través de nuestro cortafuegos super restrictivo (bueno, por lo menos a mí me lo fue en su momento :) ).

Empieza poco a poco, lo primero es la limpieza de reglas y el establecimiento de la política por defecto, que puede ser algo como esto:
Código: [Seleccionar]
## Variables.
IPT='/sbin/iptables'

## Limpieza de reglas.
$IPT -F
$IPT -X
$IPT -Z
$IPT -t nat -F
$IPT --flush
$IPT --delete-chain

## Sólo se deniegan por defecto las redirecciones.
$IPT -P INPUT   ACCEPT
$IPT -P OUTPUT  ACCEPT
$IPT -P FORWARD DROP

## Se permite todo para el localhost
$IPT -A INPUT  -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT


Al localhost se le vuelve a permitir todo (aunque ya lo está por defecto) por si acaso en algún momento nos da por cambiar la política por defecto a DROP  y nos olvidamos de él...  :ciego:

y a partir de ahí vas probando cosas y lo compruebas con iptables -nvL

Por ejemplo, podrías intentar denegar el ping (lo mismo no funciona, ya hace tiempo que dejé estas cosas):

$IPT -P icmp -j DROP
 
Y seguir así, investigando poco a poco y aprendiendo a tu ritmo, copiando cosas de aquí y de allá y averiguando lo que hacen. Aún guardo este enlace: http://www.pello.info/filez/firewall/iptables.html, que aunque viejuno continúa siendo un buen punto de referencia.

Y una sugerencia:
No pongas un script de iptables en un archivo que se ejecute al arranque, porque un fallo (por ejemplo, un simple cambio en la IP del administrador, permitida expresamente) te podría dejar sin acceso al equipo. Si el script del fallo no se está ejecutando directamente al arrancar, un reinicio te devolverá el control.


Desconectado Pengüin

  • Member
  • ***
  • Mensajes: 242
  • www.daboweb.com
Re:Problemas con iptables.
« Respuesta #3 en: 20 de Noviembre de 2014, 10:33:45 pm »
Hola Shicefgo una preguntica , en el sysctl.conf modifiqué :
Código: [Seleccionar]
net.ipv4.ip_default_ttl = 128 y le pusé el ttl a 128 para modificar debian e intentar hacerlo parecer un windows xp..mi pregunta es cual era el ttl original que usa debian por defecto. :-o

Otra cosa en : ## Establecemos politica por defecto: DROP!!! y lo tenia en ACCEPT si fué un descuido mio , pensé que estaba en DROP y mira que lo revisé de veces.. :blind:

Lo último que me pones en tu sugerencia , no lo entiendo bien pero supuestamente dices que me podria dejar sin acceso al equipo , lo tendré en cuenta aunque me gustaria poder saberlo bien. |o|

Me gustaria dejar el hilo un poco mas abierto por si hay mas sugerencias o datos que me enseñen mejor a utilizar iptables , gracias por tu ayuda Shicefgo.
Ah! una cosa mas en esto :
Código: [Seleccionar]
Por ejemplo , en los dos FORWARD $local/$netmask..¿Qué debo poner? , se refiere a 127.0.0.1/255.255.255.0 , en $wlan ¿puedo poner $wlan0? , la cual es la que le puse a mí antena wireless y debo ponerla con el $? y $internet ¿A qué se refiere?..Me lo puedes explicar lo que pregunto ahí detalladamente gracias. :verysad:
Pen

Desconectado Pengüin

  • Member
  • ***
  • Mensajes: 242
  • www.daboweb.com
Re:Problemas con iptables.
« Respuesta #4 en: 24 de Noviembre de 2014, 08:34:02 pm »
Me he reconstruido mi propio firewall y casi lo he acabado excepto que no se como hacer que me cargue bien todo lo relacionado con nat.
Por ejemplo :
Código: [Seleccionar]
modprobe iptable_nat y me dan error :
Código: [Seleccionar]
FATAL: Module iptable_nat not found.¿Alguna idea de como lo puedo solucionar?. :???:
PD : Perdón por el cúmulo de preguntas.. :ciego:
Pen

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Re:Problemas con iptables.
« Respuesta #5 en: 24 de Noviembre de 2014, 10:36:42 pm »
Es que esto tiene su miga y necesita su tiempo. Hay mucho explicado por la red, pero hace falta dar con lo que se necesita y entender lo que pone antes de hacer "magia por cuenta propia".
Hay muchos ejemplos, una vez que los entiendas podrás ir construyéndote tu firewall a medida, pero tienes que saber qué hace qué, lo que va antes y lo que va después.

Por lo que yo sé, nat no necesita cargar ningún módulo especial, pero tienes que tener habilitado forward.
Un uso típico podría ser dirigir tráfico a una puerta de enlace.

Te voy a copiar uno que hice hace mucho, mucho tiempo, estaba en un equipo dedicado, con tres tarjetas de red: una para internet, otra para la red principal y otra para una conexión para portátiles de gente de "fuera", para que pudiesen acceder a internet y a una impresora pero sin que se colara nada en la red protegida.

Es posible que contenga errores, estaba en pleno proceso de depuración y no lo tuve demasiado tiempo en funcionamiento porque el equipo de las tres tarjetas era super-antiguo (hablo de slots ISA, lo que había antes de los primeros PCI) y duró poco. En fin, por lo menos obtuve la experiencia. No te fíes demasiado, te puede dar una idea pero lo mismo algún experto encuentra alguna burrada. Bueno, ahí lo dejo para uso y disfrute, críticas incluidas. :)

Código: [Seleccionar]
#!/bin/bash
# firewall
#
# Script de iptables para una red local con salida a internet y una DMZ
#

# Variables
IPTABLES="/sbin/iptables"
RUTA_SCRIPTS="/root/firewalls"

LO_IFAZ="lo"
LO_IP="127.0.0.1"

INET_IFAZ="eth0"
INET_IP="192.168.0.2"

DMZ_IFAZ="eth1"
DMZ_RANGO_IP="192.168.2.0/24"

LAN_IFAZ="eth2"
LAN_IP="192.168.1.2"

GESTION_IP="192.168.1.10"
IMPRE_IP="192.168.1.200"

# Se permite a otras máquinas salir a través del firewall
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "Aplicando reglas de Firewall..."

# FLUSH de reglas.
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F

# Política por defecto (se rechaza todo)
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP


# El Localhost
$IPTABLES -A INPUT  -i $LO_IFAZ -j ACCEPT
$IPTABLES -A OUTPUT -o $LO_IFAZ -j ACCEPT

# Acceso al firewall desde la IP del administrador
$IPTABLES -A INPUT  -s $GESTION_IP -j ACCEPT
$IPTABLES -A OUTPUT -d $GESTION_IP -j ACCEPT

# Paquetes desde internet a esta máquina
$IPTABLES -A INPUT -p icmp -i $INET_IFAZ -j ACCEPT

# Apertura de las interfaces para entrada
$IPTABLES -A INPUT -p ALL  -i $LO_IFAZ -s $LO_IP   -j ACCEPT
$IPTABLES -A INPUT -p ALL  -i $LO_IFAZ -s $INET_IP -j ACCEPT

# Para DHCP en la DMZ
$IPTABLES -A INPUT -p udp -i $DMZ_IFAZ --dport 67 --sport 68 -j ACCEPT

# Paquetes desde internet al firewall con conexiones establecidas
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

# Forward (reexpedir) en la LAN y la DMZ para acceso a internet
$IPTABLES -A FORWARD -i $LAN_IFAZ -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $DMZ_IFAZ -o $INET_IFAZ -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Acceso desde la DMZ a una impresora de la LAN
$IPTABLES -A FORWARD -s $DMZ_RANGO_IP -d $IMPRE_IP     -j ACCEPT
$IPTABLES -A FORWARD -s $IMPRE_IP     -d $DMZ_RANGO_IP -j ACCEPT


###############################################################################
# Reenvío entre internet y la LAN. Provisional, aún hay que limitarlo a lo imprescindible.
#
$IPTABLES -A FORWARD -i $INET_IFAZ -o $LAN_IFAZ  -j ACCEPT
$IPTABLES -A FORWARD -i $LAN_IFAZ  -o $INET_IFAZ -j ACCEPT
################################################################################

# Apertura de las interfaces para salida
$IPTABLES -A OUTPUT -p ALL -s $LO_IP   -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

# Apertura de puertos (carga otro archivo aparte).
. $RUTA_SCRIPTS/puertos_abiertos


# Habilita simple IP Forwarding (reexpedición) y Network Address Translation
# Para internet y la impresora
$IPTABLES -t nat -A POSTROUTING -o $INET_IFAZ -j SNAT --to-source $INET_IP
$IPTABLES -t nat -A POSTROUTING -o $LAN_IFAZ  -j SNAT --to-source $LAN_IP

echo $0 > /root/firewall_activo

# Fin del script.

Y aquí los puertos abiertos, en el archivo que se cargaba anteriormente:

Código: [Seleccionar]
# Puertos a abrir en el firewall
#
# Variables.
SERV_SSH="192.168.1.10:12233"  #cambiado, el puerto habitual es el 22.
SERV_MYSQL="192.168.1.10:3306"
SERV_SVN="192.168.1.10:3690"
SERV_POSTGRE="192.168.1.10:5432"

# ssh
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 12233 -j DNAT --to $SERV_SSH

# Subversion
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 3690  -j DNAT --to $SERV_SVN

# MySQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 3306  -j DNAT --to $SERV_MYSQL

# PostgreSQL
$IPTABLES -t nat -A PREROUTING -i $INET_IFAZ -p tcp --dport 5432  -j DNAT --to $SERV_POSTGRE


 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License