Sophos Default Drop Firewall

Camkom

Cadet 3rd Year
Registriert
Juni 2018
Beiträge
56
Ich habe schon im Internet verschiedene Seite nach meinem Problem durchsuch. Es gab schon mehrere Treffer aber trotz dieser Lösungen bekomme ich es nicht hin.

Aber nun zu meinem Problem. Ich habe eine Sophos Firewall. Mit mehreren Adaptern. Ich möchte von einem Adapter (im Internet), Geräten in einem Privates internen Netzwerk Internetzugriff geben.

Auf der internen IP: 192.168.2.10 sollen einige Ports von außen nach innen freigeben werden.


- Adapter Internet: Hyper V - Port 1 (IP: 172.27.188.6)
(in diesem Netzwerk habe ich noch einen Adapter liegen mit einer anderen IP)
- Adapter Intern: int_Xpenology_Data (IP: 192.168.2.1)



Dafür habe ich folgende Regeln angelegt:
- Masquerading:
1534937525232.png


- Firewall:
1534937564220.png




Im Firewall Log tauchen immer diese Fehler auf: (XXX.XXX sind IP-Adressen)
Live-Log:

Code:
13:37:07    Default DROP    TCP         XXX.XXX    :    61098 →    172.27.188.6    :    6690
 
[SYN]    len=52    ttl=115    tos=0x00    srcmac=80:e0:1d:4a:6a:d6    dstmac=00:15:5d:64:79:1e

Firewall Log:
Code:
2018:08:22-13:13:12 sophosutm ulogd[4645]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60001" initf="eth2" srcmac="80:e0:1d:4a:6a:d6" dstmac="00:15:5d:64:79:1e" srcip="XXX.XXX" dstip="172.27.188.6" proto="6" length="52" tos="0x00" prec="0x00" ttl="121" srcport="51364" dstport="6690" tcpflags="SYN"



2018:08:22-13:13:14 sophosutm ulogd[4645]: id="2001" severity="info" sys="SecureNet" sub="packetfilter" name="Packet dropped" action="drop" fwrule="60002" initf="eth3" outitf="eth0" srcmac="00:15:5d:64:79:20" dstmac="00:15:5d:64:79:1f" srcip="192.168.2.10" dstip="XXX.XXX" proto="17" length="66" tos="0x00" prec="0x00" ttl="63" srcport="34573" dstport="53"




Was mache ich falsch?
Egal ob ich die Regeln aus oder an mache, an dem Default Drop ändert sich nichts. Irgendwie sind die Regeln falsch, das heißt, dass die Regeln nicht für den Traffic gelten oder wie ist das zu verstehen?
Ergänzung ()

Zu Testzwecken habe ich auch mal das oben genannte Interface deaktiviert und einfach auf das zweite Interface im Internet-Netzwerk eine zweite IP Angelegt und dann diese genutzt. Dabei ändert sich auch nichts.
 
Zuletzt bearbeitet:
1534957446378.png



Habe versucht in Port 1 auch das Gateway einzutragen. Daraufhin wird Uplink Balancing aktiviert.
 
Vorweg : Ich hab keine Ahnung von der Sophos GUI und lese/schreibe zudem gerade vom (kleinen) Handy aus. Mein Kommentar ist daher weitestgehend geräteneutral und beschreibt stattdessen die übliche Vorgehensweise bzw. den definierten Ablauf von NAT und Firewall.

Das Zusammenspiel aus NAT und Firewall läuft wie folgt ab:

DNAT -> Routing -> Firewall_IN -> Firewall_Out -> SNAT

1) Daten kommen am Port an
2) NAT prüft auf passende DNAT Regel und ändert ggfs die Ziel-IP und/oder den -Port
3) Routing-Engine bereitet die Weiterleitung vor bzw. checkt an welches Interface ausgeliefert werden soll (zB LAN)
4) Firewall prüft ob der eingehende Traffic am Quell-Interface (zB WAN) legitim ist
5) Firewall prüft ob der ausgehende Traffic am Ziel-Interface (zB LAN) legitim ist
6) NAT Engine prüft auf SNAT Regel und ersetzt ggfs die Quell-IP bzw. -Port

Das mag kompliziert klingen, aber entscheidend ist, dass "NAT vor der Firewall stattfindet". D.h. wenn eine Portweiterleitung (=DNAT ; Destination NAT) IP und Port auf das Ziel ändert, muss eine manuelle Firewall Regel auch genau auf dieses bereits veränderte Ziel passen. Würde man manuell nun also eine Portweiterleitung WAN:8080 -> lokalerServer:80 einrichten und "passend" dazu Port 8080 in der Firewall freigeben, würde der Traffic im Default Drop landen, weil an der Firewall niemals Port 8080 ankommt, sondern bereits der geänderte Port 80.
 
Vielen Dank schonmal. Das werde ich morgen probieren.
 
Wenn du zwei Uplink Schnittstellen hast wird Load Balancing aktiviert das ist korrekt. Was willst du damit denn erreichen?

