firewall einrichten.

From: Hermann Schuster <HermannSchuster(at)t-online.de>
Date: Wed, 17 Dec 2008 15:05:19 +0100

Hallo Leute.

Ich muss als erstes zugeben, das ich keine Ahnung
von Netzwerken etc. habe. Auch kann ich kein Englisch
und bin mit Freebsd7 totaler Anfaenger.

Nichts desto trotz habe ich es hinbekommen, ein
kleines Netzwerk aufzubauen. Das sieht so aus:

ISP
|
|<-----rl0
---------------- |-----------------
|saturn.local | | jupiter.local
|192.168.0.1 -----------> 192.68.0.2
|rl1 | | nfe0
| Server | | Client
----------------- ------------------

Das heisst, ueber saturn.local waehle ich mich mit ppp -nat
ins Internet ein. ifconfig sieht dann wie folgt aus:

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:50:bf:d9:d5:f5
        media: Ethernet autoselect (10baseT/UTP <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:c1:26:0b:15:a2
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        inet 80.130.196.126 --> 217.0.116.160 netmask 0xffffffff
        Opened by PID 868
-----------------------------------
Der Client bezieht ueber den Server Internet.

Nun wollte ich eine Firewall fuer den Server bauen.
Muss aber gestehen, das mich Handbuch und google nicht
weitergebracht haben. Ganz im Gegenteil, es hatt mich nur
voellig durcheinander gebracht. :-))

Ich habe im Internet folgendes Script gefunden und
an meine Verhaeltnisse angepasst.
___________________
#Ein einfacher Router/Server
#Bei diesem Regelwerk ist keine Regel für NAT enthalten, da
# dies der gemeine DSL-Benutzer mit ppp(8) macht.
 
#$inet ist das lokale Netz
 #$tcp_server sind die Ports die auf dem Router selber nach draussen offen sein sollen
 #$client ist ein Client der ein paar Ports weitergeleitet bekommt
 #$*_forward sind die weitergeleiteten Ports für den Client
 
#!/bin/sh
fwcmd="/sbin/ipfw -q"
inet="192.168.0.0/24"
client="192.168.0.2"
tcp_server="22, 80"
tcp_forward="5662, 60000-60004"
udp_forward="5665"

${fwcmd} -f flush

# Alles auf dem Loopback Interface erlauben
${fwcmd} add 00100 allow ip from any to any via lo0

${fwcmd} add 00500 check-state

# TCP

# Traffic von $inet oder dem Router/Server nach aussen erlauben
${fwcmd} add 01000 allow tcp from { me or ${inet} } to any setup keep-state

# Traffic von aussen an die Ports $tcp_server des Routers/Servers reinlassen
${fwcmd} add 01100 allow tcp from any to me ${tcp_server} setup keep-state

# Traffic von aussen an $client weiterleiten
${fwcmd} add 01200 allow tcp from any to ${client} ${tcp_forward} setup keep-state

# UDP

# $inet oder Router/Server Traffic rauslassen
${fwcmd} add 02000 allow udp from { me or ${inet} } to any keep-state

# Traffic an $client weiterleiten
${fwcmd} add 02100 allow udp from any to ${client} ${udp_forward} keep-state

# ICMP

${fwcmd} add 03000 allow icmp from any to { me or ${inet} } icmptypes 3
${fwcmd} add 03100 allow icmp from any to { me or ${inet} } icmptypes 4
${fwcmd} add 03200 allow icmp from { me or ${inet} } to any icmptypes 8 keep-state
${fwcmd} add 03300 allow icmp from any to { me or ${inet} } icmptypes 11

# Alles andere verbieten
${fwcmd} add 65000 reset ip from any to any
___________________________________

Was ich will, ist, das der Server vom aussen nicht angegriffen
werden kann. Das heisst, das alle Dienste von aussen nicht
ansprechbar sind. Das locale Netz soll weiterhin alles koennen und
auch weiterhin Internet vom Server bekommen.

Kann ich das Script so laufen lassen.?? Muss ich noch irgend-
was in Freebsd konfigurieren oder kompilieren.?(ipfw ist ja vorhanden.)
Bin ich dann ausreichend geschuetzt vor Hackern und sonstigen Anfriffen.?
Ist das Script in Ordnung.?

Fuer alle Anregungen bin ich dankbar. :-))

Tschau
   Hermann

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 17 Dec 2008 - 15:06:28 CET

search this site