Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 21st, 2012  |  syntax: None  |  size: 2.37 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/bin/sh -norc
  2.  
  3. ####SCRIPT D'INITIALISATION DU FIREWALL####
  4.  
  5. ####ALIAS PROPRES AU SCRIPT####
  6.  
  7. FTP_SRV_PORT=21;
  8. SSH_PORT=22;
  9. HTTP_PORT=80;
  10.  
  11. echo "==========INITIALISATION FIREWALL=========="
  12. ####TABLES####
  13.  
  14. # TABLE SECURITE (TOUT LE TRAFIC EST BLOQUE #
  15.  
  16. echo "  + Initialisation de la table de sécurité "
  17.  
  18. iptables -t filter -F
  19. iptables -t filter -X
  20. iptables -t filter -P INPUT   DROP
  21. iptables -t filter -P FORWARD DROP
  22. iptables -t filter -P OUTPUT  DROP
  23.  
  24. ####REGLES DE FILTRAGE####
  25.  
  26. # Autorise l'interface loopback à dialoguer avec elle-meme #
  27. echo "  + Règles concernant le localhost "
  28. iptables -t filter -A OUTPUT -o lo -p all -j ACCEPT
  29. iptables -t filter -A INPUT  -i lo -p all -j ACCEPT
  30.  
  31. # Autorise l'acces au serveur FTP local depuis internet
  32.  
  33. echo "  + Port FTP ouvert "
  34. iptables -A INPUT  -i $1 -d $2 -p tcp --dport $FTP_SRV_PORT -m state ! --state  INVALID -j ACCEPT
  35. iptables -A OUTPUT -o $1 -s $2 -p tcp --sport $FTP_SRV_PORT -m state --state ESTABLISHED,RELATED -j ACCEPT
  36.  
  37. # Autorise l'accès au serveur SSH local depuis internet
  38.  
  39. echo "  + Port SSH ouvert"
  40. iptables -A INPUT  -i $1 -d $2 -p tcp --dport $SSH_PORT -m state ! --state  INVALID -j ACCEPT
  41. iptables -A OUTPUT -o $1 -s $2 -p tcp --sport $SSH_PORT -m state --state ESTABLISHED,RELATED -j ACCEPT
  42.  
  43. # Autorise l'accès au serveur APACHE depuis internet
  44.  
  45. echo "  + Port HTTP ouvert"
  46. iptables -A INPUT  -i $1 -d $2 -p tcp --dport $HTTP_PORT -m state ! --state  INVALID -j ACCEPT
  47. iptables -A OUTPUT -o $1 -s $2 -p tcp --sport $HTTP_PORT -m state --state ESTABLISHED,RELATED -j ACCEPT
  48.  
  49. ####TRAFIC INTERNET####
  50.  
  51. # Règles pour internet
  52.  
  53. echo "  + Chargement des modules nécessaires au suivi de connexion "
  54.  
  55. modprobe ip_conntrack
  56. modprobe ip_conntrack_ftp
  57. modprobe ip_conntrack_irc
  58.  
  59. echo "  + Regles pour Internet ALL IP/ ALL PORT"
  60. iptables -A OUTPUT -o $1 -s $2 -d 0.0.0.0 -p all -m state ! --state INVALID -j ACCEPT
  61.  
  62. iptables -A INPUT  -i $1 -s 0.0.0.0 -d $2 -p all -m state ! --state RELATED,ESTABLISHED -j ACCEPT
  63.  
  64. ####LOGS####
  65.  
  66. # Log des paquets rejetés dans /var/log/messages
  67. echo "  + Regles log des paquets rejetes ([IN/FO/OU_PKTS_DROP]==>)"
  68. iptables -A INPUT -j LOG --log-prefix="[IN_PKTS_DROP]==> "
  69. iptables -A FORWARD -j LOG --log-prefix="[FO_PKTS_DROP]==> "
  70. iptables -A OUTPUT -j LOG --log-prefix="[OU_PKTS_DROP]==> "
  71.  
  72. echo "==========FIREWALL INITIALISE=============="