Tipps & Tricks: Linux absichern mit den iptables

anonymous1

Junior Member
HI,
ich bins nochmal :)

Mit dem Skript funktioniert Wunderbar.
Nur das mit den Ausnahmen bekomme Ich nicht hin.
Mein aktuelles Skript:

#! /bin/bash

#Iptables Regeln für VPN:

iptables -t filter -A OUTPUT -o wlan0 -p udp -m multiport --dports 1149,1150,1151,53,149,150,151 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o wlan0 -p tcp -m multiport --dports 152,1152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p udp -m multiport --dports 1149,1150,1151,53,149,150,151 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp -m multiport --dports 152,1152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p udp -m multiport --sports 1149,1150,1151,53,149,150,151 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i wlan0 -p tcp -m multiport --sports 152,1152 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p udp -m multiport --sports 1149,1150,1151,53,149,150,151 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp -m multiport --sports 152,1152 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT --dst 192.168.0.0/16 -j ACCEPT
iptables -t filter -A INPUT --src 192.168.0.0/16 -j ACCEPT
iptables -t filter -A OUTPUT --dst 10.0.0.0/8 -j ACCEPT
iptables -t filter -A INPUT --src 10.0.0.0/8 -j ACCEPT
iptables -t filter -A OUTPUT --dst 172.16.0.0/12 -j ACCEPT
iptables -t filter -A INPUT --src 172.16.0.0/12 -j ACCEPT

#Alternate
iptables -t filter -A OUTPUT -o eth0 -p tcp -d 195.234.50.235 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp -s 195.234.50.235 -m state --state ESTABLISHED,RELATED -j ACCEPT
ip route add 195.234.50.235 via 192.168.178.1 dev eth0

iptables -t filter -A OUTPUT -o wlan0 -j DROP
iptables -t filter -A INPUT -i wlan0 -j DROP
iptables -t filter -A OUTPUT -o eth0 -j DROP
iptables -t filter -A INPUT -i eth0 -j DROP




Wenn ich jetzt Alternate.de aufrufe, wird mir immernoch die IP vom VPN-Server angezeigt.
Ich nutze World IP zum Anzeigen von der Server un meiner IP.
 

JackCarver

Junior Member
Ja klar wird dir nach wie vor deine VPN IP angezeigt, die Abfrage geht ja über den Server. Wenn du das Testen willst nimm mal die IP von zb whoer.net und lass dir dort die IP anzeigen. Dann solltest deine Router IP sehen.
 

JackCarver

Junior Member
Was den Routing Befehl anbelangt ist es komplett egal wann du den im Skript absetzt, da der nicht die iptables verändert. WLAN0 ist dann in deinem Fall durch eth0 zu ersetzen. Nein, die /16 gibt die Netzmaske an, das gibt also ein komplettes Net an in dem sich auch dein Router etc befinden.
 

JackCarver

Junior Member
Zum Routing Befehl zum Test über woher.net mach ein: ip route add IP_von_whoer.net via 192.168.178.1 dev eth0, dann rufe whoer.net auf und es sollte deine Router IP zeigen und nicht die von PP.
 

anonymous1

Junior Member
Ich habe das Skript jetzt so angepasst

#Test Whoer.net
iptables -t filter -A OUTPUT -o eth0 -p tcp -d 95.211.121.18 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp -s 95.211.121.18 -m state --state ESTABLISHED,RELATED -j ACCEPT
ip route add 95.211.121.18 via 192.168.178.1 dev eth0

Auf whoer.net bekomme ich dann "meine" IP angezeigt.
Also alles funktioniert so wie es soll.

Danke nochmal für deine Hilfe :)
 

JackCarver

Junior Member
Das mit whoer.net dient ja nur um dir zu zeigen, dass das Prinzip funktioniert, dass also die Routingausnahme auch tatsächlich am VPN vorbei geht. Bei dem route Befehl musst du natürlich wieder die IP nehmen, zu der du dich an VPN vorbei verbinden möchtest, das wird ja nicht whoer.net sein.
 

anonymous1

Junior Member
Also irgendwie stehe ich auf nem Schlauch.
"ip route add 95.211.121.18 via 192.168.178.1 dev eth0" stimmt also nicht??
Ich will zu "95.211.121.18" über "192.168.178.1"
So habe ich das bei allen anderen Ausnahmen auch gemacht.
Habe ich jetzt doch alles falsch gemacht??
 

anonymous1

Junior Member
JackCarver;n6805 said:
Das mit whoer.net dient ja nur um dir zu zeigen, dass das Prinzip funktioniert, dass also die Routingausnahme auch tatsächlich am VPN vorbei geht. Bei dem route Befehl musst du natürlich wieder die IP nehmen, zu der du dich an VPN vorbei verbinden möchtest, das wird ja nicht whoer.net sein.
Achso jetzt habe ich glaub ich Verstanden.
Wolltest du mir sagen das ich bei den Routing Ausnahmen im Skript die jeweiligen IPs von den Webseiten nehmen muss?
Also z.b. Alternate usw... ?? Und nicht überall die IP von Whoer.net eintragen muss?

Das ist mir natürlich schon klar :)
 

anonymous1

Junior Member
HI,
Ich habe noch ein Problem mit TOR villeicht kannst du mir da weiterhelfen.
Bevor ich die IPTables eigerichtet hatte, hat noch alles funktioniert.
Daher denke ich das ich dort an den iprouten etwas anpassen muss.
Mir gehts nur um .onion seiten.
Ich nutze iceweasel und privoxy.

