IPTables script gestione regole firewall

firewall
 
Un ottimo firewall in Ubuntu Linux Server é IPTABLES . Di seguito una procedura per rendere le regole del vostro firewall disponibili ad ogni avvio del server.
 

 
Progetto in Github https://github.com/garanet/iptables_script.git
 
Create il file di avvio in /etc/init.d/ e nominatelo firewall.sh .

~:$ sudo vi /etc/init.d/firewall.sh

Incollate il seguente codice, salvate il file ed uscite .


#!/bin/bash
# www.garanet.net
RETVAL=0

# To start the firewall
start() {
  echo -n "IPTables rules creation: "
  /usr/local/bin/iptables.sh
  RETVAL=0
}

# To stop the firewall
stop() {
  echo -n "Removing all iptables rules: "
  /sbin/iptables -F
  RETVAL=0
}

case $1 in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    /sbin/iptables -L
    /sbin/iptables -t nat -L
    RETVAL=0
    ;;
  *)
    echo "Usage: firewall {start|stop|restart|status}"
    RETVAL=1
esac

exit

Assegnate i privilegi di esecuzione al file appena creato:

:$ sudo chmod a+x /etc/init.d/firewall.sh

 
Adesso potete creare il file delle regole di iptables

sudo vi /usr/local/bin/iptables.sh

Incollate il seguente codice, personalizzate le regole come a voi interessano, salvate il file ed uscite .
Cambia ‘XXX.XXX.XXX.XXX’ con l’ip esterno autorizzato ad accedere ai servizi del vostro server .


#!/bin/bash
# www.garanet.net
# No spoofing
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $filtre
done
fi

# No icmp
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#load some modules you may need
modprobe ip_tables
modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp

# Remove all rules and chains
iptables -F
iptables -X

# ALLOW NAGIOS
sudo iptables -A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 5666 -j ACCEPT
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 5666 -j ACCEPT
# ALLOW FTP FILTERED
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 21 -j ACCEPT
# ALLOW SSH FILTERED
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 22 -j ACCEPT
# ALLOW MYSQL FILTERED
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 3306 -j ACCEPT
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX/32 -p tcp -m tcp --dport 3306 -j ACCEPT
# ALLOW TOMCAT LOCALHOST
sudo iptables -A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 8009 -j ACCEPT
sudo iptables -A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 8080 -j ACCEPT
# ALLOW PING ICMP FILTERED
sudo iptables -A INPUT -s XXX.XXX.XXX.XXX -p icmp --icmp-type echo-request -j ACCEPT
# ALLOW HTTP AND HTTPS FROM ALL
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# REJECT THE REST
sudo iptables -A INPUT -p tcp -m tcp --dport 5666 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p tcp -m tcp --dport 21 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p tcp -m tcp --dport 3306 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p tcp -m tcp --dport 8080 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p tcp -m tcp --dport 8009 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j REJECT --reject-with icmp-port-unreachable
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
sudo iptables -A INPUT -p tcp -m tcp --dport 111 -j REJECT
echo " [End iptables rules setting]"
# END SCRIPT

Assegnate i privilegi di esecuzione al file appena creato:

~:$ sudo chmod a+x /usr/local/bin/iptables.sh

Per abilitare le regole ad ogni avvio del server, eseguite il seguente comando:

~:$ sudo update-rc.d /etc/init.d/firewall.sh defaults

 




IPTables script gestione regole firewall ultima modifica: 2015-12-06T14:54:59+00:00 da Gabriele Gatto