Re: Script iptables con Firewall por defecto a DROP
On Fri, Jun 13, 2008 at 3:19 AM, Abraham Pérez <[EMAIL PROTECTED]> wrote: > > > 2008/6/13 Julián Esteban Perconti <[EMAIL PROTECTED]>: >> >> Julián Esteban Perconti escribió: >>> >>> Miguel Da Silva - Centro de Matemática escribió: adriancito wrote: > > Buenas lista. > > Alguien tendrá algún ejemplo de un script de iptables donde tenga como > política por defecto DROP y el mismo tenga varias interfaces (o > segmentos)? > > Muchas Gracias. > > Saludos. > > Pero... solo querés eso?! te paso uno de reglas simples, pero funcional. no es avanzado, pero creo que la forma es ordenada y ademas es facil de modificar. para poder agregarle segmento solo tendrias q agregar algunas cosas y podes reutilizar las funciones. #!/bin/bash #NetSecure team #[EMAIL PROTECTED] iptables="/sbin/iptables"; E_dev="eth0"; I_dev="eth1"; open_tcp_ports="53 22 21 20"; open_udp_ports="53"; $iptables -A INPUT -i lo -j ACCEPT $iptables -A OUTPUT -o lo -j ACCEPT flusher () { echo "[Borrando reglas]" #Flush de reglas $iptables -F $iptables -X echo " [nat]" #Flush de reglas de nat $iptables -t nat -F $iptables -t nat -X echo " [mangle]" #Flush de reglas mangle $iptables -t mangle -F $iptables -t mangle -X echo ""; echo "{ - Restaurando reglas de acceso y egreso - }" #flush de reglas de acceso y egreso $iptables -P INPUT DROP $iptables -P OUTPUT DROP $iptables -P FORWARD DROP } polices_reject () { echo ""; echo "[warn] Aplicando Politica cerrada" $iptables -P INPUT DROP $iptables -P OUTPUT DROP $iptables -P FORWARD DROP } polices_accept () { echo ""; echo "[warn] Aplicando Politica abierta" $iptables -P INPUT ACCEPT $iptables -P OUTPUT ACCEPT $iptables -P FORWARD ACCEPT } open_tcpport (){ echo "Abriendo puerto tcp [ $1 ]" $iptables -I INPUT -p tcp --dport $1 -j ACCEPT $iptables -I INPUT -p tcp --sport $1 -j ACCEPT $iptables -I OUTPUT -p tcp --sport $1 -j ACCEPT $iptables -I OUTPUT -p tcp --dport $1 -j ACCEPT } close_tcpport (){ echo "Cerrando puerto tcp [ $1 ]" $iptables -D INPUT -p tcp --dport $1 -j ACCEPT $iptables -D INPUT -p tcp --sport $1 -j ACCEPT $iptables -D OUTPUT -p tcp --sport $1 -j ACCEPT $iptables -D OUTPUT -p tcp --dport $1 -j ACCEPT } open_udpport (){ echo "Abriendo puerto udp [ $1 ]" $iptables -I INPUT -p udp --dport $1 -j ACCEPT $iptables -I INPUT -p udp --sport $1 -j ACCEPT $iptables -I OUTPUT -p udp --sport $1 -j ACCEPT $iptables -I OUTPUT -p udp --dport $1 -j ACCEPT } close_udpport (){ echo "Cerrando puerto tcp [ $1 ]" $iptables -D INPUT -p udp --dport $1 -j ACCEPT $iptables -D INPUT -p udp --sport $1 -j ACCEPT $iptables -D OUTPUT -p udp --sport $1 -j ACCEPT $iptables -D OUTPUT -p udp --dport $1 -j ACCEPT } do_log () { $iptables -I INPUT -s ! $fw -p tcp --dport $sshp \ --syn -m state --state NEW \ -j LOG --log-level 1 --log-prefix "IPT INTENTO SSH: " } enmascaramiento () { echo "Aplicando Reglas de routeo"; $iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE } forward () { echo "Aplicando Forward" echo 1 > /proc/sys/net/ipv4/ip_forward $iptables -A FORWARD -j ACCEPT } icmp () { case $1 in able) $iptables -I INPUT -p icmp -j ACCEPT $iptables -I OUTPUT -p icmp -j ACCEPT ;; disable) $iptables -D INPUT -p icmp -j ACCEPT $iptables -D OUTPUT -p icmp -j ACCEPT ;; esac } start () { flusher ; polices_reject ; enmascaramiento ; forward ; for port in $open_tcp_ports; do open_tcpport $port ; done; for uport in $open_udp_po
Re: Script iptables con Firewall por defecto a DROP
2008/6/13 Julián Esteban Perconti <[EMAIL PROTECTED]>: > Julián Esteban Perconti escribió: > >> Miguel Da Silva - Centro de Matemática escribió: >> >>> adriancito wrote: >>> Buenas lista. Alguien tendrá algún ejemplo de un script de iptables donde tenga como política por defecto DROP y el mismo tenga varias interfaces (o segmentos)? Muchas Gracias. Saludos. >>> Pero... solo querés eso?! >>> >>> La verdad que el contenido del script puedo variar (y muchísimo) según lo >>> que quieras. >>> >>> Danos un poco más de información. >>> >>> Saludos. >>> >> huy que bueno un poco de tablas a la lista...te puedo pasar esto (el que >> yo uso) >> >> #!/bin/bash >> >> /sbin/modprobe ip_conntrack >> /sbin/modprobe ip_conntrack_ftp >> /sbin/modprobe ip_tables >> /sbin/modprobe iptable_filter >> /sbin/modprobe iptable_mangle >> /sbin/modprobe iptable_nat >> /sbin/modprobe ipt_LOG >> /sbin/modprobe ipt_REJECT >> /sbin/modprobe ipt_MASQUERADE >> >> iptables -t filter -F >> iptables -t filter -X >> iptables -t filter -Z >> iptables -t nat -F >> iptables -t nat -X >> iptables -t nat -Z >> iptables -t filter -P INPUT DROP >> iptables -t filter -P OUTPUT DROP >> iptables -t filter -P FORWARD ACCEPT >> iptables -t nat -P PREROUTING ACCEPT >> iptables -t nat -P OUTPUT ACCEPT >> iptables -t nat -P POSTROUTING ACCEPT >> >> iptables -N bad_tcp_packets >> iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG >> --log-prefix "New not syn:" >> iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP >> iptables -A bad_tcp_packets -i ppp0 -s 192.168.0.0/16 -j DROP >> iptables -A bad_tcp_packets -i ppp0 -s 10.0.0.0/8 -j DROP >> iptables -A bad_tcp_packets -i ppp0 -s 172.16.0.0/12 -j DROP >> >> iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT >> iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j >> ACCEPT >> iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j >> ACCEPT >> iptables -t nat -A PREROUTING -m state --state INVALID -j DROP >> iptables -t nat -A POSTROUTING -m state --state INVALID -j DROP >> iptables -t nat -A OUTPUT -m state --state INVALID -j DROP >> >> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE >> >> echo 1 > /proc/sys/net/ipv4/ip_forward >> echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter >> echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts >> echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route >> echo 0 > /proc/sys/net/ipv4/tcp_timestamps >> echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout >> echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time >> echo 0 > /proc/sys/net/ipv4/tcp_window_scaling >> echo 0 > /proc/sys/net/ipv4/tcp_sack >> >> iptables -N icmp_packets >> iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT >> iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT >> >> >> iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP >> iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP >> iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP >> iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP >> iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP >> iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP >> iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP >> iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP >> iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP >> iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP >> iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP >> iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j DROP >> iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP >> iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP >> >> # INPUT HP # >> >> iptables -A INPUT -p tcp -j bad_tcp_packets >> iptables -t filter -A INPUT -i lo -j ACCEPT >> iptables -t filter -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT #DNS >> iptables -t filter -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT #DNS >> iptables -t filter -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT #DHCP >> iptables -t filter -A INPUT -i eth1 -p udp --dport 445 -j ACCEPT >> #Microsoft-DS SMB file sharing >> iptables -t filter -A INPUT -i eth1 -p tcp --dport 137:139 -j ACCEPT >> #NetBios >> iptables -t filter -A INPUT -i eth1 -p udp --dport 137:139 -j ACCEPT >> #NetBios >> iptables -t filter -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT -s >> 192.168.0.2 #SSH >> iptables -t filter -A INPUT -m limit --limit 3/minute --limit-burst 3 -j >> LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: " >> >> # OUTPUT HP # >> >> iptables -A OUTPUT -p tcp -j bad_tcp_packets >> iptables -t filter -A OUTPUT -o lo -j ACCEPT >> iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT #DNS >> iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT #DNS >> iptables -t filter -A OUTPUT -p udp --sport 67 -j ACCEPT #DHCP >> iptables -t filter -A OUTPUT -p udp --dport 445 -j ACCEPT #Microsoft-DS >> SMB fi
Re: Script iptables con Firewall por defecto a DROP
Julián Esteban Perconti escribió: Miguel Da Silva - Centro de Matemática escribió: adriancito wrote: Buenas lista. Alguien tendrá algún ejemplo de un script de iptables donde tenga como política por defecto DROP y el mismo tenga varias interfaces (o segmentos)? Muchas Gracias. Saludos. Pero... solo querés eso?! La verdad que el contenido del script puedo variar (y muchísimo) según lo que quieras. Danos un poco más de información. Saludos. huy que bueno un poco de tablas a la lista...te puedo pasar esto (el que yo uso) #!/bin/bash /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_tables /sbin/modprobe iptable_filter /sbin/modprobe iptable_mangle /sbin/modprobe iptable_nat /sbin/modprobe ipt_LOG /sbin/modprobe ipt_REJECT /sbin/modprobe ipt_MASQUERADE iptables -t filter -F iptables -t filter -X iptables -t filter -Z iptables -t nat -F iptables -t nat -X iptables -t nat -Z iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP iptables -t filter -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -N bad_tcp_packets iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:" iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP iptables -A bad_tcp_packets -i ppp0 -s 192.168.0.0/16 -j DROP iptables -A bad_tcp_packets -i ppp0 -s 10.0.0.0/8 -j DROP iptables -A bad_tcp_packets -i ppp0 -s 172.16.0.0/12 -j DROP iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A PREROUTING -m state --state INVALID -j DROP iptables -t nat -A POSTROUTING -m state --state INVALID -j DROP iptables -t nat -A OUTPUT -m state --state INVALID -j DROP iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route echo 0 > /proc/sys/net/ipv4/tcp_timestamps echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout echo 2400 > /proc/sys/net/ipv4/tcp_keepalive_time echo 0 > /proc/sys/net/ipv4/tcp_window_scaling echo 0 > /proc/sys/net/ipv4/tcp_sack iptables -N icmp_packets iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP iptables -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP iptables -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP iptables -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP iptables -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP iptables -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j DROP iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP iptables -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP # INPUT HP # iptables -A INPUT -p tcp -j bad_tcp_packets iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A INPUT -i eth1 -p tcp --dport 53 -j ACCEPT #DNS iptables -t filter -A INPUT -i eth1 -p udp --dport 53 -j ACCEPT #DNS iptables -t filter -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT #DHCP iptables -t filter -A INPUT -i eth1 -p udp --dport 445 -j ACCEPT #Microsoft-DS SMB file sharing iptables -t filter -A INPUT -i eth1 -p tcp --dport 137:139 -j ACCEPT #NetBios iptables -t filter -A INPUT -i eth1 -p udp --dport 137:139 -j ACCEPT #NetBios iptables -t filter -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT -s 192.168.0.2 #SSH iptables -t filter -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: " # OUTPUT HP # iptables -A OUTPUT -p tcp -j bad_tcp_packets iptables -t filter -A OUTPUT -o lo -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT #DNS iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT #DNS iptables -t filter -A OUTPUT -p udp --sport 67 -j ACCEPT #DHCP iptables -t filter -A OUTPUT -p udp --dport 445 -j ACCEPT #Microsoft-DS SMB file sharing iptables -t filter -A OUTPUT -p tcp --dport 137:139 -j ACCEPT #NetBios iptables -t filter -A OUTPUT -p udp --dport 137:139 -j ACCEPT #NetBios iptables -t filter -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: " # FORWARD LAN # iptables -t filter -A FORWARD -i eth1 -p tcp --dport 20 -j ACCEPT #ftp-control iptables -t filter -A FORWARD -i eth1 -
Re: Script iptables con Firewall por defecto a DROP
Me remito a lo que te han comentado los demás listero, un scripts para iptables es algo muy especifico atendiendo a las necesidades y arquitectura de tu sistema. Aunque aquí te dejo un ejemplo de lo que solicitas http://vpsinfo.nixhost.net/firewall.vps son una serie de scripts para VPS pero creo que este en particular te valdrá, hay algún que otro ejemplo más en: http://vpsinfo.nixhost.net/firewall.htm SALUDOS On Thu, Jun 12, 2008 at 10:40 PM, adriancito <[EMAIL PROTECTED]> wrote: > Buenas lista. > > Alguien tendrá algún ejemplo de un script de iptables donde tenga como > política por defecto DROP y el mismo tenga varias interfaces (o segmentos)? > > Muchas Gracias. > > Saludos. > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] > > -- | | David Barragán Merino | E-mail: [EMAIL PROTECTED]@gmail.com | Ingeniería Informática | Universidad Carlos III Madrid |
Re: Script iptables con Firewall por defecto a DROP
2008/6/12 adriancito <[EMAIL PROTECTED]>: > Buenas lista. > > Alguien tendrá algún ejemplo de un script de iptables donde tenga como > política por defecto DROP y el mismo tenga varias interfaces (o segmentos)? > > Muchas Gracias. > > Saludos. > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] > > Por la forma que haces la pregunta se entiende que no eres muy ducho en el tema, igual que yo, y lo que quieres es protegerte de expertos, eso es peligroso. Yo te recomendaría que probaras con shorewall, al final, con pocas reglas el se encarga de generar el script de iptables que indicas, lo importante es que te centras en las reglas con las que quieres operar y el script sale solo. Algo como programar en un lenguaje de alto nivel y que el compilador se encargue de generar el pseudo código o el código máquina. Si al final quieres hacer el trabajo del compilador puedes generar el primer script con shorewall al consultar las reglas sobre el iptables Suerte!! Manuel Soto
Re: Script iptables con Firewall por defecto a DROP
El Thu, 12 Jun 2008 17:40:14 -0300 adriancito <[EMAIL PROTECTED]> escribió: > Buenas lista. > > Alguien tendrá algún ejemplo de un script de iptables donde tenga > como política por defecto DROP y el mismo tenga varias interfaces (o > segmentos)? > > Muchas Gracias. > > Saludos. > > La configuración de un cortafuegos no es algo que valga para cualquier otro sistema. Ejemplo: si ofreces servicios SMTP (correo-e) al mundo mundial deberás tener el puerto 25 desbloqueado, en caso contrario mejor lo bloqueas. Lo primero que tienes que tener claro es qué servicios vas a prestar o necesitar, lo segundo es saber qué puertos están involucrados en qué interfaces, tal vez como se suceden las conexiones (digno de tenerse en cuenta en el protocolo FTP) y, por último, conocer cómo traducir todo esto al lenguaje de iptables. Por la escasa información de tu correo no sé en qué estado te encuentras. ¿Podrías ser más explícito? Saludos -- Manolo Díaz -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: Script iptables con Firewall por defecto a DROP
adriancito wrote: Buenas lista. Alguien tendrá algún ejemplo de un script de iptables donde tenga como política por defecto DROP y el mismo tenga varias interfaces (o segmentos)? Muchas Gracias. Saludos. Pero... solo querés eso?! La verdad que el contenido del script puedo variar (y muchísimo) según lo que quieras. Danos un poco más de información. Saludos. -- Miguel Da Silva Administrador de Sistemas Centro de Matemática - http://www.cmat.edu.uy Facultad de Ciencias - http://www.fcien.edu.uy Universidad de la República - http://www.rau.edu.uy -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]