Folgende Melung bekomme ich, wenn ich mit TOR Verbinden will

Fehler: Proxy-Server verweigert die Verbindung

Firefox wurde konfiguriert, einen Proxy-Server zu nutzen, der die Verbindung zurückweist.
 

JackCarver

Junior Member
An den Routen musst du nichts anpassen, da die iptables am Routing nix verändern. Sie sperren höchstens den Zugriff. Teste das ganze einfach mal ohne die iptables zu aktivieren, wenn es dann auch nicht geht liegt der Fehler woanders, evtl am Proxy
 

anonymous1

Junior Member
hm also damit tor mit privoxy in iceweasel funktioniert müsste ich ja auch die tor und privoxy pakete installieren.:rolleyes:
hatte ich ganz vergessn als ich letztes mal das system neu aufgesetzt hatte.
ist mir nur nicht aufgefallen, weil in iceweasel privoxy noch mit allen einstellungen vorhanden war.
werde ich dann die tage mal machen
 

anonymous1

Junior Member
Hi,
Ich schon wider ;)
Ich habe mir jetzt die iptables regeln dauerhaft gesetzt mittels iptables-persistent paket.
die routen habe ich in etc/network/interfaces eingtragen.

Wenn ich debian boote un iceweasel starte -> keine Internet Verbindung.
soweit ja korrekt.
Testweise habe ich alternate, whoer.net und meine onlinebanking website als Ausnahmen hinzugefügt.
Alternate und whoer.net kann ich aufrufen. meine onlinebanking seite allerdings nicht.
wohlgemerkt mit gestarteten iptables aber ohne vpn verbindung.

Wenn ich dann per vpn verbinde und whoer.net aufrufe, wird mir wieder nur die vpn ip angezeigt.
Ist das normal??

Ich bin nunmal ein Typ der lieber alles Kontrolliert anstatt blind zu Vertrauen das alles funktioniert :)

Meine Rules
# Generated by iptables-save v1.4.14 on Sun Apr 20 16:29:44 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i wlan0 -p udp -m multiport --sports 1149,1150,1151,53,149,150,151 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i wlan0 -p tcp -m multiport --sports 152,1152 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m multiport --sports 1149,1150,1151,53,149,150,151 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --sports 152,1152 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
-A INPUT -s 10.0.0.0/8 -j ACCEPT
-A INPUT -s 172.16.0.0/12 -j ACCEPT
-A INPUT -s 195.234.50.235/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 95.211.121.18/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 195.143.188.164/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 80.237.217.71/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 128.65.209.54/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 128.65.209.56/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 128.65.209.57/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 128.65.209.58/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 80.87.113.11/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 77.109.147.163/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 77.109.147.168/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 195.140.42.97/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 194.195.11.30/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 176.9.133.165/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 129.35.230.2/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 62.153.105.15/32 -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i wlan0 -j DROP
-A INPUT -i eth0 -j DROP
-A OUTPUT -o wlan0 -p udp -m multiport --dports 1149,1150,1151,53,149,150,151 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o wlan0 -p tcp -m multiport --dports 152,1152 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m multiport --dports 1149,1150,1151,53,149,150,151 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m multiport --dports 152,1152 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 192.168.0.0/16 -j ACCEPT
-A OUTPUT -d 10.0.0.0/8 -j ACCEPT
-A OUTPUT -d 172.16.0.0/12 -j ACCEPT
-A OUTPUT -d 195.234.50.235/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 95.211.121.18/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 195.143.188.164/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 80.237.217.71/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 128.65.209.54/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 128.65.209.56/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 128.65.209.57/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 128.65.209.58/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 80.87.113.11/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 77.109.147.163/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 77.109.147.168/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 195.140.42.97/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 194.195.11.30/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 176.9.133.165/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 129.35.230.2/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -d 62.153.105.15/32 -o eth0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o wlan0 -j DROP
-A OUTPUT -o eth0 -j DROP
COMMIT
# Completed on Sun Apr 20 16:29:44 2014
und die routen
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

# own Routes

#Alternate
up route add -net 195.234.50.235 netmask 255.255.255.0 gw "Meine IP" eth0
down route delete -net 195.234.50.235 netmask 255.255.255.0 gw "Meine IP" eth0

#Test Whoer.net
up route add -net 95.211.121.18 netmask 255.255.255.0 gw "Meine IP" eth0
down route delete -net 95.211.121.18 netmask 255.255.255.0 gw "Meine IP" eth0

#Onlinebanking
up route add -net 195.140.42.97 netmask 255.255.255.0 gw "Meine IP" eth0
down route delete -net 195.140.42.97 netmask 255.255.255.0 gw "Meine IP" eth0
 

JackCarver

Junior Member
Kontrolliere mal deine aktiven Routen mit ip route list, da sollten deine Ausnahme Routen auftauchen. Wenn diese Route gesetzt ist, dann zeigt dir woher auch deine Router IP.
 

anonymous1

Junior Member
ip route list
0.0.0.0/1 via 10.24.23.129 dev tun0
default via "meine IP" dev eth0
10.24.23.128/25 dev tun0 proto kernel scope link src 10.24.23.130
128.0.0.0/1 via 10.24.23.129 dev tun0
176.10.99.98 via "meine IP" dev eth0
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.20
so 100% blicke ich allerdings nicht durch
 
Top