Firewall mit Löchern ?
Hallo,
nachdem mir in anderen Beiträgen Vorschläge gemacht wurden, meine Firewall zu prüfen und zu überarbeiten habe ich das nun nochmals gemacht.
Es wäre sehr schön, wenn mir jemand konkret sagen könnte, was noch fehlt oder welcher Eintrag noch Fehler enthält.
Ich habe zur Erstellung der Regeln mir bekannten Tutorials und Anleitungen genutzt. Dabei sicher noch einiges Übersehen, oder Regeln in die falsche Reihenflge gesetzt.
Insbesondere ist die Regel in Zeile 36 notwendig um aus dem 100er Netz ins Internet zu kommen. Diese Regel wurde aber als "scheunentor" bezeichnet. Danke für eine konkrete Hilfe !
nachdem mir in anderen Beiträgen Vorschläge gemacht wurden, meine Firewall zu prüfen und zu überarbeiten habe ich das nun nochmals gemacht.
Es wäre sehr schön, wenn mir jemand konkret sagen könnte, was noch fehlt oder welcher Eintrag noch Fehler enthält.
Ich habe zur Erstellung der Regeln mir bekannten Tutorials und Anleitungen genutzt. Dabei sicher noch einiges Übersehen, oder Regeln in die falsche Reihenflge gesetzt.
Insbesondere ist die Regel in Zeile 36 notwendig um aus dem 100er Netz ins Internet zu kommen. Diese Regel wurde aber als "scheunentor" bezeichnet. Danke für eine konkrete Hilfe !
/ip dns static
add address=10.0.0.85 name=myxxxxxx.duckdns.org
/ip firewall address-list
add address=10.0.0.0/24 list=VLAN1
add address=192.168.1.0/24 list=Wireguard
add address=192.168.10.0/24 list=VLAN10
add address=192.168.20.0/24 list=VLAN20
add address=192.168.100.0/24 list=VLAN100
/ip firewall filter
add action=accept chain=forward comment="Foreward Homeassistant" dst-address=\
10.0.0.85 dst-port=8123 protocol=tcp
add action=drop chain=input comment="WAN -> FW | Ping blockieren" \
in-interface=pppoe-out1 protocol=icmp
add action=accept chain=input comment=\
"ALLG | Erlauben: established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=input comment="LAN -> FW erlauben" in-interface=\
bridge
add action=drop chain=input comment="Rest verwerfen" connection-state=""
add action=accept chain=forward comment="allow VLAN100 to VLAN20" \
dst-address-list=VLAN20 src-address-list=VLAN100
add action=accept chain=forward comment="allow VLAN100 internet" \
out-interface-list=WAN src-address-list=VLAN100
add action=accept chain=forward comment="allow VLAN100 to VLAN1" \
dst-address-list=VLAN1 src-address-list=VLAN100
add action=accept chain=forward comment="allow VLAN10 only internet" \
out-interface-list=WAN src-address-list=VLAN10
add action=accept chain=forward comment="allow VLAN1 internet" \
out-interface-list=WAN src-address-list=VLAN1
add action=accept chain=forward comment="allow VLAN20 only Internet" \
out-interface-list=WAN src-address-list=VLAN20
add action=accept chain=forward comment="allow VLAN1 to VLAN20" \
dst-address-list=VLAN20 src-address-list=VLAN1
add action=accept chain=forward comment="allow VLAN1 to VLAN100" \
dst-address-list=VLAN100 src-address-list=VLAN1
add action=accept chain=forward comment=\
"ALLG. | Aufgebaute Verbindungen erlauben"
add action=drop chain=input comment=\
"ALLG.| Alles ohne Verbindungsstatus DROP" connection-state=invalid
add action=accept chain=input comment="WAN -> FW | WireGuard-Zugriff" \
dst-port=13331 protocol=udp
add action=accept chain=input dst-address=192.168.1.1 in-interface=\
wireguard-vpn
add action=drop chain=input comment="drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="VPN -> LAN | Netzwerkzugriff" \
dst-address=!192.168.1.0/24 in-interface=wireguard-vpn out-interface=\
all-vlan
add action=accept chain=forward comment=\
"LAN -> WAN | Internet zugriff erlauben" in-interface=wireguard-vpn \
out-interface=pppoe-out1
add action=accept chain=forward comment=\
"LAN -> WAN | Internet zugriff erlauben" in-interface=bridge \
out-interface=pppoe-out1
add action=drop chain=forward comment="ALLG. | Alles andere verwerfen"
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment="Port Forward 8123 TCP" dst-port=8123 \
in-interface=pppoe-out1 protocol=tcp to-addresses=10.0.0.85 to-ports=443
add action=dst-nat chain=dstnat comment="Port Forward 443 TCP" dst-port=443 \
in-interface=pppoe-out1 protocol=tcp to-addresses=10.0.0.85 to-ports=443
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=tcp src-address=80.69.193.112 src-port=\
5060 to-addresses=10.0.0.111 to-ports=5060
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
5060 to-addresses=10.0.0.111 to-ports=5060
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7077 to-addresses=10.0.0.111 to-ports=7077
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7078 to-addresses=10.0.0.111 to-ports=7078
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7079 to-addresses=10.0.0.111 to-ports=7079
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7080 to-addresses=10.0.0.111 to-ports=7080
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7081 to-addresses=10.0.0.111 to-ports=7081
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7082 to-addresses=10.0.0.111 to-ports=7082
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7083 to-addresses=10.0.0.111 to-ports=7083
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7084 to-addresses=10.0.0.111 to-ports=7084
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7085 to-addresses=10.0.0.111 to-ports=7085
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7086 to-addresses=10.0.0.111 to-ports=7086
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7087 to-addresses=10.0.0.111 to-ports=7087
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7088 to-addresses=10.0.0.111 to-ports=7088
add action=accept chain=dstnat comment=\
"WAN -> LAN | SIP-Anbieter Netcom zu FritzBox fr Telefonie" \
in-interface-list=WAN protocol=udp src-address=80.69.193.112 src-port=\
7089 to-addresses=10.0.0.111 to-ports=7089
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 83703940348
Url: https://administrator.de/contentid/83703940348
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
15 Kommentare
Neuester Kommentar
Insbesondere ist die Regel in Zeile 36 notwendig um aus dem 100er Netz ins Internet zu kommen. Diese Regel wurde aber als "scheunentor" bezeichnet.
Vergleicheadd action=accept chain=input comment=\
"ALLG | Erlauben: established,related,untracked" connection-state=\
established,related,untracked
add action=accept chain=forward comment=\
"ALLG. | Aufgebaute Verbindungen erlauben"
add action=accept chain=forward connection-state=established,related
Und vor allem wollen wir damit ja nur bereits in der Connection Tracking Tabelle gelistete und von intern aufgebaute Verbindungen auf dem Rückweg wieder zulassen, nicht beliebige wie sie bspw. aus dem WAN initiiert werden könnten.
Mit den States "established und related" sagst du der Firewall genau das, vereinfacht geschrieben: "lasse eine Verbindung zu sofern es in der Connection Tracking Datenbank bereits einen Eintrag für Quelladresse und Quell-Port und Zieladresse und Ziel-Port existiert oder nach Analyse zur Verbindung (related) gehört."
Ohne eine Statefull Firewall müsstest du nämlich immer Regeln für beide Richtungen anlegen und nicht nur für die Ausgehende.
Deswegen lautet für als nächstes deine Hausaufgabe : Lies dich in das Thema Statefull Firewall ein und verstehe das Konzept was dahinter steckt .
https://www.computerweekly.com/de/antwort/Wie-unterscheiden-sich-Statefu ...
Denn auch das ist essentiell für das Verständnis eines Firewall-Regelwerks.
Stay strong💪
Gruß Katrin
Du droppst ICMP komplett. ICMP ist aber nicht nur Ping, das ist viel mehr und bereitet dir irgendwann Kopfschmerzen weil PMTU Discovery kaputtgeht. Und allerspätestens wenn du da IPv6 hinzufügst geht alles kaputt.
Ob das sinnvoll ist oder nicht steht auf einem anderen Blatt, es gibt zumindest keine Evidenz dafür, dass es irgendeinen Sicherheitsvorteil hat Ping zu verschlucken. Es macht im Zweifel nur das Debugging schwieriger.
Ob das sinnvoll ist oder nicht steht auf einem anderen Blatt, es gibt zumindest keine Evidenz dafür, dass es irgendeinen Sicherheitsvorteil hat Ping zu verschlucken. Es macht im Zweifel nur das Debugging schwieriger.
Zitat von @sat-fan:
Danke ! Das Hilft zum Verständniss.
leider mache ich mich damit aber zu sehr geschlossen.
Die Amazon API kann dann keine verbindung mehr zu Alexa aufbauen und meine Lichter schalten.
Amazon baut selbst keine Verbindung auf das macht das Endgerät in deinem Netz, sonst müsste ja jeder Hinz der sich so ein Gerät kauft eine Portweiterleitung am Router machen , da ist also Quatsch mit Soße 🤪.Danke ! Das Hilft zum Verständniss.
leider mache ich mich damit aber zu sehr geschlossen.
Die Amazon API kann dann keine verbindung mehr zu Alexa aufbauen und meine Lichter schalten.
Wenn ich die alte Regel unten einfüge, sehe ich im log das dort wohl der Eintrag durch kommt.
Denke das ist der richtige Part aus dem log
192.168.20.20 ist eine Lampe
Wie kann ich dazu ne Regel machen. Verstehe den log Eintrag nicht wirklich:
Denke das ist der richtige Part aus dem log
192.168.20.20 ist eine Lampe
Wie kann ich dazu ne Regel machen. Verstehe den log Eintrag nicht wirklich:
Ganz normaler Log für incoming Traffic einer established Verbindung die das Gerät von intern aufgebaut hat .
muß ich einen generellen forward von dem Amazon-server zulassen.
Nein! Die Verbindungen von dem IOT Gedöhns wird immer von innen aufgebauf und offen gehalten , von extern wird nur die bestehende Verbindung genutzt die das Gerät selbst aufbaut.Bring das Regelwerk in die richtige Reihenfolge und lege für die Portweiterleitungen entsprechende Forward Chain Freigabe an dann läuft das.
Und nochmal der Hinweis, verwende die Basis-FW-Template wenn du noch am Anfang deiner Erfahrungssammlung mit der FW bist
https://help.mikrotik.com/docs/display/ROS/Building+Your+First+Firewall
Die ist wasserdicht läuft auf jeden Fall und du kannst darauf aufbauen. Wenn du bei Null mit deinem Wissenstand anfängst und dich nur mit Forum da durch kämpfst wird das nichts vernünftiges.
Zum Thema Logging, musst du den Drop der Forward Chain anschauen nicht das was durch geht.
Natürlich, für jedes DST-NAT brauchst du eine entsprechende Forward-Rule die den Traffic in der Forward-Chain durchlässt.
Aber sowas macht man meist mit einer einzigen Regel wie dieser hier
Dann reicht es zukünftig nur die DSTNAT Regel anzulegen, denn durch das connection-nat-state=dstnat weis die Forward-Chain das es von einer DSTNAT Regel kommt und kann es dann durchlassen.
Spart dir bei diversen Port-Forwards einiges an Regeln, und du weißt ja hoffentlich das jede Regel zusätzlich den Router potentiell langsamer macht. Deswegen sollte man hier so weit es geht sparsam agieren.
Aber sowas macht man meist mit einer einzigen Regel wie dieser hier
/ip firewall filter add chain=forward in-interface-list=WAN connection-nat-state=dstnat action=accept place-before=0
Spart dir bei diversen Port-Forwards einiges an Regeln, und du weißt ja hoffentlich das jede Regel zusätzlich den Router potentiell langsamer macht. Deswegen sollte man hier so weit es geht sparsam agieren.
Ach ja und die ganzen einzelnen Port-Forwards für die Telefonie lassen sich zu einer einzigen zusammenfassen wenn du stattdessen Port-Ranges für hintereinanderliegende Ranges verwendest ...
Es wäre sehr schön, wenn mir jemand konkret sagen könnte, was noch fehlt oder welcher Eintrag noch Fehler enthält.
Du kannst keine Firewall über ein Forum konfigurieren. Das muss Dir doch klar sein.Klar gibt es hier (oft sehr gute und) gerne Tipps - die können aber immer nur die Richtung weisen.
Am 2.10. habe ich Dir (vor Anschaffung des Gerätes) geschrieben:
Bei Mikrotik aber immer beachten: Steile Lernkurve! Geht nur mit Lust und Zeit, um sich solide Grundkenntnisse anzueignen.
Überlesen? Vergessen? Ignoriert?Du musst verstehen. Jede einzelne und individuelle Regel. Und ja, das ist mühsam. Nicht nur für Dich. Kollege @8030021182 geht das im Schlaf von der Hand, aber nicht jeder kann Oberliga. Und trotzdem lohnt sich Router OS auch für Dich (und mich). Wenn Du es ernst nimmst. Über mittlerweile wohl 20 Threads sehe ich diese Erkenntnis nicht.
Wenn Du die Prinzipien verstanden hast, wird es auch zunehmend leichter und interessanter. Und Du wirst sicherer. Nimm Dir ein paar Wochen oder auch Monate Zeit zum Lernen. Gibt gute Kurse, nicht mal teuer: https://mynetworktraining.com/p/mikrotik-bundle-update
Netzwerkgrundlagen sogar in bester Aufbereitung gratis: https://www.youtube.com/watch?v=X344jZ2gowA&list=PLCb8EhYsrW_vHZDA_8 ...
Es bringt Dich hingegen wenig weiter, hier alle 5 Minuten um Rat zu betteln und Dir zugleich nicht die Zeit zu nehmen, die Dinge zu lernen - bzw. statt dessen die diesbezüglichen Ratschläge (s.o.) hier in den Wind zu schreiben. Auf diese Weise wird Dein Netz immer unsicher sein.
Du hast schon ein gutes Grundverständnis, Du kannst das locker schaffen. Mit den Worten von @8030021182:
Stay strong💪
... und fang' endlich an.Viele Grüße, commodity
Dein Problem ist, dass Du als Laie versuchst, in zwei Wochen etwas umzusetzen, was schon zur Grundlagenbildung Monate brauchen würde. Wenn Du denn mal anfangen würdest, statt Dich mit immer neuen Fehlkonfigurationen vom Wesentlichen abzulenken.
Bestimmt kaufst Du Dir auch ne Wärmepumpe, ein paar Rohre und Lot, wenn Du eine neue Heizung brauchst. Gibt bestimmt ein Heizung-Wasser-Sch... Forum
Viele Grüße, commodity
Bestimmt kaufst Du Dir auch ne Wärmepumpe, ein paar Rohre und Lot, wenn Du eine neue Heizung brauchst. Gibt bestimmt ein Heizung-Wasser-Sch... Forum
Viele Grüße, commodity
Zitat von @sat-fan:
War so stolz alles soweit verstanden zu haben und nun geht der static dns eintrag nicht mehr.
Muss wohl alle schlechte FW Backups wieder einspielen und schauen, warum es plötzlich nicht mehr geht.
War so stolz alles soweit verstanden zu haben und nun geht der static dns eintrag nicht mehr.
Muss wohl alle schlechte FW Backups wieder einspielen und schauen, warum es plötzlich nicht mehr geht.
Das ist nicht nötig. Logisch und strategisch denken und Debug-Log an der Forward-Block Rule einschalten reicht hier eigentlich völlig:
1. Client fragt seinen DNS-Server nach my.duckdns.org, hier sollte das also der Mikrotik sein wenn er diesen Eintrag finden soll.
2. Client erhält 10.0.0.85 als Antwort, damit schickt der Client sein Paket an sein Default-Gateway sofern die Adresse/Subnetz nicht in seiner eigenen Routing-Tabelle zu finden ist.
3. Der Router erhält das Paket in seiner Forward-Chain und sucht dort nach einem passenden Eintrag der den Traffic von bspw
SRC 192.168.20.20 => DST 10.0.0.85 zulässt. Findet er dort keine passende Regel wird die Verbindung geblockt, weil deine Forward-Chain ja am Ende eine generelle Block-Rule enthält, gibt es stattdessen eine Regel die auf die SRC und DST passt wird das Paket durchgelassen und das Paket erreicht sein Ziel.
Nun weißt du was bei dir fehlt. 🤞
d.h. ich kann die webseite https://my.duckdns:442 nicht mehr erreichen
Wenn du dir den Port nochmals genau anschaust dann weißt du auch warum das nicht geht 🤪🤣. Aber immer erst voreilig ins Forum schreiben statt vorher mal selbst etwas länger die grauen Zellen anzustrengen ...Leider bist du auch so stur und nimmst nicht mal das Template aus der Mikrotik-Doku als Anfang, tja dann lernst du eben auf die harte Tour.
"Good Luck" muss man hier wohl im wahrsten Sinne des Wortes wünschen, Ich bin dann mal raus.
Thema erledigt.