DTool Este script instala de forma automática y segura todas las reglas de iptables y modificaciones del kernel que se encuentran en este repositorio al instante. Descargar v1.0
Algunas reglas pueden interferir con el funcionamiento de las herramientas y sugerencias de este repositorio. Asegúrese de tener un método de emergencia para deshabilitar el Firewall o revertir los cambios realizados con este repositorio en caso de que pierda el acceso al servidor.
-
- Retirar solicitudes ICMP ECHO
- No aceptar la redirección ICMP
- Descartar paquetes enrutados de origen
- Habilitar SYN-Cookie (para evitar SYN Flood)
- Aumentar la acumulación de TCP SYN (para evitar la inanición de TCP)
- Decrementar los intentos TCP SYN-ACK(para evitar la inanición de TCP)
- Habilitar proteccion IP Spoofing
- Desabilitar paquetes de trazado SYN
Para prevenir ataques pequeños.
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
Para prevenir ataques pequeños.
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
Para prevenir SYN Flood y la iniciacion TCP .
sysctl -w net/ipv4/tcp_syncookies=1
sysctl -w net/ipv4/tcp_timestamps=1
Para prevenir la iniciacion de TCP.
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
Para prevenir la iniciacion de TCP.
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
Para prevenir IP Spoof.
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
Para evitar que el sistema utilice recursos para rastrear paquetes SYN.
sysctl -w net/netfilter/nf_conntrack_tcp_loose=0
iptables -A INPUT -m state --state INVALID -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,ACK FIN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,URG URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
Para prevenir ataques pequeños
iptables -t mangle -A PREROUTING -p icmp -j DROP
iptables -t mangle -A PREROUTING -f -j DROP
iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --tcp-flags RST RST -m limit --limit 2/s --limit-burst 2 -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
iptables -t raw -A PREROUTING -p tcp -m tcp --syn -j CT --notrack
iptables -A INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set
iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
iptables -N port-scanning
iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN
iptables -A port-scanning -j DROP