Beim fwscript {} Problem

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
lx
Beiträge: 351
Registriert: 29.05.2002 20:01:00
Kontaktdaten:

Beim fwscript {} Problem

Beitrag von lx » 12.12.2002 18:20:54

Ich habe bei meinem FWscript das Problem, dass
ich in der StartFirewall sektion am Anfang eine {
gemacht habe und am Ende eine }
Wenn ich das Script starten will wird die }
am Ende angemeckert. Warum?? :cry:
Oder habe ich was grundsätzliches falsch gemacht?

Danke im Voraus
Tom

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.12.2002 20:07:48

Ohne wenigstens einen Teil des Skriptes und die genaue Fehlermeldung wird Dir kaum jemand helfen können.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
lx
Beiträge: 351
Registriert: 29.05.2002 20:01:00
Kontaktdaten:

Beitrag von lx » 12.12.2002 20:13:47

function StartFirewall() {
# ***************************
# ***************************
# * *
# * 3. Starten der Firewall *
# * *
# ***************************
# ***************************

#*****************************************************************************
# ************
# * Policies *
# ************

# Vorbestehende Regeln loeschen
iptables --flush
iptables -t nat --flush
iptables -t mangle --flush

# Keine Einschraenkungen fuer das Loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Voreinstellung: Alle Pakete verwerfen
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

iptables -t nat --policy PREROUTING DROP
iptables -t nat --policy OUTPUT DROP
iptables -t nat --policy POSTROUTING DROP

iptables -t mangle --policy PREROUTING DROP
iptables -t mangle --policy OUTPUT DROP

#******************************************************************************
# Stealthscans und die Flags fuer den TCP-Verbindungszustand

# Alle Bits geloescht
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# SYN und FIN gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# SYN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# FIN und RST gleichzeitig gesetzt
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

# FIN ist ohne zugehoeriges ACK gesetzt
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

# PSH ist ohne zugehoeriges ACK gesetzt
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP

# URG ist ohne zugehoeriges ACK gesetzt
iptables -A INPUT -p tcp --tcp-flags ACK,UGR UGR -j DROP

# *****************************************************************************
# *********
# * INPUT *
# *********

# Ankommende Pakete ablehnen, die vorgeblich von der IP-Adresse unseres
# externen Interfaces kommen.
iptables -A INPUT -i $IFACE_EXT -s $IPADDR -j DROP

# Pakete abweisen, wenn Absender im privaten Klasse-A-Bereich ist
iptables -A INPUT -i $IFACE_EXT -s $CLASS_A -j DROP

# Pakete abweisen, wenn Absender im privaten Klasse-B-Bereich ist
iptables -A INPUT -i $IFACE_EXT -s $CLASS_B -j DROP

# Pakete abweisen, wenn Absender im privaten Klasse-C-Bereich ist
iptables -A INPUT -i $IFACE_EXT -s $CLASS_C -j DROP

# Pakete vom Loopback verwerfen
iptables -A INPUT -i $IFACE_LO -s $LOOPBACK -j DROP

# Fehlerhafte Broadcast-Pakete verwerfen und aufzeichnen
iptables -A INPUT -i $IFACE_EXT -s $BROADCAST_DEST -j LOG
iptables -A INPUT -i $IFACE_EXT -s $BROADCAST_DEST -j DROP

iptables -A INPUT -i $IFACE_EXT -d $BROADCAST_SRC -j LOG
iptables -A INPUT -i $IFACE_EXT -d $BROADCAST_SRC -j DROP

# Gerichtete Broadcasts sperren
# (Kartierung von Netzwerken, Denial-of-Service-Angriffe)
iptables -A INPUT -i $IFACE_EXT -d $SUBNET_BASE -j DROP
iptables -A INPUT -i $IFACE_EXT -d $SUBNET_BROADCAST -j DROP

# X-Window: Aufbau einer Verbindung zu einem fremden Server sperren
iptables -A INPUT -i $IFACE_EXT -p tcp --syn --destination-port $XWINDOW_PORTS -j DROP

# ************
# * INCOMING *
# ************

# Auf den SSH-Server kann zugegriffen werden
# ******************************************
if [ "$SSH_SERVER" = "1" ]; then
if [ "$CONNECTION_TRACKING" = "1" ]; then
iptables -A INPUT -i $IFACE_EXT -p tcp --sport $SSH_PORTS -d $IPADDR --dport 22 -m state --state NEW -j ACCEPT
fi

iptables -A INPUT -i $IFACE_EXT -p tcp --sport $SSH_PORTS -d $IPADDR --dport 22 -j ACCEPT

iptables -A OUTPUT -o $IFACE_EXT -p tcp ! --syn -s $IPADDR --sport 22 --dport $SSH_PORTS -j ACCEPT

# **************
# * FORWARDING *
# **************

# Adressumsetzung einer Anfrage zum internen Webserver
iptables -t nat -A PREROUTING -i $IFACE_EXT -p tcp --sport $UNPRIVPORTS -d $IPADDR --dport 80 -j DNAT --to-destination $WEB
SERVER

# ******************************************
# * Forwarding zum internen Webserver *
# ******************************************

iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p tcp --sport $UNPRIVPORTS -d $WEBSERVER --dport 80 -m state --state NEW -
j ACCEPT

iptabels -A FORWARD -i $IFACE_INT -o $IFACE_EXT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptabels -A FORWARD -i $IFACE_EXT -o $IFACE_INT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ******************
# * Ausgangsregeln *
# ******************

# Ins lokale Netzwerk: Alles erlauben
iptables -A OUTPUT -s $IPADDR_INT -d $WEBSERVER -j ACCEPT

# Ans Loopback: Alles erlauben
iptables -A OUTPUT -o $IFACE_LO -j ACCEPT

# Ins Internet: Alles erlauben
iptables -A OUTPUT -o $IFACE_EXT -j ACCEPT

# *************
# * LOGGING *
# *************

# Alles was bis hier kommt, mitprotokollieren
iptables -A OUTPUT -j LOG --log-level 7 --log-prefix "Nicht raus: "
iptables -A FORWARD -j LOG --log-level 7 --log-prefix "Nicht durch: "
iptables -A INPUT -j LOG --log-level 7 --log-prefix "Nicht rein: "




}


