Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Ez a tüzfal szkript, csak otthoni igényeket képes kielégíteni.
- # Szerver gépre nem ajánlott!!
- #
- # Használata:
- # Alapértelmezetten meg vannak adva az általánosan használt TCP
- # és UDP portok. Ha valami nem szerepel a listában, szóközzel el-
- # választva hozzá kell írni a megfelelö; helye a "Kimenö portok
- # megadása" résznél.
- #
- # Loggolás beállítása. Minden eldobott csomagot loggol a szkript.
- # Ennek meg lehet adni a gyakoriságát:
- # TIMES = a megadott értéketet másodperc vagy perc-ben értse
- # LIMIT = Megadott idö egység alatt (s vagy m) hány darab il-
- # leszkedés lehet.
- # BURST = Egy illeszkedes alkalmával, hány db csomagot naplóz.
- # Példa TIMES="s", LIMIT="3", BURST="5"
- # Ez azt jelenti, hogy egy másodperc alatt 3 illeszkedés elfogadott
- # egy illeszkedésenként 5 csomagot naplóz. Vagyis, másodpercenként
- # maximum 3x15=45 naplózott csomag lehetséges.
- #
- # Created by budacsik (budacsik@gmail.com)
- # At 2009-04-18 4:38 AM
- # iptables parancs megkeresese
- IPTABLES=$(which iptables)
- # Kimenö portok megadása
- OUT_TCP="20 21 22 25 80 110 143 443 465 993 995 1863"
- OUT_UDP="53 123"
- # Loggolás beállítása(s = másodperc, m = perc)
- TIMES="s"
- LIMIT="5"
- BURST="5"
- # modulok betolltese
- modprobe ip_conntrack_ftp
- # Láncok törlése, ürítése, és alapértelmezett szabály beállítása.
- $IPTABLES -F
- $IPTABLES -X
- $IPTABLES -t nat -F
- $IPTABLES -t nat -X
- $IPTABLES -t mangle -F
- $IPTABLES -t mangle -X
- $IPTABLES -P INPUT DROP
- $IPTABLES -P OUTPUT DROP
- $IPTABLES -P FORWARD DROP
- # -----------------------------------------------------------------------------------------------------------------------
- # INPUT
- $IPTABLES -A INPUT -i lo -j ACCEPT
- # Mar kiépített kapcsolatokhoz tartozó csomagok beengedése. (Állapotkövetés)
- $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- # Beengedjuk a ping-re kapott valszokat, de csak masodpercenkent 1-et. Bőven elég.
- $IPTABLES -A INPUT -p icmp --icmp-type echo-reply -m limit --limit 1/s --limit-burst 1 -j ACCEPT
- $IPTABLES -A INPUT -m limit --limit ${LIMIT}/${TIMES} --limit-burst $BURST -j LOG --log-prefix "INPUT_DROP: "
- $IPTABLES -A INPUT -j DROP
- # -----------------------------------------------------------------------------------------------------------------------
- # OUTPUT
- $IPTABLES -A OUTPUT -o lo -j ACCEPT
- # Mar kiépített kapcsolatokhoz tartozó csomagok kiengedése. (Állapotkövetés)
- $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- # TCP portok kiengedese. 465 = SMTP over SSL
- if test -n "$OUT_TCP"; then
- for t in $OUT_TCP; do
- $IPTABLES -A OUTPUT -p tcp --dport $t -m state --state NEW -j ACCEPT
- done
- fi
- # UDP portok kiengedése
- if test -n "$OUT_UDP"; then
- for u in $OUT_UDP; do
- $IPTABLES -A OUTPUT -p udp --dport $u -j ACCEPT
- done
- fi
- # Ping-et kiengedjük
- $IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
- $IPTABLES -A OUTPUT -m limit --limit ${LIMIT}/${TIMES} --limit-burst $BURST -j LOG --log-prefix "OUTPUT_DROP: "
- $IPTABLES -A OUTPUT -j DROP
- # Tüzfal mentése
- if test -r /etc/iptables.rules; then
- rm -f /etc/iptables.rules
- fi
- iptables-save -c > /etc/iptables.rules
- if test -r /etc/iptables.rules; then
- echo "Tüzfal mentése sikeres!"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement