• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Linux Gateway mit Benutzerkontrolle

HHansen06

Newbie
Halli Hallo ...

Szenario:

Wir haben hier zuhause mehrere netzwerke:

1.
Ip bereich: 192.168.178.1 - 192.168.178.254

hier ist das eigentliche Netzwerk, in diesem gibt es unseren Router mit der IP 192.168.178.1

es gibt hier auch unseren Server auf dem derzeit debian mit dem 2.6.x kernel läuft mit der IP 192.168.178.2

nun das zweite Netzwerk:

hier gibt es den rechner meiner Schwester und den ihres Mannes mit der IP: 10.10.10.1 und 10.10.10.2

diesebeiden sind per Wllan ins Netzwerk miteingepflegt, die Aufgabe des Gateways übernimmt derzeit ein D-Link ap!



Problem:

Desöfteren habe ich nun in den Logs clients gesehen, die da nicht rein gehörten, und obwohl wir einen 128Mbit Hex key für die Wep verschlüsselung verwenden, waren teilweise 4 - 5 Clients im Wllan obwohl hier bei uns nur 2 Rechner Wllan karten haben.

Das muss aufhören!

Da ich nun in der aktuellen ct etwas von zone CD gelesen habe, habe ich das gleich mal ausprobiert!
zufinden unter www.publicip.com
leider ist mir das auch weiderum zu umständlich.
Dann kam meine nächste idee es wie bei uns an der uni zu realisieren:
Dort werden VPN-tunnel systeme eingesetzt um das Netzwerk zu sichern.


