El lun, 22-04-2002 a las 04:36, warlinx99 escribió:
> Hola Lista...
>     Como estan todos, bueno mi pregunta es la sig..
> yo en casa tengo un pequeña Red de 3 Pcs.. 2 con Win y una con Linux
> bueno mi intencion es compartir el modem, de la Pc que contiene GNU/Linux y 
>  hacer tipo un servisor de internet, algo parecido a lo que hace el WinGate 
> para Windowz.... lo que necesito es que me den un par de pistas de como 
> conseguir
>  informacion al respecto o me den una idea como para empezar, o lo que tengo 
> que
>  hacer y esas cosas...
>  Bue... desde ya gracias por su info...
> 
En casa tengo montada una red similar. El ordenador con el modem a la
red usa linux y windows alternativamente. Bajo linux utilizando
iptables. Leete el Masquerading made simple howto para saber como
configurar el kernel. Por ultimo, utilizo el siguiente script. (uso
sencillo: firewall start|stop|restart).

#firewall con iptables

IPTABLES="/sbin/iptables"

case "$1" in
        stop)
                                echo -n "Desactivando el firewall... "
                                $IPTABLES -F && $IPTABLES -X && $IPTABLES -P 
FORWARD DROP && echo
"DESACTIVADO"
                    ;;
        
        restart|reload)
        $0 stop
        $0 start
        ;;

        start)
        echo -n "Aixecant el firewall... "
        
IPTABLES="/sbin/iptables"
INETIF=ppp0
INETADDR=`ifconfig ppp0|grep "inet addr:"|cut -d":" -f2|cut -d" " -f1`
echo $INETADDR
NETWBCAST=`echo $INETADDR|cut -d"." -f1,2,3`.255
LANIF=eth0
LANADDR=169.254.111.1
LANRANG=169.254.111.0/24
LANBCAST=169.254.111.255

##Ajustos de sysctl controls which affect tcp/ip
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter #IP Spoof attacks
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 0 > /proc/sys/net/ipv4/tcp_timestamps #Kill timestamps, comentat a
bugtrack
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians #Martian=pquet amb
adreca impossible

##Reduce DoS'ing ability by reducing timeouts
echo 30   > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 0    > /proc/sys/net/ipv4/tcp_window_scaling
echo 0    > /proc/sys/net/ipv4/tcp_sack

##Comencem de zero
$IPTABLES -F

#Normes basiques (Nota: el que va a forward no passa per input)
#lo conecta al que vulgui
$IPTABLES -A INPUT -i lo -j ACCEPT 

#Paquets al Broadcast
#Vaig començar a classificar-los, però n'hi havia massa, i al final
#simplement els descarto. Nota: també afecta a pings
$IPTABLES -A INPUT -d 255.255.255.255 -j DROP
$IPTABLES -A INPUT -d $NETWBCAST  -j DROP

#No s'ha de conectar al lo des de fora
$IPTABLES -A INPUT -d 127.0.0.0/8 -j DROP 

#Accepta conexions des de la LAN
$IPTABLES -A INPUT -i $LANIF -s $LANRANG -j ACCEPT

#Rebutja qui es faci passar per LAN sense venir de LANIF
$IPTABLES -A INPUT -i $INETIF -s $LANADDR -j DROP

##ICMP
#ping don't forward pings going inside
$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -o $LANIF -j
REJECT

#ping flood protection
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s
-j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP

#Allow all other icmp (not BCAST)
$IPTABLES -A INPUT -p icmp -j ACCEPT

##Permetre conexions ja establertes
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INETIF -m state --state ESTABLISHED,RELATED -j
ACCEPT

#Allow ALL other forwarding going
$IPTABLES -A FORWARD -o $INETIF -i $LANIF -j ACCEPT

#Allow replies coming in
$IPTABLES -A FORWARD -i $INETIF -m state --state ESTABLISHED,RELATED -j
ACCEPT

##Intents de conexio - control de floods
#From here on, we're dealing with connection attempts.
#The -m limit is a DoS protection on connects
#First we allow a certain amount of connections per second
#DROP the rest (so we don't DoS ourself with rejections)
#We don't limit normal packets (!syn) by allowing the rest

#Serveis permesos

#Des de tot arreu
$IPTABLES -A INPUT -p tcp -m multiport --destination-port \
                        ssh,www,https,smtp,auth,3128 -m limit --limit 50/second 
-j ACCEPT 


#X des de casal
#$IPTABLES -A INPUT -p tcp --dport x11-0 -s 147.83.61.17 -j ACCEPT 
#$IPTABLES -A INPUT -p udp --dport x11-0 -s 147.83.61.17 -j ACCEPT 

#Nomes des de la LAN
$IPTABLES -A INPUT -i $LANIF -p tcp -m multiport \
        --destination-port netbios-ns,netbios-dgm,netbios-ssn -j ACCEPT
$IPTABLES -A INPUT -i $LANIF -p udp -m multiport \
        --destination-port netbios-ns,netbios-dgm,netbios-ssn -j ACCEPT

##Scans de troyans
#Fins ara tenia una linea estil
# $IPTABLES -A INPUT -p tcp --dport 12345 -m limit -j LOG --log-prefix
"Netbus scan"  --log-level 1
# $IPTABLES -A INPUT -p tcp --dport 12345 -j DROP 
#Pero passo. Massa scans. A mes, això es feina del snort, no del fw
# Lo mismo pels paquets que no haurien d'arribar (servei tancat) i
arriben
#$IPTABLES -A INPUT -m limit --limit 5/minute -j LOG --log-prefix
"Paquet estrany:"
#$IPTABLES -A FORWARD -m limit --limit 5/minute -j LOG --log-prefix
"Paquet estrany:" #nota 4=Warning

#Traceroutes depend on finding a rejected port.  DROP the ones it uses
$IPTABLES -A INPUT -p udp --dport 33434:33523 -j DROP

##MASQUERADING
#Masquerade internal connections going out.
$IPTABLES -A POSTROUTING -t nat -o $INETIF -j MASQUERADE

#FINALMENT
$IPTABLES -A INPUT -p all -j DROP
$IPTABLES -A FORWARD -p all -j DROP

#Accept it anyway if it's only output
$IPTABLES -A OUTPUT -j ACCEPT

##Finitto!
echo "LEVANTADO!!"
;;
   *)
      echo "Useage: firewall (start|stop|restart)"
      exit 1
esac




Copias en un archivo, le das permisos de ejecucion ( a root) y lo copias
en /usr/sbin/ (bueno estos es lo que hice yo)

Espero que te sea de utilidad. (acuerdate de poner la ip de la maquina
linux como gateway de las maquinas windows o no funcionará). 

Aritz 



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a