> Hola a todos. > > Guia para montar Servidor Wheezy seguro y privado: correo, dokuwiki, > mailman, ftp anonimo y sshd. (incompleta) >
Con respecto al NetFilter (IPTables), se podria empezar con: #!/bin/sh IPTABLES=/sbin/iptables # (1) FLUSH de Reglas,Limpiar reglas anteriores: iptables -F iptables -X iptables -Z iptables -F -t nat iptables -X -t nat iptables -Z -t nat iptables -F -t mangle iptables -X -t mangle iptables -Z -t mangle iptables -F -t filter iptables -X -t filter iptables -Z -t filter # (2) Definir regla/cadena/tabla FILTER: iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP ip6tables -P INPUT DROP ip6tables -P FORWARD DROP ip6tables -P OUTPUT DROP # (3) Aceptar todo para localhost: iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # (4) evitamos ataques syn-flood limitando el acceso de paquetes nuevos # desde internet a solo 4 por segundo y los demas se descartan #iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 4 -j DROP # (5) evitamos paquetes tcp que sean nuevos y que no tengan el flag SYN # es decir, hay ataques o escaneos que llegan como conexiones nuevas # pero sin ser paquetes syn, definitivamente no nos interesan iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # (6) todo lo que sea icmp (ping) y que intente entrar, se descarta # con esto bloqueamos cualquier tipo de paquetes con protocolo icmp # evitando ataques como el del ping de la muerte, aunque esta regla # podria provocar problemas de comunicacion con algunos ISP. iptables -A INPUT -p icmp -j DROP iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEPT # (7) Aceptar ssh -p 22: iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT # (8) Aceptar www -p 80: iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT # (9) Y tambien a webs seguras -p 443: iptables -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -m state --state RELATED,ESTABLISHED -j ACCEPT # (10) Aceptar ftp -p 21 20 21000: iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT #iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT #iptables -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 21000 -m state --state ESTABLISHED -j ACCEPT #(11) Aceptar Mail SMTP -p 25: iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 25 -m state --state NEW,ESTABLISHED -j ACCEPT # (12) Aceptar Mail -p 110 pop3,111 rpcbind,143 imap,993 imaps,995 ssl/po3: iptables -A INPUT -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 110 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 111 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 111 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 143 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 993 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 995 -m state --state NEW,ESTABLISHED -j ACCEPT # (13) Permitimos la consulta a un primer DNS: #iptables -A OUTPUT -d 192.168.1.1 -p udp -m udp --dport 53 -j ACCEPT #iptables -A INPUT -s 192.168.1.1 -p udp -m udp --sport 53 -j ACCEPT # (13a) Permitimos la consulta a un segundo DNS: iptables -A OUTPUT -d 208.67.222.222 -p udp -m udp --dport 53 -j ACCEPT iptables -A INPUT -s 208.67.222.222 -p udp -m udp --sport 53 -j ACCEPT # (14) por ultimo las dos siguientes reglas permiten salir del equipo # (output) conexiones nuevas que nosotros solicitamos, conexiones establecidas # y conexiones relacionadas, y deja entrar (input) solo conexiones establecidas # y relacionadas. iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT # (15) Optativo: Registrar paquetes que van a ser desechados #iptables -A INPUT -j LOG --log-level 2 --log-prefix "ENTRAR::" #iptables -A OUTPUT -j LOG --log-level 2 --log-prefix "SALIR::" # Aceptar paquetes en estado nuevo, excepto en eth0 #iptables -A INPUT -m state --state NEW -i ! wlan0 -j ACCEPT # Reglas de cierre: # iptables -A INPUT -p tcp --dport 1:1024 # iptables -A INPUT -p udp --dport 1:1024 # Cerrar otros puertos abiertos: # iptables -A INPUT -p tcp --dport xxxx -j DROP echo "firewall activado" #echo "Verifique con iptables -L -n" #echo "Slackware /etc/rc.d/rc.firewall start" #echo "Debian /etc/network/if-up.d/firewall start" #echo "/etc/rsyslog.conf kern.warning /var/log/iptables.log" -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/324614378c7937a7a72a33a6e246a126.squir...@mail.vcn.bc.ca