Kann mir einer nen gedankenanstoß geben mit welchen server diensten ich das netzwerk sicher machen kann !`?
 
A

Anonymous

Gast
1) MAC Zugriffsbeschränkung

2) Deaktivierung des WEP-Keys, dieser kann nämlich mitgesnifft werden, und das muss nicht unbedingt sein

3) iptables Beschränkung auf die 2 o.g. Ip´s in alle Richtungen für jedes Protokoll (für das w-lan Device)
 

Frankie777

Advanced Hacker
entweder Du nimmst WPA
oder Du stellst auf VPN um.
Wenn der AP das unterstützt, Anmeldung am AP mit VPN
oder AP forwarded zu einem VPN-Server.
Pakete anderer Protokolle außer VPN wirfst Du weg.

WEP ist unsicher, MAC und SSID ausschalten bringt nichts.
 
OP
H

HHansen06

Newbie
hmmm ... okay ... da ihr ja schonmal antwortet :

welchen VPN server würdet ihr mir empfehlen !?
kann man mit irgentnem Tool die Bandbreite beschränken ?!
 
A

Anonymous

Gast
Martin Breidenbach schrieb:
Ich nehme jetzt mal zu Deinen Gunsten an Du meinst Abschalten vom SSID Broadcast...
das ist natürlich auch ne möglichkeit..... wobei man selbst dann einiges mitkriegen kann, stichwort "messung elektromagnetischer felder", was aber für otto-normal-hacker unmöglich sein dürfte :wink:
jaaa ich weiss, ich bin ein klugscheisser! :lol:

hansen: also normalerweise würde ich ja jetzt mit pptp aufwarten, jedoch muss ich zu meinem bedauern immer wieder lesen, dass dieses prog anscheinend sehr unsicher ist. FreeSwan oder OpenVPN mit IPSec sollte hier Abhilfe schaffen denke ich
 
A

Anonymous

Gast
wie? MS gefrickel? du meinst, dass es dass zufällig für Win gibt? Also ich benutze ja erstma überhaupt keinen M$ Winblows Zeug als Server. Is mir auch zu unsicher die Sache, aber ich denke mal dass das Prog auf nem gescheiten Sarge nicht ganz sooooooo unsicher sein kann, das würde ja bedeuten dass die Debian Leute das umsonst portiert und gefixt haben... Vielleicht nicht die allerbeste Wahl aber mit Sicherheit auch nicht die schlechteste, oder lieg ich da jetz falsch? @ Fachkundige: Bitte mal die bisherigen Erfahrungen über PPTP unter Debian posten, ist das annehmbar sicher oder würde man dann doch etwas anderes ans Herz legen? Weil ich bin auch grad am VPN werkeln, NOCH kann ich wechseln...
 

Frankie777

Advanced Hacker
PPTP kommt ursprünglich von MS, 3Com und noch ein paar anderen, ist aber eigentlich ein toter Ast..

http://www.ietf.org/rfc/rfc2637.txt
siehe Authors ganz unten

http://www.schneier.com/pptp-faq.html ist schon älter..
3. How bad is it?
Very. Microsoft PPTP is very broken, and there's no real way to fix it without taking the whole thing down and starting over. This isn't just one problem, but six different problems, any one of which breaks the protocol.
6. What's the answer?
Don't use Microsoft PPTP. Again, this attack is against Microsoft PPTP, not PPTP in general. PPTP allows all sorts of encryption and authentication schemes; Microsoft just invented some really lousy ones. Even better, if you are a VPN user, use IPSec. This is a much more robust protocol.
---
Das PPTP was ich installiert habe läuft auch nur mit 40 Bit Verschlüsselung, das VPN was bei XP bei ist mit, ich glaube ,128 Bit..

Ich würde auf OpenVPN aufsetzten; PPTP nehme ich nur wegen Kompatibiltät zu Rechnern oder Routern die nicht besser können...
 
A

Anonymous

Gast
also doch ned so schlecht. du kannst ja selbst lesen : MIRCOSOFT PPTP is broken....... und dann steht da ja noch dass alle anderen gut sein könnten. Ich wollte nix zu Microshit wissen, sondern zu Debian
 

Frankie777

Advanced Hacker
Das Paket heißt doch Linux als Microsoft VPN Server.

Ich denke eher das es zwecks Kompatibilität mit der Windows Welt entwickelt wurde. Im Detail wird es wohl von der Implementierung abhängen..

Ich würde das nicht machen, OpenVPN ist deutlich verbreiteter.

PPTP hat nur den Vorteil, daß der Win Client ohne zusätzliche Software zu intallieren direkt auf den PPTP Server zugreifen kann.
 
OP
H

HHansen06

Newbie
soooo ... also openVPN ist installiert, client aufgesetzt, configuriert, verbindung steht!

ABER:

ich habe es mir damals etwas einfach gemacht, und mir von harry die iptables per script konfigurieren lassen!

script ist folgender:

### BEGIN INIT INFO
# Provides: IP-Paketfilter
# Required-Start: $network $local_fs
# Required-Stop: $local_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Short-Description: Harry's IP-Paketfilter
# Description: Harry's IP-Paketfilter provides reasonable
# IP-Security for Home-Computers and small networks
### END INIT INFO
#

case "$1" in
start)
echo "Starte IP-Paketfilter"

# iptables-Modul
modprobe ip_tables
# Connection-Tracking-Module
modprobe ip_conntrack
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp

# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# MY_REJECT-Chain
iptables -N MY_REJECT

# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
iptables -A MY_DROP -j DROP

# Alle verworfenen Pakete protokollieren
iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "

# Korrupte Pakete zurueckweisen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP

# Stealth Scans etc. DROPpen
# Keine Flags gesetzt
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP

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

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

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

# FIN ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP

# PSH ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP

# URG ohne ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP

# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# HTTP
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j ACCEPT

# SMTP
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 25 -j ACCEPT

# POP3
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 110 -j ACCEPT

# FTP
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 21 -j ACCEPT

# SSH
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -j ACCEPT

# MYSQL
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

# IRC
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 6667 -j ACCEPT

# EDONKEY
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 4661 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 4663 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 4665 -j ACCEPT

# ICMP Echo-Request (ping) zulassen und beantworten
iptables -A INPUT -m state --state NEW -p icmp --icmp-type echo-request -j ACCEPT

# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT

# SYN-Cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null

# Stop Source-Routing
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_source_route 2> /dev/null; done

# Stop Redirecting
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/accept_redirects 2> /dev/null; done

# Reverse-Path-Filter
for i in /proc/sys/net/ipv4/conf/*; do echo 2 > $i/rp_filter 2> /dev/null; done

# Log Martians
for i in /proc/sys/net/ipv4/conf/*; do echo 1 > $i/log_martians 2> /dev/null; done

# BOOTP-Relaying ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/bootp_relay 2> /dev/null; done

# Proxy-ARP ausschalten
for i in /proc/sys/net/ipv4/conf/*; do echo 0 > $i/proxy_arp 2> /dev/null; done

# Ungültige ICMP-Antworten ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 2> /dev/null

# ICMP Echo-Broadcasts ignorieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null

# Max. 500/Sekunde (5/Jiffie) senden
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit

# Speicherallozierung und -timing für IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time

# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

# Maximal 3 Antworten auf ein TCP-SYN
echo 3 > /proc/sys/net/ipv4/tcp_retries1

# TCP-Pakete maximal 15x wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2

;;

stop)
echo "Stoppe IP-Paketfilter"
# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# Default-Policies setzen
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
;;

status)
echo "Tabelle filter"
iptables -L -vn
echo "Tabelle nat"
iptables -t nat -L -vn
echo "Tabelle mangle"
iptables -t mangle -L -vn
;;

*)
echo "Fehlerhafter Aufruf"
echo "Syntax: $0 {start|stop|status}"
exit 1
;;

esac

was muss ich nun ändern damit die ports nur noch per VPN zu erreichen sind ? bin da etwas blöde im umgang mit iptables!
Und sollte jemand so nett sein und hier änderungen vornehmen, so soll er mir bitte den samba dienst auch per normaler [nicht VPN verschlüsster ]Wllan verbindung offen lassen!



danke im vorraus
 
A

Anonymous

Gast
Code:
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
für VPN
 

Frankie777

Advanced Hacker
MS-PPTP benutzt TCP/1723 und Protokoll 47

OpenVPN nimmt tcp/udp 1194 und alte Versionen 5000
siehe man openvpn und über das config Files konfigurieren
 
OP
H

HHansen06

Newbie
komischerweise komme ich nun nicht mehr über den server ins i-net denn er sagt wenn ich z.b. google anpinge :
Jun 14 14:38:54 localhost kernel: REJECT UDP IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:60:1d:f0:bd:3a:08:00 SRC=192.168.178.22 DST=192.168.178.255 LEN=242 TOS=0x00 PREC=0x00 TTL=128 ID=1895 PROTO=UDP SPT=138 DPT=138 LEN=222

weiß einer was das soll ?!
 
OP
H

HHansen06

Newbie
das ist auf jedenfall der grund dafür das das i-net hinterm server nicht mehr funktioniert!

gruß Henrik
 

Martin Breidenbach

Ultimate Guru
Nein, das ist es auf keinen Fall. Es ist nahezu unmöglich daß das bei einem PING nach Google rauskommt. Da ist zufällig was anderes protokolliert worden.
 

Martin Breidenbach

Ultimate Guru
Nimm's mir bitte nicht übel aber ich habe KEINE Lust Dein Firewallskript zu debuggen. Das darfst Du selber tun ;)

Wenn 'ping www.google.de' nicht geht dann kann das mehrere Ursachen haben:

1. DNS-Auflösung klemmt
2. ICMP klemmt
3. google geht grad mal nicht (das IST schon mal vorgekommen)

Und da wo's klemmt kann passieren:
1. Paket geht nicht raus
2. Paket geht raus aber Antwortpaket geht nicht rein

Ob's an DNS liegt kann man ja leicht austesten - einfach statt ping www.google.de mal ping 66.102.9.104 eingeben.

Bei einem Firewallskript würde ich mit einer einfachen Version anfangen und die dann schrittweise verschärfen. Eine einfachere Version kannst Du ja schon erzeugen indem Du testweise Teile auskommentierst und durch großzügigere ACCEPT/REJECT/DROP Anweisungen ersetzt.
 
Oben