Bonsoir ,
voilà mon seul script linux (si vous voyez des erreurs , n 'hésitez pas ) :
#!/bin/sh
# Active la protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
# Active la protection sur les mauvais messages d'erreur
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Protection contre le broadcast echo
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Active la protection TCP SYN Cookie
#echo 1 > /proc/sys/net/ipv4/tcp_syncookie
# Protection contre les IP Spoofing : ip non-routables
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f; done
for f in /proc/sys/net/ipv4/conf/*/arp_filter; do echo 1 > $f; done
# Protection ICMP redirect
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
# Desactivation Source Routed
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Surveillance de la taille de la fenetre TCP
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
# Lutte contre le denis de service (DoS)
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 0 > /proc/sys/net/ipv4/ip_dynaddr
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/tcp_dsack
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
# Supprimer les regles precedentes (linux + perso)
#ip6tables -F
#ip6tables -X
#ip6tables -Z
iptables -F
iptables -X
iptables -Z
# Remise a zero des regles de filtrage
#ip6tables -F INPUT
#ip6tables -F FORWARD
#ip6tables -F OUTPUT
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
# Supprimer les redirections de ports
iptables -t nat -F
iptables -t nat -X
# Supprimer les regles de modification de paquets (mangle)
#ip6tables -t mangle -F
#ip6tables -t mangle -X
iptables -t mangle -F
iptables -t mangle -X
# Supprimer les filters
#ip6tables -t filter -F
#ip6tables -t filter -X
iptables -t filter -F
iptables -t filter -X
# first set the default behaviour => drop connections
#ip6tables -P INPUT DROP
#ip6tables -P OUTPUT DROP
#ip6tables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# optimisation
iptables -t mangle -A PREROUTING -p udp --sport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A PREROUTING -p udp --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A PREROUTING -p tcp --sport 80 -j TOS --set-tos Maximize-Throughput
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TOS --set-tos Maximize-Throughput
iptables -A INPUT -m pkttype ! --pkt-type unicast -j DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A INPUT -f -j DROP
iptables -A FORWARD -f -j DROP
iptables -A OUTPUT -f -j DROP
iptables -A INPUT -p ipv6 -j DROP
iptables -A FORWARD -p ipv6 -j DROP
iptables -A OUTPUT -p ipv6 -j DROP
iptables -A INPUT -p icmp --icmp-type 0 -j DROP
iptables -A FORWARD -p icmp --icmp-type 0 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP
iptables -A INPUT -p icmp --icmp-type 5 -j DROP
iptables -A FORWARD -p icmp --icmp-type 5 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 5 -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A FORWARD -p icmp --icmp-type 8 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -p icmp --icmp-type 9 -j DROP
iptables -A FORWARD -p icmp --icmp-type 9 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 9 -j DROP
iptables -A INPUT -p icmp --icmp-type 10 -j DROP
iptables -A FORWARD -p icmp --icmp-type 10 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 10 -j DROP
iptables -A INPUT -p icmp --icmp-type 17 -j DROP
iptables -A FORWARD -p icmp --icmp-type 17 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 17 -j DROP
iptables -A INPUT -p icmp --icmp-type 18 -j DROP
iptables -A FORWARD -p icmp --icmp-type 18 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 18 -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-option 64 -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-option 128 -j DROP
iptables -A INPUT -p tcp -m string --string "*!*QWTY? ." --algo bm -j DROP
iptables -A OUTPUT -p tcp -m string --string "*!*QWTY? ." --algo bm -j DROP
iptables -A OUTPUT -p tcp -m tcp --tcp-option 64 -j DROP
iptables -A OUTPUT -p tcp -m tcp --tcp-option 128 -j DROP
iptables -A INPUT -p tcp --syn -j DROP
iptables -A FORWARD -p tcp --syn -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p udp -m string --string "*!*QWTY? ." --algo bm -j DROP
iptables -A OUTPUT -p udp -m string --string "*!*QWTY? ." --algo bm -j DROP
iptables -A INPUT -s 0.0.0.0/8 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -s 127.0.0.0/8 -j DROP
iptables -A INPUT -s 169.254.0.0/16 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 192.0.0.0/24 -j DROP
iptables -A INPUT -s 192.0.2.0/24 -j DROP
#iptables -A INPUT -s 192.168.0.0/16 -j DROP
iptables -A INPUT -s 198.18.0.0/15 -j DROP
iptables -A INPUT -s 198.51.100.0/24 -j DROP
iptables -A INPUT -s 203.0.113.0/24 -j DROP
iptables -A INPUT -s 224.0.0.0/4 -j DROP
iptables -A INPUT -s 240.0.0.0/4 -j DROP
iptables -A INPUT -s 255.255.255.255 -j DROP
iptables -A INPUT -d 0.0.0.0/8 -j DROP
iptables -A INPUT -d 10.0.0.0/8 -j DROP
iptables -A INPUT -d 127.0.0.0/8 -j DROP
iptables -A INPUT -d 169.254.0.0/16 -j DROP
iptables -A INPUT -d 172.16.0.0/12 -j DROP
iptables -A INPUT -d 192.0.0.0/24 -j DROP
iptables -A INPUT -d 192.0.2.0/24 -j DROP
#iptables -A INPUT -d 192.168.0.0/16 -j DROP
iptables -A INPUT -d 198.18.0.0/15 -j DROP
iptables -A INPUT -d 198.51.100.0/24 -j DROP
iptables -A INPUT -d 203.0.113.0/24 -j DROP
iptables -A INPUT -d 224.0.0.0/4 -j DROP
iptables -A INPUT -d 240.0.0.0/4 -j DROP
iptables -A INPUT -d 255.255.255.255 -j DROP
# Allow loopback access
iptables -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# Allow dns access
iptables -A INPUT -i eth0 -p udp -s 192.168.1.1 --sport 53 -d 192.168.1.2 --dport 32768:61000 ! -f -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -s 192.168.1.2 --sport 32768:61000 -d 192.168.1.1 --dport 53 ! -f -m state --state NEW,ESTABLISHED -j ACCEPT
# Allow http access
iptables -A INPUT -i eth0 -p tcp -d 192.168.1.2 --dport 32768:61000 --sport 80 ! --syn ! -f -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -s 192.168.1.2 --sport 32768:61000 --dport 80 ! --tcp-flags ALL SYN,ACK,FIN,RST ! -f -m state --state NEW,ESTABLISHED -j ACCEPT
# Drop and log All
#ip6tables -A INPUT -j LOG --log-ip-options
#ip6tables -A FORWARD -j LOG --log-ip-options
#ip6tables -A OUTPUT -j LOG --log-ip-options
#ip6tables -A INPUT -p all -j DROP
#ip6tables -A FORWARD -p all -j DROP
#ip6tables -A OUTPUT -p all -j DROP
iptables -A INPUT -j LOG --log-ip-options
iptables -A FORWARD -j LOG --log-ip-options
iptables -A OUTPUT -j LOG --log-ip-options
iptables -A INPUT -p all -j DROP
iptables -A FORWARD -p all -j DROP
iptables -A OUTPUT -p all -j DROP
################################
echo "done"
exit 1
esac
exit 0;
################################
Voilà .