Advertisement
Guest User

budacsik

a guest
Apr 17th, 2009
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.22 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Ez a tüzfal szkript, csak otthoni igényeket képes kielégíteni.
  4. # Szerver gépre nem ajánlott!!
  5. #
  6. # Használata:
  7. # Alapértelmezetten meg vannak adva az általánosan használt TCP
  8. # és UDP portok. Ha valami nem szerepel a listában, szóközzel el-
  9. # választva hozzá kell írni a megfelelö; helye a "Kimenö portok
  10. # megadása" résznél.
  11. #
  12. # Loggolás beállítása. Minden eldobott csomagot loggol a szkript.
  13. # Ennek meg lehet adni a gyakoriságát:
  14. # TIMES  = a megadott értéketet másodperc vagy perc-ben értse
  15. # LIMIT  = Megadott idö egység alatt (s vagy m) hány darab il-
  16. #          leszkedés lehet.
  17. # BURST  = Egy illeszkedes alkalmával, hány db csomagot naplóz.
  18. # Példa TIMES="s", LIMIT="3", BURST="5"
  19. # Ez azt jelenti, hogy egy másodperc alatt 3 illeszkedés elfogadott
  20. # egy illeszkedésenként 5 csomagot naplóz. Vagyis, másodpercenként
  21. # maximum 3x15=45 naplózott csomag lehetséges.
  22. #
  23. # Created by budacsik (budacsik@gmail.com)
  24. # At 2009-04-18 4:38 AM
  25.  
  26. # iptables parancs megkeresese
  27. IPTABLES=$(which iptables)
  28.  
  29. # Kimenö portok megadása
  30. OUT_TCP="20 21 22 25 80 110 143 443 465 993 995 1863"
  31. OUT_UDP="53 123"
  32.  
  33. # Loggolás beállítása(s = másodperc, m = perc)
  34. TIMES="s"
  35. LIMIT="5"
  36. BURST="5"
  37.  
  38. # modulok betolltese
  39. modprobe ip_conntrack_ftp
  40.  
  41. # Láncok törlése, ürítése, és alapértelmezett szabály beállítása.
  42. $IPTABLES -F
  43. $IPTABLES -X
  44. $IPTABLES -t nat -F
  45. $IPTABLES -t nat -X
  46. $IPTABLES -t mangle -F
  47. $IPTABLES -t mangle -X
  48. $IPTABLES -P INPUT DROP
  49. $IPTABLES -P OUTPUT DROP
  50. $IPTABLES -P FORWARD DROP
  51.  
  52.  
  53.  
  54. # -----------------------------------------------------------------------------------------------------------------------
  55. # INPUT
  56. $IPTABLES -A INPUT -i lo -j ACCEPT
  57. # Mar kiépített kapcsolatokhoz tartozó csomagok beengedése. (Állapotkövetés)
  58. $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  59. # Beengedjuk a ping-re kapott valszokat, de csak masodpercenkent 1-et. Bőven elég.
  60. $IPTABLES -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s --limit-burst 1 -j ACCEPT
  61. $IPTABLES -A INPUT -m limit --limit ${LIMIT}/${TIMES} --limit-burst $BURST -j LOG --log-prefix "INPUT_DROP: "
  62. $IPTABLES -A INPUT -j DROP
  63.  
  64.  
  65.  
  66. # -----------------------------------------------------------------------------------------------------------------------
  67. # OUTPUT
  68. $IPTABLES -A OUTPUT -o lo -j ACCEPT
  69. # Mar kiépített kapcsolatokhoz tartozó csomagok kiengedése. (Állapotkövetés)
  70. $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  71.  
  72. # TCP portok kiengedese. 465 = SMTP over SSL
  73. if test -n "$OUT_TCP"; then
  74.     for t in $OUT_TCP; do
  75.     $IPTABLES -A OUTPUT -p tcp --dport $t -m state --state NEW -j ACCEPT
  76.     done
  77. fi
  78. # UDP portok kiengedése
  79. if test -n "$OUT_UDP"; then
  80.     for u in $OUT_UDP; do
  81.     $IPTABLES -A OUTPUT -p udp --dport $u -j ACCEPT
  82.     done
  83. fi
  84. # Ping-et kiengedjük
  85. $IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
  86. $IPTABLES -A OUTPUT -m limit --limit  ${LIMIT}/${TIMES} --limit-burst $BURST -j LOG --log-prefix "OUTPUT_DROP: "
  87. $IPTABLES -A OUTPUT -j DROP
  88.  
  89. # Tüzfal mentése
  90. if test -r /etc/iptables.rules; then
  91.     rm -f /etc/iptables.rules
  92. fi
  93.  
  94. iptables-save -c > /etc/iptables.rules
  95. if test -r /etc/iptables.rules; then
  96.     echo "Tüzfal mentése sikeres!"
  97. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement