Re: Script iptables con Firewall por defecto a DROP

2008-06-17 Por tema IPv7
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_ports;
do
open_udpport $uport ;
done;
#do_log ;
}

Re: Script iptables con Firewall por defecto a DROP

2008-06-13 Por tema Abraham Pérez
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 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 

Script iptables con Firewall por defecto a DROP

2008-06-12 Por tema adriancito

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]



Re: Script iptables con Firewall por defecto a DROP

2008-06-12 Por tema Miguel Da Silva - Centro de Matemática

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]



Re: Script iptables con Firewall por defecto a DROP

2008-06-12 Por tema Manolo Díaz
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

2008-06-12 Por tema Manuel Soto
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

2008-06-12 Por tema bameda
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-06-12 Por tema Julián Esteban Perconti

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 -p tcp --dport