|
» Mai 2012 |
| Mo |
Di |
Mi |
Do |
Fr |
Sa |
So |
| 30 |
1
|
2
|
3
|
4
|
5
|
6
|
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
|
28
|
29
|
30
|
31
| 1 | 2 | 3 |
|
Wenn du dich kostenlos registrierst kannst du neue Themen verfassen, an Umfragen teilnehmen und vieles mehr. Falls Du bei der Registrierung oder Anmeldung Probleme hast, dann kontaktiere uns.
 |
13.08.2008, 13:09
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #1 (permalink)
|
Registriert seit: 13.08.2008
Beiträge: 4
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge
Hallo zusammen,
ich kann mit dem Programm setkey durch "spdadd" eine neue Regel für die IPSec SPD erstellen. Theoretisch ist es doch damit möglich eine Firewall auf IP-Ebene aufzusetzen, dadurch dass ich für verschiedene Absender- und Zieladressen(bereiche) die Anweisung "discard", "none" oder "ipsec" zuweisen kann.
Frage 1: Ist "none", also das Durchlassen von Paketen die default Policy, falls für eine Absender-Empfänger Kombination keine Regel besteht? Wie sieht es dann mit Netzbereichen aus? Kann ich bspw. in einem VPN Szenario eine default Policy für den Tunnel über das unsichere Netz zwischen den beiden privaten Netzen erstellen, aber diese je nach Endpunkt im Netz noch anpassen und wie? Also das ich z.B. sage, es wird auf jeden Fall IPSec ESP im Tunnelmodus verwendet, aber die genauen Verfahren (sainfo...) abhängig von den Kommunikationsendpunkten gemacht.
Frage 2: inwiefern beeinflusst sich diese "Firewall" mit iptables bzw. zwischen welchen Chains von iptables befindet sich diese? Gibt es praktische Erfahrungen was deren Zusammenspiel angeht?
|
|
|
13.08.2008, 13:28
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #2 (permalink)
|
|
Moderator
Registriert seit: 10.12.2006
Ort: Mitterteich / Nordbayern
Beiträge: 1.377
|
ich kann Dir mal ein paar Zeilen aus meinem VPN-Firewall-Setup posten.
Aber grundsätzlich hätte ich zwei Überlegungen für Dich:
- Warum setkey, und keinen Racoon einsetzen?
- Was machst Du wenn die gegenstelle eine dynamische IP hat? Ständig Regeln ändern?
Nun mal meine Regeln für das VPN:
Zitat:
# Damit sind alle Chains zunächst mal auf DROP, d.h. alles was Du haben möchtest muß erlaubt werden
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP
# Dieser Block erlaubt z.B. freien Zugriff aus dem LAN auf den Server
$IPTABLES -t filter -N LAN_IN
$IPTABLES -t filter -A INPUT --in-interface $IF_LAN -j LAN_IN
$IPTABLES -t filter -A LAN_IN -j ACCEPT
# Ich markiere alle Pakete die mit dem ES-Protokoll ankommen
$IPTABLES -t mangle -A PREROUTING --in-interface $IF_INET -p esp -j MARK --set-mark 15
# Wenn Du mit einem Keyserver wie Racoon arbeiten willst, brauchst Du
# ein Authentisierungsprotokoll, ich nutze IKMP
$IPTABLES -t filter -A INET_IN --proto udp --dport 500 -j ACCEPT
# Später verwerte ich die o.a. Markierung und leite alle VPN-Pakete in eine User-Chain um, das Internet-Interface wird dann gedropped.
$IPTABLES -t filter -A INET_IN -m mark --mark 15 -j VPN_INTERNET_IN
$IPTABLES -t filter -A INET_IN -j REJECT --reject-with icmp-port-unreachable
$IPTABLES -t filter -A INET_IN -j DROP
|
Erklärung ESP
Das Ganze hat den Vorteil, daß ich unabhängig von Quell-IPs bin, und das alles auch mit dynamischen IPs von DSL-Anschlüssen nutzen kann. Wenn Du nur eine begrenzte Zahl von IPs zulassen möchtest, kannst Du leicht die Markierung einschränken.
Ich hoffe, das hilft Dir weiter
Gruß
Usn
|
|
|
13.08.2008, 15:30
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #3 (permalink)
|
Threadersteller
Registriert seit: 13.08.2008
Beiträge: 4
|
Hallo,
danke für deine Antwort.
Als Neuling in Sachen iptables weiss ich zwar nicht, was es mit der Markierung auf sich hat, aber im Grunde verwirfst du ja alles außer esp und isakmp. Verstehe auch, dass durch Verwendung von ESP die internen Quell-IPs für den Gateway keine Rolle mehr spielen, da ich ja quasi mit ESP eine Hülle über dem ursprünglichen Packet aufbaue mit den Adressen der entsprechenden Gateways und mir NAT/Masquerading sparen kann (zumindest aus Sicherheitsgründen)
Die Frage stellt sich aber immer noch wie ich in Abhängigkeit der internen Benutzer die IPSec Parameter für ESP einstellen kann (z.B. Rechner 1 verlangt Verschlüsselung, Rechner 2 nur MAC, usw.)
|
|
|
13.08.2008, 15:46
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #4 (permalink)
|
|
Moderator
Registriert seit: 10.12.2006
Ort: Mitterteich / Nordbayern
Beiträge: 1.377
|
Zitat von Dtop
|
Verstehe auch, dass durch Verwendung von ESP die internen Quell-IPs für den Gateway keine Rolle mehr spielen, da ich ja quasi mit ESP eine Hülle über dem ursprünglichen Packet aufbaue mit den Adressen der entsprechenden Gateways und mir NAT/Masquerading sparen kann (zumindest aus Sicherheitsgründen)
|
Ja und nein, Du brauchst - falls das System Dein Internetgateway ist - sehr wohl noch masquerading/NAT, aber eben keine spezielle Regel für diesen Client.
Ich sollte vielleicht dazusagen, daß mein Internet-GW gleichzeitig der Endpunkt des VPN ist, d.h. ich tunnle nicht durch das gateway, sondern die SPD-Einträge werden auf dem gateway erstellt. Nur der Vollständigkeit halber.
Zitat von Dtop
|
Die Frage stellt sich aber immer noch wie ich in Abhängigkeit der internen Benutzer die IPSec Parameter für ESP einstellen kann (z.B. Rechner 1 verlangt Verschlüsselung, Rechner 2 nur MAC, usw.)
|
Mir ist noch nicht so ganz klar wo Du hinwilklst. Ich lese mal Deinen post nochmal sorgfältig. <>
Okay, ich habe immer noch nicht ganz verstanden um was es geht.
Aber zunächst mal eine Sache zum Thema Chains und IPsec. IPsec ab Kernel 2.5/2.6 beruht auf der SPD, d.h. das dort konfigurierte Interface kommuniziert nur verschlüsselt. Das ist aber für Dich zunächst unerheblich, da Du bereits ab der Ebene FORWARD bzw. INPUT entschlüsselte Daten vorliegen hast, falls das Gateway, wie in meinem Fall, auch der VPN-Terminator ist.
Jetzt mal zu Deinem Problem in meinen Worten: Du möchtest eingekapselte Pakete zulassen. Das heißt für mich, Du läßt wie oben gezeigt ESP zu, und alles ist gut. Was Du innerhalb von ESP für Einstellungen fährst ist der Firewall herzlich egal, und das kann sie auch nicht prüfen (Schichtenprinzip: sie arbeitet auf den Schichten IP und TCP, d.h. IPs und Ports, ggf. wie hier als stateful firewall auch noch mit Protokollheadern).
Alles weitere, wie die Parameterierung, mußt Du mit Deinem VPN-Client ausmachen, bzw. mit der SPD. Fakt ist, daß wann immer Du einen Key für eine IP in der SPD hinterlegst, keine Kommunikation ohne diesen pre-shared key mehr möglich ist. Die Basisfunktionalität ist PSK, alles weitere (wie Schlüsselwechsel, Zertifikate etc.) muß der Racoon (oder vergleichbar) erledigen.
Ist es ein bisschen klarer, oder habe ich Dich verwirrt?
Gruß
Usn
|
|
|
13.08.2008, 15:49
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #5 (permalink)
|
|
Moderator
Registriert seit: 10.12.2006
Ort: Mitterteich / Nordbayern
Beiträge: 1.377
|
Zitat von Dtop
|
(z.B. Rechner 1 verlangt Verschlüsselung, Rechner 2 nur MAC, usw.)
|
Noch ein Nachtrag - wie (im Sinne von "auf welche Art") verlangen diese Rechner das?
Und was bedeutet "nur MAC"?
Gruß
Usn
|
|
|
14.08.2008, 11:25
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #6 (permalink)
|
Threadersteller
Registriert seit: 13.08.2008
Beiträge: 4
|
Hallo nochmals danke für deine Mühe.
Also zunächst einmal hatte ich vergessen zu erwähnen, dass ich ESP natürlich im Tunnelmodus verwenden muss. Wieso benötige ich dann noch Masquerading?
Ok ich sehe ein, wenn du bspw. die internen IPs auch ggü. dem anderen privaten Netz (was sich hinter dem Internet-GW des zweiten zu schützenden Netzes befindet) verschleiern möchtest bzw. Adresskollisionen vermeiden möchtest. Meinst du das? Dann denke ich aber müsste ich in meinem GW die IP Packete schon verändern bevor ich IPSec anwende also quasi auf der Netzwerkkarte die mit dem internen LAN verbunden ist als PREROUTING chain, ist das richtig?
Zu meinem ursprünglichen Problem: in meinem Fall handelt es sich übrigens um ein "echtes" GW, d.h. es ist noch nicht VPN-Endpunkt. Ich habe zwei private Netze/LANs, die über ein unsicheres Netz (z.B. Internet) miteinander verbunden sind. Kommunikation in und aus den LANs geht nur über die GWs. IPSec ESP soll auch nur zwischen den beiden GWs stattfinden, hinter den GWs in den LANs können die Packete ruhig unverschlüsselt weiterversendet werden. Nun geht es mir darum, dass die verschiedenen Rechner in den LANs auch verschiedene Funktionalitäten und damit auch verschiedene SIcherheitsanforderungen an die Schnittstelle der beiden GWs im unsicheren Netz haben. Z.B. fordert ein Email-Server sowohl Verschlüsselung als auch Integritätssicherung, während ein Nachrichtendienst nur Integrität fordert, usw.
Das heisst was ich machen möchte ist die Sicherheitsparameter für IPSec in Abhängigkeit der VPN-Endpunkte zu wählen. Nur wie ich das zu machen habe, ist mir noch ein Rätsel bzw. es klappt nicht so wie ich es möchte.
Was ich bisher versucht habe: soweit ich weiss kann ich in der Konfigurationsdatei von IPSec (setkey.conf oder ipsec-tools.conf) mit dem Befehl spdadd entsprechende Policies hinzufügen, jedoch nur die Regeln erstellen, nicht aber bestimmte Verfahren auswählen. Da die Regel aber für alle Rechner im internen Netz gleich ist (ipsec anwenden mit tunnel/esp) habe ich hier eine einzige Regel (für incoming und outgoing) für das gesamte Netz aufgestellt. Die Parameter für die SAs muss ich wohl in der Racoon Konfig setzen. Setze ich aber hier SA-Parameter für einzelne Rechner bekomme ich ständig die Fehlermeldung: "ERROR: failed to get sainfo"
Meine Konfigdateien sehen in etwas so aus (für GW1):
setkey.conf:
flush;
spdflush;
spdadd LAN1 LAN2 any -P out ipsec esp/tunnel/GW1-GW2/require
spdadd LAN2 LAN1 any -P in ipsec esp/tunnel/GW2-GW1/require
racoon.conf:
path...
remote...
sainfo adress Rechner1.Netz1 any adress Netz2
{
Parameter...
}
sainfo adress Rechner2.Netz1 any adress Netz2
{
andere Parameter...
}
usw.
|
|
|
14.08.2008, 11:41
|
IPSec: Verhaltensweise der SPD (Security Policy Database) Einträge Beitrag #7 (permalink)
|
Threadersteller
Registriert seit: 13.08.2008
Beiträge: 4
|
Hallo,
habe die Beiträge nochmals durchgelesen und vermute, dass das Problem im Grunde nicht viel mit der Firewall an sich zu tun hat.
Denke IPSec wird irgendwo zwischen den Chains INPUT, FORWARD und OUPUT durchgeführt und beeinflusst diese Chains gar nicht?! Habe nur nicht gewusst, ob IPSec SPD und iptables/netfilter teilweise auf gleiche Daten zugreifen und interagieren oder völlig unabhängig voneinander betrachtet werden können.
Sorry für die ganze Verwirrung.
|
|
|
 |
| Themen-Optionen |
|
|
| Ansicht |
Linear-Darstellung
|
|