Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh -e
- ### BEGIN INIT INFO
- # Provides: firewall-start
- # Required-Start: $network $remote_fs $syslog
- # Required-Stop: $network $remote_fs $syslog
- # Should-Start: network-manager
- # Should-Stop: network-manager
- # X-Start-Before: $x-display-manager gdm kdm xdm wdm ldm sdm nodm
- # X-Interactive: true
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Firewall service by Olivier
- # Description: This script will start the firewall rules
- ### END INIT INFO
- ################################################################################
- # Version d'Olivier du 17/04/2015
- ################################################################################
- echo -n "Starting firewall.... "
- ################################################################################
- # Settings
- ################################################################################
- PATH=/sbin:/bin:/usr/sbin:/usr/bin
- ################################################################################
- # Ou trouver iptables
- IPTABLES="/sbin/iptables"
- ################################################################################
- # 2. Module loading.
- ################################################################################
- /sbin/depmod -a
- /sbin/modprobe ip_tables
- /sbin/modprobe ip_conntrack
- /sbin/modprobe iptable_filter
- /sbin/modprobe iptable_mangle
- /sbin/modprobe iptable_nat
- /sbin/modprobe ipt_LOG
- /sbin/modprobe ipt_limit
- /sbin/modprobe ipt_state
- ################################################################################
- # 3. /proc set up.
- ################################################################################
- echo "0" > /proc/sys/net/ipv4/ip_forward
- echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
- ################################################################################
- ################################################################################
- ################################################################################
- ################################################################################
- #
- # on remet tout à zéro
- #iptables -F
- #iptables -X
- #iptables -t nat -F
- #iptables -t nat -X
- #iptables -t mangle -F
- #iptables -t mangle -X
- #iptables -P INPUT ACCEPT
- #iptables -P FORWARD ACCEPT
- #iptables -P OUTPUT ACCEPT
- $IPTABLES --flush
- $IPTABLES --delete-chain
- $IPTABLES --table nat --flush
- ########################################################################
- # Politique par defaut
- $IPTABLES -P INPUT ACCEPT
- $IPTABLES -P OUTPUT ACCEPT
- $IPTABLES -P FORWARD ACCEPT
- ##
- ########################################################################
- ################################################################################
- ################################################################################
- # On attaque
- ################################################################################
- ################################################################################
- #
- # On journalise tous les premiers paquets
- #
- $IPTABLES -A FORWARD -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWF: "
- $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
- $IPTABLES -A INPUT -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWI: "
- $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- $IPTABLES -A OUTPUT -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWO: "
- $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- ################################################################################
- #Vos règles ici
- ################################################################################
- $IPTABLES -t nat -A PREROUTING -s 10.10.10.43 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:80
- $IPTABLES -A FORWARD -i ens160 -p tcp --dport 80 -j ACCEPT
- $IPTABLES -t nat -A PREROUTING -s 10.10.0.0/16 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.2:80
- $IPTABLES -A INPUT -p tcp --dport 22 -j DROP
- $IPTABLES-A INPUT -s 192.168.0.2 -p tcp --dport 24 -j ACCEPT
- $IPTABLES -A INPUT -p tcp --dport 24 -j DROP
- $IPTABLES -A INPUT -m state --state NEW -j LOG --log-prefix “NEW CONNECTION INPUT”
- $IPTABLES -A FORWARD -m state --state NEW -j LOG --log-prefix “NEW CONNECTION FORWARD”
- $IPTABLES -A INPUT -p icmp -j ACCEPT
- $IPTABLES -A FORWARD -p icmp -j ACCEPT
- $IPTABLES -A INPUT -p udp --sport 53 -j ACCEPT
- $IPTABLES -A OUTPUT -p udp --sport 53 -j ACCEPT
- $IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
- $IPTABLES -A OUTPUT-p udp --dport 53 -j ACCEPT
- $IPTABLES -A FORWARD -p udp --sport 53 -j ACCEPT
- $IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT
- $IPTABLES -A INPUT -i ens160 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
- $IPTABLES -A OUTPUT -o ens160 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- $IPTABLES -A FORWARD -i ens160 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
- $IPTABLES -A FORWARD -o ens160 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- $IPTABLES -A INPUT -j DROP
- $IPTABLES -A FORWARD -j DROP
- $IPTABLES -N LOG_DROP
- $IPTABLES -A LOG_DROP -j LOG --log-prefix “LOG_REFUSED”
- $IPTABLES -A INPUT -i ens160 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
- $IPTABLES -A OUTPUT -o ens160 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- $IPTABLES -A LOG_DROP -j DROP
- ################################################################################
- #Fin de vos règles
- ################################################################################
- echo "1" > /proc/sys/net/ipv4/ip_forward
- echo "... Firewall started."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement