ip services
, ,

RouterOS basierte Systeme absichern

Es gibt sicherlich unterschiedliche Varianten wie man ein auf RouterOS basiertes System absichern kann. Dieser Artikel soll einige Anlaufstellen aufzeigen, die man je nach Anforderung beachten sollte.

Die erste und einfachste Anlaufstelle bei einem RouterOS system sind sicherlich die ip services. Hier gilt es wirklich nur die benötigten Dienste zu aktivieren und auch einen IP-Adressbereich anzugeben. Per default sind viele Dienste wie z.B. Telnet, FTP aktiviert. Je nach Anforderung werden diese Dienste nicht benötigt oder müssen nur aus dem internen Netz zu erreichen sein. Solch ein Vorgehen kann schon ausreichen, wenn es sich beim RouterOS basiertem system um ein einfaches Internet-Gateway handelt, der aber aus dem Internet nicht zu erreichen sein muss. Da man bei den Adressen aber nur einen Bereich angeben kann, wird man dieses Verfahren bei größeren Installationen nicht immer anwenden können.

Das Beispiel zeigt die Default-Einstellungen eines RouterOS basierten Systems.

ip services

 

Zum einfachen Absichern würde man jetzt die benötigte Dienste deaktivieren. Dazu gehört würde z.B. Telnet gehören. Eine gesicherte Terminalverbindung mit dem RouterOS würde man über SSH realisieren. Dazu macht man alle anderen (aktive) Dienste nur noch aus dem internen Netz erreichbar. In der Konsole können wir die Dienste einfach deaktivieren, in dem wir sie über die ID ansprechen. Das Beispiel zeigt wie man Telnet deaktiviert und den anderen Diensten einen IP-Bereich gibt.

/ip service set 0 disabled=yes
/ip service set 2,3,5,6,7 address=192.168.1.0/24

 

Die neuen Einstellungen sind dann wie folgt:

ip services secure

Somit ist der Zugriff per Telnet deaktiviert und der Zugriff auf die aktiven Dienste nur noch aus dem Netzwerk 192.168.1.0/24 möglich.

 

So nach diesen ersten Einstellungen soll es weiter gehen. Es gibt viele Gründe warum es nicht ausreichend ist nur die Dienste zu aktivieren. Im nächsten Schritt werden dynamische Einträge in der Adress-List verwendet. Hiermit kann man z.B. Regeln erstellen, die Angreifer IP-Adressen nach bestimmten kriterien blockieren. Es werden hier bestimmte Systemausgaben überwacht  in Abhängigkeit von der Zieladresse und der Häufigkeit in der diese Meldungen auftreten. Übetritt die Zieladresse dann einen Schwellwert, wird sie für einen bestimmten Zeitraum vom System geblockt.

Beispiel:

An hand von Regeln für den SSH-Zugang wird hier gezeigt wie man vorgehen kann. Dabei ist es wichtig dass die Regeln in dieser Reihenfolge nachher im System vorhanden sind, da die Regeln in dieser Reihenfolge greifen.

Beim dritten SSH-Verbindungsversuche innerhalb von einem Tag (nach dem zweiten), wird eine Absender-IP die schon in der ssh_blacklist vorhanden ist, direkt gedropt.

add action=drop chain=input comment="DROP input SSH brute force" disabled=no \
    dst-port=22 protocol=tcp src-address-list=ssh_blacklist

 

Bei einem zweiten SSH-Verbindungsversuch innerhalb von 5 Minuten (nach dem ersten) wird die Absender-IP die schon in der Liste ssh-step_1 vorhanden ist, nun auch in liste ssh-step_2 geschrieben:

add action=add-src-to-address-list address-list=ssh_step_2 \
    address-list-timeout=5m chain=input comment=\
    "ADR-LIST SSH step_1 -> step_2" connection-state=new disabled=no \
    dst-port=22 protocol=tcp src-address-list=ssh_step_1

 

Beim ersten SSH-Verbindungsversuch von einer beliebigen IP-Adresse greift diese Regel und schreibt die Absender-IP in die Liste ssh-step_1:

add action=add-src-to-address-list address-list=ssh_step_2 \
    address-list-timeout=5m chain=input comment=\
    "ADR-LIST SSH step_1 -> step_2" connection-state=new disabled=no \
    dst-port=22 protocol=tcp src-address-list=ssh_step_1

 

In dieser Regeln wird der SSH-Zugang schlussendlich für jede Absender-IP, die nicht oben geblockt wurde, erlaubt:

add action=accept chain=input comment="ALLOW input SSH TO Router itself" \
    connection-state=new disabled=no dst-port=22 protocol=tcp

 

Die Anzahl der möglichen Fehlversuche (steps) kann natürlich beliebig erweitert werden, bevor die Drop-Regel greifen soll. Außerdem kann durch ändern des Ports, die Regel schnell auf andere Dienste angepasst werden.

 

Alle Angaben sind ohne Gewähr, die Veränderung Ihrer Systeme erfolgt auf eigene Gefahr.

0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.