function StopFirewall() {
# **********************************
# **********************************
# * *
# * 2. HERUNTERFAHREN DER FIREWALL *
# * *
# **********************************
# **********************************

# Ausschalten des Routing
echo "0" > /proc/sys/net/ipv4/ip_forward

# Default-Policies: Alles rein und raus, kein Forwarding mehr
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Loeschen aller Regeln
iptables -F

# Loeschen aller zusaezlichen Ketten
iptables -X

}

# **********************
# **********************
# * *
# * START-STOP-SKRIPT *
# * *
# **********************
# **********************

case "$1" in
start)
echo -n "Starting firewall: iptables"
StartFirewall
;;

stop)
echo "Stopping firewall: iptables"
StopFirewall
echo "."
;;

force-reload|restart)
$0 stop
$0 start
;;

*)
echo "Usage: /etc/init.d/fwneu1 {start|stop|restart|force-reload}"
exit 1
;;
esac

Das } vor der StopFirewall sektion wird angemeckert.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.12.2002 20:28:55

Wenn ich mich nicht irre, dann hast Du an einer Stelle kurz nach "# Auf den SSH-Server kann zugegriffen werden" 2 if Befehle geöffnet, aber nur ein fi zum Schliessen. Dadurch stimmt das Nesting nicht mehr, und die Klammer ist der Puinkt, wo es auffällt...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
lx
Beiträge: 351
Registriert: 29.05.2002 20:01:00
Kontaktdaten:

Beitrag von lx » 12.12.2002 21:04:31

Ja da hast du recht, das war der Fehler.
Jetzt habe ich mich ausgesperrt. Die Fw funktioniert.
Danke erst mal. Aber warum ich mich jetzt selbst
ausgesperrt habe weiß ich nicht.


Tom

Antworten