Advertisement
Tlams

Filtrage IPTABLES

Dec 17th, 2013
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.67 KB | None | 0 0
  1. #!/bin/sh
  2. # Script by Tlams, Jose, Anthony
  3. # Date : 11/12/13
  4. # fonction : Filtrage / Firewall IPTABLES
  5. # Note: -t filter -> Optionnel
  6.  
  7. #---------------------
  8. #-- CONFIG INITIALE --
  9. #---------------------
  10.  
  11. # Vider les tables actuelles
  12. iptables -t filter -F
  13.  
  14. # Vider les regles personnelles
  15. iptables -t filter -X
  16.  
  17. # Ne pas casser les connexions etablies !
  18. iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  19. iptables -t filter -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  20.  
  21. #Interdire toute connexion entrante
  22. iptables -t filter -P INPUT DROP
  23. iptables -t filter -P FORWARD DROP
  24. iptables -t filter -P OUTPUT DROP
  25.  
  26. # Table NAT : on accepte
  27. iptables -t nat -P PREROUTING ACCEPT
  28. iptables -t nat -P OUTPUT ACCEPT
  29. iptables -t nat -P POSTROUTING ACCEPT
  30.  
  31. # Active l'ip forwarding
  32. echo 1 > /proc/sys/net/ipv4/ip_forward
  33.  
  34. #---------------------
  35. #-- CONFIG FILTRAGE --
  36. #---------------------
  37.  
  38. # Autoriser loopback
  39. iptables -t filter -A INPUT -i lo -j ACCEPT
  40. iptables -t filter -A OUTPUT -o lo -j ACCEPT
  41.  
  42. # ICMP (Ping) Limite
  43. iptables -I INPUT -p icmp --icmp-type echo-request -m recent --set
  44. iptables -I INPUT -p icmp --icmp-type echo-request -m recent --update --seconds 10 --hitcount 5 -j DROP
  45. iptables -t filter -A FORWARD -p icmp -j ACCEPT
  46. iptables -t filter -A OUTPUT -p icmp -j ACCEPT
  47. iptables -t filter-A INPUT -p icmp -j ACCEPT
  48.  
  49. #WEB limité !
  50. iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --set
  51. iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --name BLACKLIST --update --seconds 10 --hitcount 2 --rttl -j DROP
  52. iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
  53. iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
  54. iptables -t filter -A FORWARD -p tcp --dport 80 -j ACCEPT
  55.  
  56. # SSH // Filtrage IP résaux connu
  57. iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
  58. iptables -t filter -A OUTPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
  59. iptables -t filter -A FORWARD -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
  60.  
  61. # FTP // Filtrage MAC
  62. iptables -t filter -A INPUT -m mac --mac-source 00:0F:EA:91:04:07 -p tcp --dport 21 -j ACCEPT
  63. iptables -t filter -A FORWARD -m mac --mac-source 00:0F:EA:91:04:07 -p tcp --dport 21 -j ACCEPT
  64.  
  65. # FINGER
  66. iptables -t filter -A INPUT -p tcp --dport 79 -j ACCEPT
  67. iptables -t filter -A OUTPUT -p tcp --dport 79 -j ACCEPT
  68. iptables -t filter -A FORWARD -p tcp --dport 79 -j ACCEPT
  69.  
  70. #Log les paquets drop
  71. iptables -N LOGGING
  72. iptables -A INPUT -j LOGGING
  73. iptables -A OUTPUT -j LOGGING
  74. iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
  75. iptables -A LOGGING -j DROP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement