Firewallscript ausreichend....???

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
richtri
Beiträge: 35
Registriert: 13.09.2002 21:33:33

Firewallscript ausreichend....???

Beitrag von richtri » 14.09.2002 17:53:25

hallo,
ist dieses firewallscript ausrechend für ein privates netzwerk oder gibt es noch bestimmte sachen, die man besser machen kann??? 8O :

#!/bin/sh
# ***************************
# ***************************
# * *
# * 1. SETZEN VON VARIABLEN *
# * *
# ***************************
# ***************************

# 1.1. Netzwerkvariablen

# Schnittstelle zum lokalen Netzwerk
FACE_INT=eth0

# Internetschnittstelle
IFACE_EXT=ppp0

# Loopback device
IFACE_LO=lo

# Interner Netzwerkbereich
NET_INT=192.168.1.0/255.255.255.0

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

# Löschen aller Regeln
iptables -F
iptables -t nat -F

# Löschen aller zusätzlichen Ketten
iptables -X
iptables -t nat -X

}


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

echo "Debug: setting up firewall"

# 3.1 Allgemeines

# Default-Policies setzen - alles fliegt raus
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Einschalten von ip-Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

echo "Debug: ip_forward"

# Wegen moeglicher Netzwerkprobleme zwecks MTU

# 3.1.1. Eigene Kette zum gleichzeitigen Protokollieren und Rausschmeissen

echo "Debug: create own chain"

# Eigene Kette erstellen
--------------------------------------------------------------
iptables -N dude_drop

# Protokollieren

#TCP-Packete
iptables -A dude_drop -p TCP -j LOG -m limit --limit 5/minute \
--log-prefix "TCP-Packet dropped: "

#UDP-Packete
iptables -A dude_drop -p UDP -j LOG -m limit --limit 5/minute \
--log-prefix "UDP-Packet dropped: "

#ICMP-Packete
iptables -A dude_drop -p ICMP -j LOG -m limit --limit 5/minute \
--log-prefix "ICMP-Packet dropped: "

# Raussschmeissen
iptables -A dude_drop -j DROP
--------------------------------------------------------------


echo "Debug: Setting up rules"

# 3.2. Regeln fuer eingehende Pakete

# 3.2.1. Vom internen Netzwerk

# Alles erlauben
iptables -A INPUT -i $IFACE_INT -s $NET_INT -j ACCEPT

# 3.2.2. Vom Loopback

# Alles erlauben
iptables -A INPUT -i $IFACE_LO -j ACCEPT

# 3.2.3. Vom Internet

# Kein externer Verbindungsaufbau
iptables -A INPUT -p TCP ! --syn -m state --state NEW -j dude_drop

# Keine externen Verbindungen mit privaten Adressen
iptables -A INPUT -i $IFACE_EXT -s 10.0.0.0/8 -j dude_drop
iptables -A INPUT -i $IFACE_EXT -s 172.16.0.0/12 -j dude_drop
iptables -A INPUT -i $IFACE_EXT -s 192.168.0.0/24 -j dude_drop

# Erlauben von bereits initialisierten TCP-Verbindungen
iptables -A INPUT -i $IFACE_EXT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT

# Erlauben von bereits initialisierten UDP-Verbindungen von Zeitservern
iptables -A INPUT -i $IFACE_EXT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 123 -j ACCEPT

# Erlauben der notwendigsten ICMP-Pakete
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 0 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 3 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 5 -j ACCEPT
iptables -A INPUT -i $IFACE_EXT -p ICMP --icmp-type 11 -j ACCEPT


# 3.3. Regeln fuers Forwarding

# 3.3.1. Lokal -> Internet

# Erlauben von Telnet, SSH, FTP, SMTP, POP3, SHTML Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP -m multiport \
--dport 20,21,22,25,80,110,443 -j ACCEPT

# Erlauben von Highport-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p TCP \
--dport 1024:65000 -j ACCEPT

# ICQ-Verbindungen
iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -p UDP \
--dport 4000 -j ACCEPT

# 3.3.2. Internet -> Lokales

# Nur UDP-Verkehr über bereits bestehende ICQ-Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p UDP -m state \
--state ESTABLISHED,RELATED --sport 4000 -j ACCEPT

# Nur TCP-Verkehr über bereits bestehende Verbindungen erlauben
iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -p TCP -m state \
--state ESTABLISHED,RELATED -j ACCEPT


# 3.4. Regeln für ausgehende Pakete

# 3.4.1. Ins lokale Netzwerk

# Alles erlauben
iptables -A OUTPUT -o $IFACE_INT -j ACCEPT


# 3.4.2. Ans Loopback

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


# 3.5. Routing

# Masquerading
iptables -A POSTROUTING -o $IFACE_EXT -t nat -j MASQUERADE

# Direkte Verbindungen für ICQ zu mir umleiten
iptables -t nat -A PREROUTING -i $IFACE_EXT -p TCP \
--dport 6000:6010 -j DNAT --to 192.168.1.1


# 3.6. Mitprotokollieren

iptables -A OUTPUT -j LOG --log-prefix "Nicht raus: "

iptables -A FORWARD -j LOG --log-prefix "Nicht durch: "

iptables -A INPUT -j LOG --log-prefix "Nicht rein: "

}

# **********************
# **********************
# * *
# * 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/firewall {start|stop|restart" \
"|force-reload}"
exit 1
;;
esac

ist ein script aus dem forum :oops: . ich danke im vorraus.
cu richtri

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 14.09.2002 19:29:06

ist ein script aus dem forum
Hoffe mal du weißt, was dieses Script macht...
Was mir gerade mal aufgefallen ist: den Punkt 3.6 solltest du rausnehmen, weil da sehr viel Output entsteht!

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
richtri
Beiträge: 35
Registriert: 13.09.2002 21:33:33

Beitrag von richtri » 14.09.2002 20:04:17

Hoffe mal du weißt, was dieses Script macht...
ja das ist mir schon klar. Nur die frage ist ob er ausreichen ist. momentan habe ich eine firewall gshield.
Was soll ich denn sonst anstatt Punkt 3.6 einfügen, um Angriffe, etc. zu bemerken????
Danke erstmal.....[/quote]

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 14.09.2002 20:54:48

richtri hat geschrieben:Was soll ich denn sonst anstatt Punkt 3.6 einfügen, um Angriffe, etc. zu bemerken????
Schau dir mal an, was da mitgeschrieben wird: alles was raus will, aber nicht raus darf; alles was weitergeleitet werden will, aber nicht wird und alles was rein will, aber nicht rein darf. Einen Angreifer kannst du damit nicht erkennen...ok, villeicht jemanden der einen Portscan macht, würde ich aber nicht als Angriff bezeichnen. Jemand der angreifen will, wird das nicht über einen Port versuchen, der durch die FW gesperrt ist. Schau vielleicht mal http://www.pl-forum.de/t_netzwerk/iptables.html und http://www.linuxeinsteiger.org/manuals/ ... ables.html an. Dan solltest du in der lage sein eine eigenne Firewall aufzubauen.
Sind eigentlich irgendwelche wichtigen Sachen in deinem LAN, die irgendwie besonderen Schutz brauchen?

by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
richtri
Beiträge: 35
Registriert: 13.09.2002 21:33:33

Beitrag von richtri » 15.09.2002 00:08:18

Sind eigentlich irgendwelche wichtigen Sachen in deinem LAN, die irgendwie besonderen Schutz brauchen?
jeder hat doch irgendwelche sachen auf seinem rechner, die für ihn persönlich sehr wichtig sind. :twisted:
es ist nicht so dass ich die lottozahlen für die nächste samstagziehung im lan hätte. :lol:
warum die frage? willst du mir ne bessere möglichkeit mitteilen, mit der man sein lan schützt?????? :wink: [/quote]

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 15.09.2002 11:48:23

Hi,

also ich hab mir das Firewallscript mal ein bischen genauer angesehen. Mache einen ganz guten Eindruck. Das solltest du aber noch anpassen:
  • 3.3.1 Nur die Ports freigeben, von denen du denkst, das sie am Internet horchen sollen
  • 3.6 löschen oder eine limit wie in 3.1.1 dazuschreiben
by, blackm
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
richtri
Beiträge: 35
Registriert: 13.09.2002 21:33:33

Beitrag von richtri » 15.09.2002 23:49:32

@blackm:
danke für die tipps. werde ich dann wohl auch so mal ausprobieren.

Antworten