Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. #!/bin/sh -e
  2.  
  3. ### BEGIN INIT INFO
  4. # Provides: firewall-start
  5. # Required-Start: $network $remote_fs $syslog
  6. # Required-Stop: $network $remote_fs $syslog
  7. # Should-Start: network-manager
  8. # Should-Stop: network-manager
  9. # X-Start-Before: $x-display-manager gdm kdm xdm wdm ldm sdm nodm
  10. # X-Interactive: true
  11. # Default-Start: 2 3 4 5
  12. # Default-Stop: 0 1 6
  13. # Short-Description: Firewall service by Olivier
  14. # Description: This script will start the firewall rules
  15. ### END INIT INFO
  16.  
  17.  
  18. ################################################################################
  19. # Version d'Olivier du 17/04/2015
  20. ################################################################################
  21.  
  22.  
  23. echo -n "Starting firewall.... "
  24.  
  25. ################################################################################
  26. # Settings
  27. ################################################################################
  28.  
  29. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  30.  
  31. ################################################################################
  32. # Ou trouver iptables
  33.  
  34. IPTABLES="/sbin/iptables"
  35.  
  36. ################################################################################
  37. # 2. Module loading.
  38. ################################################################################
  39.  
  40. /sbin/depmod -a
  41.  
  42. /sbin/modprobe ip_tables
  43. /sbin/modprobe ip_conntrack
  44. /sbin/modprobe iptable_filter
  45. /sbin/modprobe iptable_mangle
  46. /sbin/modprobe iptable_nat
  47. /sbin/modprobe ipt_LOG
  48. /sbin/modprobe ipt_limit
  49. /sbin/modprobe ipt_state
  50.  
  51.  
  52.  
  53. ################################################################################
  54. # 3. /proc set up.
  55. ################################################################################
  56.  
  57. echo "0" > /proc/sys/net/ipv4/ip_forward
  58. echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
  59.  
  60.  
  61.  
  62. ################################################################################
  63. ################################################################################
  64. ################################################################################
  65. ################################################################################
  66. #
  67. # on remet tout à zéro
  68.  
  69. #iptables -F
  70. #iptables -X
  71. #iptables -t nat -F
  72. #iptables -t nat -X
  73. #iptables -t mangle -F
  74. #iptables -t mangle -X
  75. #iptables -P INPUT ACCEPT
  76. #iptables -P FORWARD ACCEPT
  77. #iptables -P OUTPUT ACCEPT
  78.  
  79. $IPTABLES --flush
  80. $IPTABLES --delete-chain
  81. $IPTABLES --table nat --flush
  82.  
  83.  
  84. ########################################################################
  85. # Politique par defaut
  86. $IPTABLES -P INPUT ACCEPT
  87. $IPTABLES -P OUTPUT ACCEPT
  88. $IPTABLES -P FORWARD ACCEPT
  89. ##
  90. ########################################################################
  91.  
  92. ################################################################################
  93. ################################################################################
  94. # On attaque
  95. ################################################################################
  96. ################################################################################
  97.  
  98. #
  99. # On journalise tous les premiers paquets
  100. #
  101.  
  102. $IPTABLES -A FORWARD -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWF: "
  103. $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  104.  
  105. $IPTABLES -A INPUT -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWI: "
  106. $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  107.  
  108. $IPTABLES -A OUTPUT -m state --state NEW -m limit --limit 1800/minute --limit-burst 3 -j LOG --log-prefix "NEWO: "
  109. $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  110.  
  111. ################################################################################
  112. #Vos règles ici
  113. ################################################################################
  114.  
  115. $IPTABLES -t nat -A PREROUTING -s 10.10.10.43 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:80
  116. $IPTABLES -A FORWARD -i ens160 -p tcp --dport 80 -j ACCEPT
  117. $IPTABLES -t nat -A PREROUTING -s 10.10.0.0/16 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.2:80
  118. $IPTABLES -A INPUT -p tcp --dport 22 -j DROP
  119. $IPTABLES-A INPUT -s 192.168.0.2 -p tcp --dport 24 -j ACCEPT
  120. $IPTABLES -A INPUT -p tcp --dport 24 -j DROP
  121. $IPTABLES -A INPUT -m state --state NEW -j LOG --log-prefix “NEW CONNECTION INPUT”
  122. $IPTABLES -A FORWARD -m state --state NEW -j LOG --log-prefix “NEW CONNECTION FORWARD”
  123. $IPTABLES -A INPUT -p icmp -j ACCEPT
  124. $IPTABLES -A FORWARD -p icmp -j ACCEPT
  125. $IPTABLES -A INPUT -p udp --sport 53 -j ACCEPT
  126. $IPTABLES -A OUTPUT -p udp --sport 53 -j ACCEPT
  127. $IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
  128. $IPTABLES -A OUTPUT-p udp --dport 53 -j ACCEPT
  129. $IPTABLES -A FORWARD -p udp --sport 53 -j ACCEPT
  130. $IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT
  131. $IPTABLES -A INPUT -i ens160 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
  132. $IPTABLES -A OUTPUT -o ens160 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  133. $IPTABLES -A FORWARD -i ens160 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
  134. $IPTABLES -A FORWARD -o ens160 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
  135. $IPTABLES -A INPUT -j DROP
  136. $IPTABLES -A FORWARD -j DROP
  137. $IPTABLES -N LOG_DROP
  138. $IPTABLES -A LOG_DROP -j LOG --log-prefix “LOG_REFUSED”
  139. $IPTABLES -A INPUT -i ens160 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
  140. $IPTABLES -A OUTPUT -o ens160 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
  141. $IPTABLES -A LOG_DROP -j DROP
  142.  
  143.  
  144. ################################################################################
  145. #Fin de vos règles
  146. ################################################################################
  147.  
  148.  
  149. echo "1" > /proc/sys/net/ipv4/ip_forward
  150. echo "... Firewall started."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement