Nun ist es an der Zeit, unseren Router sicher zu machen.
Dies passiert mit Hilfe der Firewall.
In diesem Video werden wir die Firewall rudimentär einrichten, damit wir sicher online gehen können.
Dies sollte für den „normalen“ Heimgebrauch auch ausreichen.
Wer mehr möchte, kann natürlich das Ganze noch etwas erweitern und eine Statefull-Firewall damit erstellen.
Dies erfordert aber viel zeitlichen Aufwand und viele Tests, damit alles sauber läuft.
Wenn du die Firewall-Regeln direkt in einem Rutsch per Kommandozeile eingeben möchtest, habe ich hier die passenden Beispiele für dich.
Doch ACHTUNG!
Du musst ggf. die Interface-Namen und IP-Adressen auf deine Bedürfnisse anpassen!
/ip firewall filter add action=drop chain=input protocol=icmp in-interface=ether1 comment="WAN -> FW | Ping blockieren" add action=accept chain=input connection-state=established,related comment="ALLG. | Aufgebaute Verbindungen erlauben" add action=accept chain=input in-interface=bridge-lan comment="LAN -> FW | Zugriff zur Firewall" add action=accept chain=input protocol=icmp in-interface=bridge-lan comment="LAN -> FW | Ping zur Firewall erlauben" add action=accept chain=input protocol=icmp in-interface=bridge-dmz comment="LAN -> FW | Ping zur Firewall erlauben" add action=accept chain=input dst-address=192.168.88.1 protocol=udp dst-port=53 comment="DMZ -> FW | DNS erlauben UDP" add action=accept chain=input dst-address=192.168.88.1 protocol=tcp dst-port=53 comment="DMZ -> FW | DNS erlauben TCP" add action=drop chain=input comment="ALLG. | Alles ohne Verbindungsstatus blockieren" add action=accept chain=forward connection-state=established,related comment="ALLG. | Aufgebaute Verbindungen erlauben" add action=accept chain=forward protocol=icmp dst-port=80,443 in-interface=bridge-lan out-interface=bridge-dmz comment="LAN -> DMZ | Ping erlauben" add action=accept chain=forward protocol=tcp dst-port=80,443 in-interface=bridge-lan out-interface=bridge-dmz comment="LAN -> DMZ | Webserver" add action=drop chain=forward src-address=192.168.88.0/24 dst-address=192.168.89.0/24 comment="LAN -> DMZ | Alles andere verwerfen" add action=drop chain=forward src-address=192.168.89.0/24 dst-address=192.168.88.0/24 comment="DMZ -> LAN | Alles andere verwerfen" add action=accept chain=forward in-interface=bridge-lan out-interface=ether1 comment="LAN -> WAN | Internetzugriff" add action=accept chain=forward in-interface=bridge-dmz out-interface=ether1 comment="DMZ -> WAN | Internetzugriff" add action=drop chain=forward comment="ALLG. | Alles adnere verwerfen"
Eine FritzBox hinter einem MikroTik-Router
Wenn du z.B. eine FritzBox hinter deinem MikroTik-Router noch betreiben möchtest, um z.B. eine DECT-Basis zu haben, habe ich für dich hier noch die passenden Regeln.
Solltest du deine Firewall nach meinem Beispiel von oben eingerichtet haben, kann die FritzBox in der Regel ohne Probleme nach außen kommunizieren.
Dies erspart uns die Einrichtung einiger Regeln.
Solltest du deine Firewall komplett dicht gemacht haben, musst du mehr einrichten, aber dann verstehst du scheinbar schon etwas mehr von der Technik und hast damit keine Probleme 🙂
Die FritzBox benutzt folgende Ports:
5060 – TCP + UDP – SIP
7077 – 7100 UDP – RTP
Ich rate jedem, die Freigaben nur auf den genutzten SIP-Provider zu beschränken.
Das macht dich als Angriffsziel deutlich kleiner.
Firewall:
/ip firewall filter add action=accept chain=forward src-address=Quell-IP-deines-SIP-Anbieters dst-address=IPv4-Deiner-FritzBox protocol=udp src-port=5060 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie"
NAT:
Je nach Menge der gebuchten Leitungen zum telefonieren, werden mehr oder weniger NAT-Regeln benötigt. Ich habe jede einzelne NAT-Regel einzeln aufgeführt, somit kannst du einen schnellen Überblick gewinnen, welche Ports du wirklich brauchst.
Nicht genutzte Ports, können auch wieder geschlossen werden.
/ip firewall nat add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=tcp src-port=5060 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=5060 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=5060 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=5060 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7077 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7077 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7078 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7078 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7079 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7079 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7080 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7080 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7081 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7081 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7082 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7082 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7083 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7083 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7084 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7084 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7085 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7085 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7086 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7086 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7087 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7087 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7088 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7088 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7089 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7089 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie" add action=accept chain=dstnat src-address=Quell-IP-deines-SIP-Anbieters protocol=udp src-port=7090 in-interface-list=WAN to-addresses=IP-Deiner-FritzBox to-ports=7090 comment="WAN -> LAN | SIP-Anbieter zu FritzBox für Telefonie"
Wie NAT funktioniert, lernst du HIER.
Weitere Videos:
Alle Anleitungen zu MikroTik findest du HIER aufgelistet.
Hallo
vielen Dank für die anschauliche Erklärung -ich finde es toll, das hier Beispiele zur copy/paste „übernahme“ bereit gestellt werden, denn so konnte ich mir die Logik im RouterOS verdeutlichen. Dennoch habe ich eine Frage: das Beispiel Firewall RegelNr 11 – ich kann bei der Nachgestaltung keine Ports mit dem ICMP Protokoll einstellen ?liege ich richtig, das dies als ungewolltes „copy/paste“ Ergebnis während der Präsentationserstellung entstand? Eine Info wäre nett
Viele Grüsse Annette
Hi Annette,
das ist kein Bug, das ist normal.
ICMP ist ein Protokoll selbst und braucht keine Ports 🙂
Hallo,
eigentlich eine sehr gute Erklärung der Firewall und auch der IP-Tables.
Jedoch meine ich, die Zeile 10 würde „dichter“ sein, wenn dort der Connection-State gesetzt wird (estabsished, related). Oder wie ist sonst dafür die Erklärung?
Allerdings wollte ich noch wissen, wenn ich eine DMZ habe und von dieser aus zu einem gewissen Gerät (also eine bestimmte IP-Adresse) im LAN vollen Zugriff haben will. Wie würde dafür die Regel heißen?
Viele Grüße Richard
Hi Richard,
da hast du vollkommen Recht.
Die Optionen sind scheinbar irgendwo verloren gegangen. Habe die Zeile 10 nun angepasst.
Danke für den Hinweis!
Deine DMZ->LAN-Regel ist sehr simpel:
REGEL 1:
Chain: forward
Src Address = IPv4 deines Systems in der DMZ. Wenn das ganze Netz ins LAN zu einem gewissen Gerät soll, einfach das Netz inkl. Subnetzmaske eintragen (192.168.XXX.0/24)
Dst Address = IPv4 des Zielsystems
Fertig 🙂
Optional kannst du noch das Protokoll + Zielport definieren und bei In + Out Interface die LAN und DMZ-Interface oder Brücken.
REGEL 2:
Chain: forward
SRC Address = IPv4 des Zielsystems im LAN
Dst Address = IPv4 des Quellsysems der DMZ
Connection State = established + related
=> Das ist einfach nur der Rückkanal, damit Aufgebaute Verbindungen bestehen bleiben.
Danke für die Darstellung zur anbindung der FritzBox.
Beim Versuch das ganze so umzusetzen bin ich mit der „Quell-IP-deines-SIP-Anbieters “ auf Grund gelaufen. Der Provider verlangt, dass übrr eine DNS-Anfrage die entsprechende IP geliefert wird. Somit habe ich damit gleich 2 Probleme.
a) kann ich keine IP eintragen und habe bei meinen Recherchen bisher auch keine Info gefunden wie das zu bewerkstelligen wäre.
b) wenn ich keine Angabe mache so ist das ganze ja ein deutlich größeres Angriffsziel.
Wo kann ich die entsprechenden Informationen finden bzw. wie muss ich vorgehen um hier das Mikrotik Gerät sauber zu kontigurieren ?
Danke im voraus
Du kannst die IP-Adresse selbst herausfinden.
Einfach über eine Komandozeile folgenden Befehl abschicken:
nslookup sip-domain-des-providers.de
Du erhälst alle IPs, die du dann in die Firewall-Regel eintragen musst.
Andernfalls muss man mit einer Firewall-Regel die IPs in eine Liste schreiben lassen und mit der Liste dynmaische Regeln bauen.
Das ist etwas aufwendiger und wird hier in dieser Anleitung nicht beschrieben.