All pastes #2051651 Raw Edit

Stuff

public text v1 · immutable
#2051651 ·published 2011-04-28 18:04 UTC
rendered paste body
#!/bin/bash

####################
#### IP Disponible ####
####################

	# IP Principale
	eth0="ip_publique_1"

	# IP FailOver
	eth1="ip_publique_2"

	# IP GB POUR VPN
	eth2="ip_publique_3"

###############################
#### Vider les tables existantes ####
###############################

	# Vider tables actuelles
	/sbin/iptables -t filter -F

	# Vider les règles personnelles
	/sbin/iptables -t filter -X

	# Vider les règles de nattage
	/sbin/iptables -t nat -X
	/sbin/iptables -t nat -F
	/sbin/iptables -t mangle -X
	/sbin/iptables -t mangle -F

	# Ne pas casser les connexions etablies
	/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

##########################################
#### Protection contre les attaques spoofing ####
##########################################

        /sbin/iptables -I INPUT -i eth0 -s 127.0.0.0/8 -j DROP

#############################################################
#### Mangle (pour rendre un peu plus difficile la detection des ports) ####
#############################################################

        /sbin/iptables -t mangle -P PREROUTING ACCEPT
        /sbin/iptables -t mangle -P INPUT ACCEPT
        /sbin/iptables -t mangle -P FORWARD ACCEPT
        /sbin/iptables -t mangle -P OUTPUT ACCEPT
        /sbin/iptables -t mangle -P POSTROUTING ACCEPT
        /sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
        /sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
        /sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
        /sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP

##############
#### LOGS ####
##############

	# On log ce qui est refuse
        /sbin/iptables -t filter -N LOG_DROP
        /sbin/iptables -t filter -A LOG_DROP -j LOG --log-prefix "[IPTABLES DROP] : " --log-tcp-options --log-ip-options --log-level warning
        /sbin/iptables -t filter -A LOG_DROP -j DROP
	/sbin/iptables -A INPUT -j LOG --log-level 4

#########################################
#### Obligatoire pour autoriser les services ####
#########################################

	# Autoriser loopback
	/sbin/iptables -t filter -A INPUT -i lo -j ACCEPT
	/sbin/iptables -t filter -A OUTPUT -o lo -j ACCEPT

	# IP ETH0 POUR TOUT LE RESTE
	/sbin/iptables -t nat -A POSTROUTING -j SNAT --to $eth0

####################################
#### FireWall de base : on bloque tout ####
####################################

	# Interdire toutes connexions entrantes et accepter toutes connexions sortantes
	/sbin/iptables -t filter -P INPUT DROP
	/sbin/iptables -t filter -P FORWARD ACCEPT
	/sbin/iptables -t filter -P OUTPUT ACCEPT

##############################
#### On autorise tout en sortie ####
##############################

	# Autoriser tout en sortie
	/sbin/iptables -t filter -A OUTPUT -o eth0 -j ACCEPT
	/sbin/iptables -t filter -A OUTPUT -o tun0 -j ACCEPT

	/sbin/iptables -t filter -A FORWARD -o vmbr0 -j ACCEPT
	/sbin/iptables -t filter -A OUTPUT -o vmbr0 -j ACCEPT

	# ICMP (Ping)
	/sbin/iptables -t filter -A INPUT -p icmp -j ACCEPT
	/sbin/iptables -t filter -A OUTPUT -p icmp -j ACCEPT

##########################
#### Ouverture des ports ####
##########################

	# Acces au serveur Web Proxmox + VNC pour KVM
	/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
	/sbin/iptables -A INPUT -p tcp --dport 5900 -j ACCEPT
	/sbin/iptables -A INPUT -p tcp --dport 5901 -j ACCEPT

	# Connexion SSH au serveur physique
	/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

	# Pour ping dns
	/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

	# Pour OPENVPN
	/sbin/iptables -A INPUT -p tcp --dport 1194 -j ACCEPT
	/sbin/iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
	/sbin/iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT

	# Pour avoir la bonne IP avec le VPN
	/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE 

#######################
#### Nattage de ports ####
#######################

	# POUR L'APACHE PROXY
	/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
	/sbin/iptables -t nat -A PREROUTING -i vmbr0 -d $eth2 -p tcp --dport 80 -j DNAT  --to  192.168.10.70:80