hola!

El 26/11/16 a las 14:20, R Calleja escribió:
Lo mejor es iptables, sirve para todas las distribuciones linux y es
muy configurable, mucho mejor que los graficos.

Abajo un scrip de firewall para un servidor, con algunas
modificaciones puede servir:


#!/bin/bash

# Dirección IP del servidor
IP="192.168.145.32"

# Vaciar todas las cadenas y contadores
iptables -F
iptables -X
iptables -Z

# Activar diferentes protecciones a nivel kernel
#
# Ignorar broadcasts icmp
echo -n '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Deshabilitar Source Routing
echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_source_route
# Deshabilitar ICMP redirects
echo -n '0' > /proc/sys/net/ipv4/conf/all/accept_redirects
# Proteger contra "bad error messages"
echo -n '1' > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Deshabilitar ip forwarding
echo -n '0' > /proc/sys/net/ipv4/ip_forward
# Loguear sospechosos, "source routed" y redirects
echo -n '1' >/proc/sys/net/ipv4/conf/all/log_martians

# Por defecto, bloquear todo en las cadenas INPUT y FORWARD
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Permitir todo el tráfico saliente
iptables -P OUTPUT ACCEPT

# Bloquear conexiones TCP nuevas que no comiencen con SYN
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -m limit
--limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "TCP
RST,ACK,FIN"
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP

# Bloquear fragmentos entrantes
iptables -A INPUT -i eth0 -f -m limit --limit 5/m --limit-burst 7 -j
LOG --log-level 4 --log-prefix "Fragment Packets"
iptables -A INPUT -i eth0 -f -j DROP

# Bloquear paquetes malformados
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# Bloquear NULL packets
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -m limit --limit
5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "NULL Packets"
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL NONE -j DROP

# Bloquear paquetes "Christmas tree" malformados
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit
--limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "XMAS
Packets"
iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# Bloquear ataques Fin Scan
iptables -A INPUT -i eth0 -p tcp --tcp-flags FIN,ACK FIN -m limit
--limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fin
Packets Scan"
iptables -A INPUT -i eth0 -p tcp --tcp-flags FIN,ACK FIN -j DROP

# Validar flags TCP
iptables -A INPUT -i eth0 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG
-j DROP

# Bloquear paquetes inválidos
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

# Permitir todo en la interfaz loopback
iptables -A INPUT -i lo -j ACCEPT

# Permitir paquetes de conexiones establecidas
iptables -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT

# Permitir ping
iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j
ACCEPT

# Permitir conexiones hacia el puerto 22 (SSH)
iptables -A INPUT -p tcp -d $IP --sport 1024:65535 --dport 22 -m state
--state NEW -j ACCEPT

# Permitir conexiones hacia el puerto 80 y 443 (HTTP y HTTPS)
iptables -A INPUT -p tcp -d $IP --sport 1024:65535 --dport 80 -m state
--state NEW -j ACCEPT
iptables -A INPUT -p tcp -d $IP --sport 1024:65535 --dport 443 -m
state --state NEW -j ACCEPT

# Loguear y rechazar el resto
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG
iptables -A INPUT -j DROP

Copias el scrip y lo ejecutas, Tambien necesitas instalar
netfilter-persistent para que se guarde al reiniciar.
Salu2

Super interesante!! ya lo copio y lo guardo -el asuntillo es que no
entiendo un pomo! jaja.-.
 ..Puedo estudiarlo de a poco, si señor! faltan unos meses para el
server...

Muchas Gracias!


El 26 de noviembre de 2016, 14:35, divagante
<libreydivaga...@gmail.com <mailto:libreydivaga...@gmail.com>> escribió:

    Hola gente!

     Bueno, por conveniencia para quien quiera ayudarme con algun dato
    dire que soy un usuario de debian de 7 años de antiguedad, pero
    que aun no encontre el tiempo o las ganas de conocer profundamente
    la administracion de sistemas unix o redes...
     No hago scrips ni entiendo sobre redes mas alla de configurar con
    alguna guia de ayuda /etc/network/interfaces. Algo que hace rato
    ni hago debido a los gestores como wicd o gnome.

     Si bien no descarto en un futuro leer y meterme con iptables,
    quisiera empezar al montar un futuro servidor de radio streaming,
    con un firewall intuitivo, facil de manejar y con interfaz grafica.

     Nota: recuerdo que hace ya algunos años usando windows y el
    antivirus kaspersky instale el firewall de este ultimo, y la
    verdad me resulto super intuitivo y manejable. Se veian claramente
    las peticiones de algun programa freeware hacia internet y como
    este las denegaba si uno con algunos clicks lo determinaba asi.

     Muchas gracias por su ayuda.



Responder a