Masquerading Regeln brauchst du nur eine und zwar von allen Netzen die Internet haben sollen ins Internet. Wenn du etwas von außen erreichbar machen willst geht das über NAT im nächsten Reiter.
 
Vielen Dank, ich habe bisher kein NAT (außer Masq.). Das ist das Problem. Werde ich morgen machen.

Also reicht die Masq. Regel, die ich eingerichtet habe, oder?
 
Die eine die du gerade deaktiviert hast, ja. Dort musst du lediglich die anderen Netz auch als Quelle hinzufügen.
Die anderen beiden Regeln kannst du löschen, die machen keinen Sinn.
 
OK. Und wieso ist die Regeln für die SSL (OpenVPN) Verbindung richtig? Ich verstehe das noch nicht ganz. Da ist es ja quasi umgekehrt oder?
Ergänzung ()


Also muss so die MAsq. Regel aussehen?
1534967409514.png

Ergänzung ()

Bezüglich der NAT-Regeln. Also am Bsp vom Port 5001 (extern). Wie müsse da die NAT-Regel/-n aussehen?

Ich hab jetzt mal diese DNAT-Regel angelegt.

1534967954269.png

Dabei ist:
For traffic from: Port 1 (172.27.188.0) (=externes Netzwerk, mit Internet)
Using Service: TCP 5001 --> 5001
Going to: 172.27.188.6 (=IP auf den der Internet-Traffic kommt, mit o.g. Port) (=Dies ist auch gleich die IP des Port1-Interfaces)

Change Destination to: 192.168.2.10 (IP des Ziels im Internen, privaten Netzwerk)




Muss ich jetzt noch eine SNAT-Regel anlegen?
Ergänzung ()

Wie sieht es eigentlich mit Routing im Punkt Interfaces & Routing aus? Benötige ich das auch?
 
Zuletzt bearbeitet:
OK. Und wieso ist die Regeln für die SSL (OpenVPN) Verbindung richtig?
Also muss so die MAsq. Regel aussehen?
Ich sehe gerade die sind beide falsch. Die Zielschnittstelle muss beim Masquerading die externe sein, bei dir also Hyper-V Port 2.

Die DNAT Regel ist auch nicht ganz richtig:
Traffic From muss "any" rein außer du willst es nur für bestimmte IPs aus dem Internet freigeben
Using Service kommt der Port rein der angesprochen wird, in der Service Definition ist das aber nur der Destination Port, Sourceport sollte auf 1:65535 bleiben da der Quellport immer dynamisch ist.
Going To muss die externe Schnittstelle rein die zum Internet zeigt also die Hyper-V Port 2 Adresse.
Change Destination ist dann die interne Adresse, das scheint soweit zu passen und Service der interne Port, da kannst du dann nochmal die Definition von oben rein ziehen.
 
Vielen Dank. Es funktioniert. Ich habe jetzt Testweise die Masq.-Regel und auch die Firewall Regeln rausgenommen.
Es funktioniert weiterhin. So schein nur noch die DNAT Regeln alles zu machen.

Wie kann ich nun die Firewall benutzen? Wenn ich z.B. Country Blocking nutze und zum testen Deutschland einsetze, werde ich geblockt. --> So soll es sein.

Doch was bewirken die Firewall-Regeln überhaupt? Wenn ich die aktiviert habe und nur einen Service auswählt, ist trotzdem alles andere uneingeschränkt nutzbar.
Ergänzung ()

Nur mit dem Gerät selber habe ich noch keinen Internetzugriff. Dafür benötige ich noch einen NAT in die andere Richtung, oder?
 
Zuletzt bearbeitet:
"Matching condition" darf man durchaus wörtlich nehmen. Das Matching beschreibt den Trigger, also die Eigenschaften, die auf ein Paket zutreffen müssen, damit die Regel auch angewandt wird. Eine "normale" Portweiterleitung hat beim Matching nur den externen Port stehen. Damit wird die NAT-Engine also auf alle Pakete anspringen, deren Ziel-Port gleich dem externen Port ist. Sobald du eine IP zum Matching hinzufügst, werden die Pakete mit dem gematchten Ziel-Port nochmal gefiltert und auf die IP gematched - je nachdem ob die Ziel-IP oder die Quell-IP definiert wurde. Trifft die IP nicht zu, greift die Regel nicht und wird ignoriert.

Man passt das Matching einer NAT-Regel nur an, wenn es zwingend erforderlich ist. Ansonsten belässt man es wie gesagt beim Ziel-Port (dem externen).


Eine gebräuchliche Firewall-Konfiguration für eingehende Verbindungen sieht so aus:

1) Accept connection state established/related
2) Drop invalid
3) Accept port 12345
4) Accept port 23456
5) Default Drop

Wie genau das bei Sophos zu konfigurieren ist, kann ich so aus dem Stegreif nicht sagen, obiges Konfiguration ist aber weitestgehend neutral bzw. so wird das in den meisten Firewalls gemacht.



Für den Internetzugriff aus dem lokalen Netzwerk heraus, braucht man eine SNAT-Regel (masquerade) am WAN-Port. Quasi alles was den WAN-Port verlässt, wird mittels SNAT/masquerade mit der Quell-IP des WAN-Ports versehen, damit das Ziel auch weiß wohin es antworten soll.
 
Von innen nach extern funktioniert noch nichts.


Ich habe jetzt eine solche SNAT Regel angelegt:
1535021186894.png


Traffic from: internes Netzwerk
Going to: Hyper V - port 1 (Network) (=WAN)
Change source to: Client im internen Netzwerk (=Address)


Die folgenden Regeln sind deaktiviert, trotzdem funktioniert der Zugriff von außen. (Auch wenn diese aktiv sind, funktioniert von innen nach außen nichts.)


1535020109511.png




1535020127780.png

Ergänzung ()

Reicht nicht für intern nach extern eine einfache Masq. Regel wie diese?
1535021316803.png
 

Anhänge

  • 1535020103730.png
    1535020103730.png
    37,7 KB · Aufrufe: 344
Zuletzt bearbeitet:
Manchmal reicht es nicht, das ganze nur von innen zu testen. Um das Masquerade zu testen, musst du dich evtl. an den WAN-Port klemmen. Eventuell wird ja die Regel korrekt ausgeführt, aber das Netz dahinter blockt bzw. ignoriert den Traffic. Prüfe daher das dortige Gateway ob der Traffic korrekt am Gateway ankommt.

Und jein, Masquerading ist (S)NAT. Damit weiß das Ziel, dass es an die IP des Routers bzw. der Sophos antworten soll. Allerdings kann die Antwort dennoch von der Firewall geblockt werden. Dazu dient in meinem obigen Beispiel die erste Firewall-Regel, Accept established/related. Wie das in Sophos aussieht, kann ich nicht sagen, hab noch nie Sophos in der Hand gehabt.
 
Ich hatten den Client davor ohne Firewall (Sophos) an dem dortigen Netzwerk. So hatte dieser kompletten Internetzugriff
Ergänzung ()

Und wenn ich in den Live-Log von Sophos schaue, sehe ich, dass alle Anfragen von dem internen CLient von Sophos im Default Drop verworfen werden. Also muss es ja an den Sophos Einstellungen liegen.
 
Die Sophos hat bestimmt auch einen oder mehrere Wizards für die Ersteinrichtung. Da müsste dann die Firewall standardmäßig vorkonfiguriert werden. Letztendlich reden wir hier ja von einer 08/15 Konfiguration.
Ergänzung ()

Schau dir mal dieses und die folgenden Videos an. Da wird der Setup-Wizard benutzt, um das Ding einzurichten. Hab mich zwar nur durch das erste Video geklickt, aber ich gehe davon aus, dass dieses oder vergleichbare Videos dir weiterhelfen. Es ist wenig sinnvoll, wenn man hier Stück für Stück jede Option durchkaut, wenn du stattdessen einer solchen Anleitung folgen kannst.

Eine Firewall zu konfigurieren ist nun mal etwas anderes als ein 08/15 Router, weil dieser wiederum seine Firewall und das NAT komplett hinter Wizards versteckt und hinter den Kulissen 90% der Arbeit erledigt. Wenn du beispielsweise in einem normalen Router eine Portweiterleitung einrichtest - oder dem Wizard sagst welchen Port du gerne hättest - dann wird automatisch eine Ausnahme zur Firewall hinzugefügt. Bei einem fortgeschrittenen Gerät passiert das nicht zwangsläufig und du musst unter Umständen selbst daran denken. Ergo muss man sich etwas in die Konzepte von Netzwerkverbindungen, Ports, Connection States, NAT, Firewall, etc. einlesen.
 
Zuletzt bearbeitet:
Genau das habe ich schon gemacht. Ich habe schon gefühlt alle Videos durchgeschaut und auch die Dokumentation dazu befragt.

Ich hatte jetzt nochmal alle Regeln gelöscht und alles nochmal von vorn gemacht. Wenn man sich so anstellt und Geoblocking aktivier hat und man nur einen Service testet, dessen Server in einem verbotenen Land stehen kann es ja nicht funktionieren........:(
 
Eine Frage hätte ich aber dennoch. Es reicht nun aus für den ausgehenden Traffic die SNAT-Regel zu aktivieren um eine Internetverbindung von Innen nach außen zu haben. Wieso ist eine Masq. Regel nicht notwendig? Wird diese durch das eigentliche NAT ersetzt?
 
Masquerade ist SNAT.

SNAT (Source NAT) ersetzt die Quelle eines Pakets mit den in der Regel definierten Werten.

Masquerade tut dasselbe, kommt aber ohne explizite Werte in der Regel aus, weil automatisch die IP des Interfaces, an dem das Paket den Router verlässt (zB WAN) , herangezogen wird.

Ergo: Man kann eine Masquerade Regel auch durch eine SNAT Regel ausdrücken, indem man als zu ersetzende Adresse eben die Adresse des Interfaces nimmt. Bei statischer IP des Interfaces wären Masquerade und die SNAT Regel äquivalent. Ist die IP jedoch dynamisch, klappt eine statische SNAT Regel natürlich nicht, daher das Masquerade.
 
Zurück
Oben