Advertisement
Guest User

Untitled

a guest
Aug 9th, 2011
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.57 KB | None | 0 0
  1. #!/bin/bash
  2. ## Scrip de IPTABLES
  3. ## Cortafuegos - Servidor de Red Local y Acceso a Internet
  4. ##
  5.  
  6. ## Interfaces
  7. ## ----------------
  8. ## eth1 - Internet
  9. ## eth2 - Local
  10.  
  11. echo -n Aplicando las Reglas del Cortafuegos...
  12.  
  13. REDLOCAL="172.17.1.0/24"
  14. # Cambiar Puerto 8080 por 3128 si se desea SQUID sin DANSGUARDIAN (Ver Prerouting abajo)
  15.  
  16. ACEPTAR_TCP_ENTRADA_LAN="21 22 53 80 135 136 137 138 139 443 445 631 901 1863 2200 5222 5229 5269 3128 8000 8008 8080 8443 9090 9091 9256 10000"
  17. DENEGAR_TCP_ENTRADA_LAN="1433"
  18.  
  19. ACEPTAR_UDP_ENTRADA_LAN="22 135 136 137 138 139 1194 1863 9256"
  20. DENEGAR_UDP_ENTRADA_LAN="1433"
  21.  
  22. ACEPTAR_TCP_ENTRADA_WAN="22 1194 1863 2200"
  23. DENEGAR_TCP_ENTRADA_WAN="25 110 113 135 136 137 138 139 1433 3128 8000 8443"
  24.  
  25. ACEPTAR_UDP_ENTRADA_WAN="22 53 1194 1863"
  26. DENEGAR_UDP_ENTRADA_WAN="67 68 135 136 137 138 139 1433"
  27.  
  28. DENEGAR_TCP_SPT_WAN="25 1863"
  29.  
  30. ACEPTAR_TCP_FORWARD="22 25 53 80 110 137 138 139 443 445 1194 1863 2200 2121 2222 3128 5222 5229 5260 5900 6667 7767 8008 8080 8443 9090 9091 9256 10000"
  31. DENEGAR_TCP_FORWARD=""
  32.  
  33. ACEPTAR_UDP_FORWARD="53 863 1194 1863 5222 5229 5900 7777 9090 9256"
  34. DENEGAR_UDP_FORWARD=""
  35.  
  36.  
  37. # -------------------- NO MODIFICAR A PARTIR DE AQUI -------------------- #
  38.  
  39. # Se limpian y se eliminan todas las reglas anteriores
  40. iptables -F
  41. iptables -t nat -F
  42. iptables -X
  43.  
  44. # Politicas por defecto
  45. iptables -P INPUT ACCEPT
  46. #iptables -P FORWARD ACCEPT
  47.  
  48. # Allow TUN interface connections to OpenVPN server
  49. iptables -A INPUT -i tun+ -j ACCEPT
  50. # Allow TUN interface connections to be forwarded through other interfaces
  51. iptables -A FORWARD -i tun+ -j ACCEPT
  52.  
  53. # Se acepta el loopback y las conexiones establecidas
  54. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  55.  
  56. # iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT
  57. iptables -A INPUT -i lo -j ACCEPT
  58.  
  59. # Se habilita el ping
  60. iptables -A INPUT -p icmp -j ACCEPT
  61. #iptables -A FORWARD -p icmp -j ACCEPT
  62.  
  63. # ============= DANSGUARDIAN ============
  64. # Redireccionamiento para el DANSGUARDIAN
  65. iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 8080
  66.  
  67. # Regla para lograr el NAT
  68. iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
  69.  
  70. # Permitir entrada de DHCP
  71. iptables -A INPUT -i eth2 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
  72.  
  73. # Ciclos para variables - No modificar nada
  74. for puerto in $ACEPTAR_TCP_ENTRADA_LAN;
  75. do
  76. iptables -A INPUT -p tcp --dport $puerto -i eth2 -j ACCEPT
  77. done
  78.  
  79. for puerto in $DENEGAR_TCP_ENTRADA_LAN;
  80. do
  81. iptables -A INPUT -p tcp --dport $puerto -i eth2 -j DROP
  82. done
  83.  
  84. for puerto in $ACEPTAR_UDP_ENTRADA_LAN;
  85. do
  86. iptables -A INPUT -p udp --dport $puerto -i eth2 -j ACCEPT
  87. done
  88.  
  89. for puerto in $DENEGAR_UDP_ENTRADA_LAN;
  90. do
  91. iptables -A INPUT -p udp --dport $puerto -i eth2 -j DROP
  92. done
  93.  
  94. # Variable cambiada en servidor de Punto Fijo por prueba aqui queda igual
  95. for puerto in $ACEPTAR_TCP_ENTRADA_LAN;
  96. do
  97. iptables -A INPUT -p tcp --dport $puerto -i eth2 -j ACCEPT
  98. done
  99.  
  100. # Variable
  101. for puerto in $DENEGAR_TCP_ENTRADA_LAN;
  102. do
  103. iptables -A INPUT -p tcp --dport $puerto -i eth2 -j DROP
  104. done
  105.  
  106. # variable
  107. for puerto in $ACEPTAR_UDP_ENTRADA_LAN;
  108. do
  109. iptables -A INPUT -p udp --dport $puerto -i eth2 -j ACCEPT
  110. done
  111.  
  112. for puerto in $DENEGAR_UDP_ENTRADA_LAN;
  113. do
  114. iptables -A INPUT -p udp --dport $puerto -i eth2 -j DROP
  115. done
  116.  
  117. for puerto in $ACEPTAR_TCP_ENTRADA_WAN;
  118. do
  119. iptables -A INPUT -p tcp --dport $puerto -i eth1 -j ACCEPT
  120. done
  121.  
  122. for puerto in $DENEGAR_TCP_ENTRADA_WAN;
  123. do
  124. iptables -A INPUT -p tcp --dport $puerto -i eth1 -j DROP
  125. done
  126.  
  127. for puerto in $ACEPTAR_UDP_ENTRADA_WAN;
  128. do
  129. iptables -A INPUT -p udp --dport $puerto -i eth1 -j ACCEPT
  130. done
  131.  
  132. for puerto in $DENEGAR_UDP_ENTRADA_WAN;
  133. do
  134. iptables -A INPUT -p udp --dport $puerto -i eth1 -j DROP
  135. done
  136.  
  137. for puerto in $DENEGAR_TCP_SPT_WAN;
  138. do
  139. iptables -A INPUT -p tcp --sport $puerto -i eth1 -j DROP
  140. done
  141.  
  142. for puerto in $ACEPTAR_TCP_FORWARD;
  143. do
  144. iptables -A FORWARD -p tcp --dport $puerto -j ACCEPT
  145. iptables -A FORWARD -p tcp --sport $puerto -j ACCEPT
  146. done
  147.  
  148. for puerto in $DENEGAR_TCP_FORWARD;
  149. do
  150. iptables -A FORWARD -p tcp --dport $puerto -j DROP
  151. done
  152.  
  153. for puerto in $ACEPTAR_UDP_FORWARD;
  154. do
  155. iptables -A FORWARD -p udp --dport $puerto -j ACCEPT
  156. iptables -A FORWARD -p udp --sport $puerto -j ACCEPT
  157. done
  158.  
  159. for puerto in $DENEGAR_UDP_FORWARD;
  160. do
  161. iptables -A FORWARD -p udp --dport $puerto -j DROP
  162. done
  163.  
  164. ## Comentar las siguientes seis lineas para permitir descargas de archivos FTP
  165. #iptables -A FORWARD -s ! $REDLOCAL -d ! $REDLOCAL -j LOG --log-prefix " ## ### ### ### "
  166. #iptables -A FORWARD -s ! $REDLOCAL -d ! $REDLOCAL -j DROP
  167.  
  168. #iptables -A INPUT -j LOG
  169. #iptables -A INPUT -j DROP
  170.  
  171. #iptables -A FORWARD -j LOG
  172. #iptables -A FORWARD -j DROP
  173.  
  174. ## Reglas de prueba para evitar Denegacion de Servicios (DoS) ## Añadido por ellanos
  175. iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 1 -j ACCEPT
  176. iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 1 -j ACCEPT
  177. iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 1 -j ACCEPT
  178.  
  179. echo "CORTAFUEGOS CONFIGURADO.................. [ OK ]"
  180. echo "1" > /proc/sys/net/ipv4/ip_forward
  181. # Fin del Scrip
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement