IPSec Firewall-Regeln



  • Hallo Gemeinde,

    sorry für meine "Blauäugigkeit" - ich bräuchte eine kurzes HowTo um die Firewall und das Routing der pfSense für ein SitetoSite IPsec zu konfigurieren.

    Habe unter IPSec das Zielnetz definiert und alle Protokolle, sowie alle IPs frei gemacht.

    Das IPSec steht jedoch kein Traffic …. und unter Diagnose / Routes gibt es keine Route zum Zielnetz.

    Was mach ich falsch?  Vielen Dank !!!



  • ok - kleines Update …. nachdem alles Suchen und Rumprobieren nichts gebracht hat, hab ich die Kiste rebootet ... das Ergebnis.

    Die Boxen können sich nun pingen ... also die die internen Interfaces der FWs.
    Das restliche Netz "darf" noch nicht, obwohl die Firewall auf Durchzug steht ... was ein kompliziertes Produkt ....



  • Wenn du unter Firewall IPSEC das Zielnetz definiert hast müsste es aber genau anders rum sein. Hier musst du ja als Quelle das eingeben das du bei der IPSEC Verbindung als Remotenetz angegeben hast.
    Auch bei IPSEC gelten die Regeln so das es das Interface sein muss an dem die Pakete eingehen. Und hier kommen die Pakete ja aus dem IPSEC Tunnel.


  • LAYER 8 Moderator

    was ein kompliziertes Produkt ….

    Wenn du IPSec meinst: ja. Pfsense? Nein. Aber es setzt schon ein Mindestmaß an Netzwerk-KnowHow und Vorwissen voraus. Wenn man - wie du schreibst - blauäugig da reingeht und erwartet eine (nichts gegen dich oder Hello Kitty Fans) Hello-Kitty-an-die-Hand-nehm-automagisch-Klick-Software zu erhalten: ja dann ist das kompliziert. ;)
    Pfsense kann man prima "mal schnell" ausprobieren - wenn man denn weiß was man tut. Ansonsten sollte man sich mit den Grundlagen drumherum erstmal beschäftigen, damit man das versteht, denn ansonsten wird auch die Fehlersuche ziemlich gruselig.

    Du hast uns z.B. nicht mal gesagt, wie du die Kiste überhaupt konfiguriert hast, was der Anschluß ist (feste/dynamische IP), was du an NAT hast (oder nicht), was die Gegenseite ist, was du in IPSec überhaupt eingestellt hast etc. Hellsehen können wir leider nicht und das Fehlen an Infos hilft auch nicht weiter. Dann zu fragen "was mach ich falsch" oder zu definieren "das ist kompliziert" ist schon lustig :)

    Dass sich die Boxen bspw. pingen können muss nichtmal was mit dem VPN zu tun haben, du hast ja - leider auch - nicht geschrieben, was du überhaupt gepingt hast: die externen IPs oder die internen. Dass sich die Netze nicht sehen kann auch an falscher Phase1/2 Einstellung liegen, dass die jeweils lokalen/remote Netze nicht korrekt eingetragen sind etc. etc. Und da wir nicht mal wissen, ob die Gegenstelle auch pfSense ist -> Sorry, so wird dir kaum jemand verlässlich sagen können, was du falsch machst.

    Wenn du uns ein wenig mehr Input geben würdest, wäre das vielleicht möglich.

    Viele Grüße
    Jens



  • Zur zu diesem Projekt:

    Also:

    Seite1:  Fortinet Fortigate 70D
    Seite2:  pfSense

    beide Seiten mit statischer externer IP und FQDN.

    Tunnel eingerichtet, Tunnel wird aufgebaut.

    Phase1:

    • Mutual PSK
    • Negotiation: aggressive
    • My identifier:  My IP Adress
    • Peer identifier: Peer IP Adress
      PSK: key
      Policy Generation:  on
      Proposal Checking: obey
      Encryption:  3DES
      Hash alg. : MD5
      DH:  2
      Lifetime:  28800
      NAT Traversal:  Force
      DPD:  enabled  10sec/5 retries

    Phase2:
    Mode:  Tunnel
    Local Network:  [Alias für internes Netz an Link 1 der pfSense]
    Remote Network:  192.168.xx.xx / 24

    Protocol:  ESP
    Encryption:  3DES
    Hash:  MD5
    Lifetime: 28800

    Firewall:

    Fortigate:
    internal => IPSec-Interface:  any any all all allow
    IPSec Interface => internal:  any any all all allow
    Routing:  alles für das pfSense Netzwerk über den Tunnel

    pfSense Kategorie [IPSec]
    2 Regeln:

    [Lokales Netz an Link 1]  zu [RemoteNetzwerk/24]  any any all all - allow
    und die gleich Regel nur andersherum.

    Habe dann noch zusätzlich in Kategorie [internes Netz an Link1 pfSense]

    [lokales Netz/24] zu [RemoteNetzwerk/24]  2 any any all all Allow-Regeln eingesetzt.

    Der Tunnel wird aufgebaut.
    Ping die Konsole der Fortigate auf die interne IP der pfSense - Timeout.
    Ping interne Server Seite1 auf interne Server Seite2 - timeout. Keine Zugriffe möglich.

    Der Counter für den Datentransfer der Fortigate zeigt für diesen Tunnel:

    Outgoing 1,26 MB Daten, Incoming: 360Byte

    Leider sehe ich auf der pfSense keine Route zum RemoteNetz.

    Wo pack ich an? Ich nehme mal an, dass die Regeln der pfSense noch nicht korrekt sind.

    Merci ! :)



  • Mache doch am besten mal Screenshots von deinen Firewallregeln in der PfSense weil ich glaube da  könnte der Fehler sein.

    pfSense Kategorie [IPSec]
    2 Regeln:

    [Lokales Netz an Link 1]  zu [RemoteNetzwerk/24]  any any all all - allow
    und die gleich Regel nur andersherum

    Wenn du beide Regeln auf dem IPSEC eingestellt hast ist das nicht ganz Korrekt.
    Immer Überlegen wo gehen die Daten rein.

    Willst du vom PfSense Netz über den IPSEC Tunnel ist das Fortigate Netz rein gehen die Daten in das LAN Interface der PfSense
    Also muss du auf dem LAN Interface eine Regel erstellen [Lokales Netz an Link 1]  zu [RemoteNetzwerk/24] allow any (oder was eben erlaubt sein soll)

    Willst du vom Fortigate Netz über den IPSEC Tunnel ist das PfSense Netz rein gehen die Daten in das IPSEC Interface der PfSense
    Also muss du auf dem IPSEC Interface eine Regel erstellen [RemoteNetzwerk/24] zu [Lokales Netz an Link 1]  allow any (oder was eben erlaubt sein soll)



  • Servus,

    danke für die Antwort.

    Also die Regeln:

    Kategorie IpSEC

    1.Regel(pass):
    Protokoll: any
    Source: RemoteNetz hinter Fortigate /24
    Port: any
    Destination: any
    Port: any
    Gateway: any
    Queue: None

    2.Regel(pass):
    Protokoll: any
    Source: any
    Port: any
    Destination: RemoteNetz hinter Fortigate /24
    Port: any
    Gateway: any
    Queue: None

    So - nach meiner Logik - erlaube ich o.g. über das IPSec Interface.

    Kategorie LAN

    1.Regel(pass):
    Protokoll: any
    Source: RemoteNetz hinter Fortigate /24
    Port: any
    Destination: any
    Port: any
    Gateway: any
    Queue: None

    2. Regel(pass):
    Protokoll: any
    Source: any
    Port: any
    Destination: RemoteNetz hinter Fortigate /24
    Port: any
    Gateway: any
    Queue: None

    <grübel>…. klingt doch irgendwie logisch, oder? ...</grübel>



  • Vllt denke ich mit den Regeln ja auch falsch …

    Meiner Ansicht nach:

    Ich erlaube vom Remotenetzwerk über IPSec ins LAN:

    Kategorie LAN:
    Regeln  Allow all from [RemoteNetzwerk] zu [LokalesNetzwerk]  und andersherum.

    Kategorie IPSec:
    Allow all from [LokalesLAN] zu [RemoteNetzwerk]  und andersherum.

    Müssen die Netze in den Regeln dediziert angegeben werden oder reicht lockere Sicherheit mit ANY ?

    Baut die Box die Routen anhand der Regeln? <grübel>nee, ich denke das bekommt die Box aus der Phase2 Konfig, wo das RemoteNetz angegeben ist, korrekt?

    Danke!</grübel>



  • Noch ein Nachtrag …
    Tracert zu einem Host im Remotenetz wird über das Gateway ins Internet und nicht durch den Tunnel geroutet.

    Nun noch ... weshalb routet die Kiste nicht durch den Tunnel?
    Wenn ich das alles richtig verstanden habe, muss ich das RemoteNetz nicht extra angeben, oder?

    Merci!



  • Nochmal nur da wo die Pakete reingehen muss auch eine Regel sein

    Kategorie LAN:
    Regeln  Allow all from [RemoteNetzwerk] zu [LokalesNetzwerk]  und andersherum.

    Hier musst du nur dein Lokales Netz zum Remote Netz angeben das Remotenetz kann und wird hier keine Pakete rein schicken

    Kategorie IPSec:
    Allow all from [LokalesLAN] zu [RemoteNetzwerk]  und andersherum.

    Hier eben so hier muss nur Remote Netz zu Lokalem Netz dein Lokle netz wird hier nichts reinschicken können.

    Daher wenn es möglich ist mal Screenshots posten. (kannst ja die Netze ausgrauen dann wird es aber schwerer zu überprüfen ob alles zusammen passt)

    Wenn du das per IPSEC macht siehst du tatsächlich in der PfSense keine Route. Wenn das Remote Netz aber stimmt in der Phase 2 von IPSEC werden die Pakete da schon hingeroutet, sofern du bei der Firewall Regel das Gateway nicht angepasst hast.
    Daher Screenshots könnten helfen :)

    Hast du sonst noch etwas angepasst Routen gesetzt oder so was?

    PS:
    Unter Status-> IPSEC siehst du auch ob der Tunnel steht bzw. ob Daten drüber gehen. Siehst du da was oder hast du vielleicht in eine Richtung 0 Bytes?



  • 87.79.95.169    87.79.88.248    ESP    0835759a    3des-cbc    hmac-md5    175596 B   
    87.79.95.169    87.79.88.248  ESP    03a2d2ce    3des-cbc    hmac-md5  1977696 B
    87.79.95.169    87.79.88.248  ESP    081c768c    3des-cbc    hmac-md5    0 B

    Ja, das Log sagt bei einer Verbindung 0 …. aber ich denke das kommt daher, dass die pfSense gar nichts durch den Tunnel schickt.

    Von der Konsole der Fortigate kann ich die interne IP der  pfSense pingen  - andersrum läuft der Traceroute der pfSense direkt übers Internetgateway raus ....

    Ich versteh das nicht ....

    Regeln angepasst wie angesagt, überflüssige rausgenommen ... selbe Effekt....



  • Ach so … sorry !

    => Nur ein Gateway, zum Internet.
    => Keine manuellen Routen eingetragen.

    Der Tunnel steht, wird zumindest grün angezeigt - teilweise werden Daten übertragen, nur nicht die, welche von der pfSense Seite initiiert werden.

    Ping in die eine Richtung ok (Fortigate => pfSense)
    in die andere Richtung ... nicht möglich.



  • sind zwar keine Screenshots aber okay man sieht ja hier schon da sind zu viele Einträge.

    Normal sollten dann nur zwei sein einmal hin einmal zurück.

    Da scheint noch was im IPSEC nicht zu stimmen.
    Prüfe nochmal alle Einstellungen auf beiden Seiten und starte auf beiden Seiten die IPSEC Dienste neu.

    Ich vermute mal die PfSense will die Daten in einen Tunnel schicken den es wohl nicht mehr gibt. Warum auch immer werden hier mehr Policys angelegt als es sein sollten

    vielleicht eine Doppelter Phase 2 Eintrag? Sollte nur einen geben auf jeder Seite



  • Ich verstehe, nein, ist nur eine Phase 2.

    Werde ich die beiden mal komplett durchstarten und dann nochmal schauen.

    Screenshots sind anstrengend ;-) Teamviewer ist ne Alternative!



  • Ok, also, Neustart auf beiden Seiten bringt nix.

    Kann es ggfs. mit dem "Manual Outbound NAT" zu tun haben?

    Hab gerade gesehen, dass der Ex-Admin die Automatik abgeschaltet hat,
    Firewall => NAT => Outbound. Nach der Doku, irgendwas wegen eines VoIP Servers bei dem die SIP-Anmeldung nicht funktionierte …

    Wobei dann würde der Tunnel ja gar nicht erst aufgebaut werden .... wenn diese Regeln nicht stimmen würden, oder?



  • das könnte schon was damit zu tun haben wenn das zu "großzügig" definiert ist kann es da schon überschneidungen geben.

    wie sehen die Regeln denn aus?



  • Grüße,

    es ist alles schick, bis auf das Routing …. und diese Meldung im Log:

    racoon: INFO: Update the generated policy : 192.168.xx.0/24[0] 192.168.xx.0/24[0] proto=any dir=in

    Und diese Policy wird offenbar nicht aktualisiert und ich hab keine Ahnung warum …. ?



  • da ich mich mit der Gegenstelle leider nicht wirklich auskenne wüsste ich an der Stelle leider nicht mehr wo man noch ansetzen sollte.
    Scheint ja alles zu passen bis auf das eine policy wohl doppelt ist.
    Könntest unter IPSEC Advanced Einstellungen noch versuchen den Hacken "Prefer older IPsec SAs" zu setzen bzw. zu entfernen und dann den IPSEC Dienst neustarten.
    Vielleicht klappt es wenn du damit etwas rumspielst.

    Ansonsten weiß ich aktuell leider auch nichts mehr.



  • Guten Morgen und danke flix,

    • zumindest für den Versuch -

    die Fortigate auf der anderen Seite arbeitet in der selben Konfig wie sie für die anderen aufgebauten VPNs auch arbeitet …
    nur diese Lady hat kein Interesse mit anderen....

    Hier gibt es doch sicher noch andere die das Zauberwerk einer IPSec Verbindung zu einem anderen System aufgebaut haben.

    • Was passiert, wenn ihr einen Traceroute ins andere Netz macht?
    • Wird das andere Netz in den Routen dargestellt?
    • Welche Firewall-Regeln sind für das IPSec gesetzt?

    Die Fragen hören sich vllt grad was einfältig an … nur bin ich der festen Überzeugung das alles richtig ist und ich vllt. "nur" falsch denke.

    Danke.



  • Update:  Key Lifetime für Phase 1 auf 86400 gesetzt, Phase 2 auf 3600 - Ping vom externen Netz, über IPSec ins interne Netz …. OK. Ping bekommt Antwort.

    Andersrum vom internen Netz ins RemoteNetz übers IPSec ... negativ .... weiterhin werden die Pakete ins Internet und nicht in den Tunnel geschickt.

    <seufz>.... snbtch !!</seufz>


Log in to reply