Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
== Informationen == | == Informationen == | ||
Letzte Anpassung zur Version: '''11.7''' | |||
<br> | <br> | ||
Bemerkung: Artikelanpassung | Bemerkung: Artikelanpassung |
Version vom 8. Juli 2019, 15:36 Uhr
Informationen
Letzte Anpassung zur Version: 11.7
Bemerkung: Artikelanpassung
Vorherige Versionen: -
Einleitung
Bei der Konfiguration der UTM werden für mehrere Anwendungen reguläre Ausdrücke (kurz Regex) benötigt. Ein Regex wird dazu verwendet, um eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTM erklärt.
Zusammensetzung
Innerhalb des Regex werden folgende Zeichen verwendet.
. steht für ein beliebiges Zeichen
[abc] matcht auf alle Buchstaben in den Klammern: a, b oder c
[^abc] matcht auf alle Buchstaben bis: a, b oder c
[a-z] matcht auf alle Buchstaben von: a bis z
[a-zA-Z] matcht auf alle Buchstaben von: a bis z oder A bis Z
^ steht für den Beginn einer Zeile
$ steht für das Ende einer Zeile
\s steht für ein Leerzeichen
\ hebt die Regex-Funktion des nächsten Zeichens auf und "sucht" somit nach dem folgenden Zeichen
\r\n ist eine Return oder eine Linefeed (Windows neue Zeile)
* wiederholt das vorherige Zeichen beliebig oft - auch 0 Mal
+ wiederholt das vorherige Zeichen beliebig oft - mindestens 1 Mal
{1} steht für das vorherige Zeichen, 1 Mal
{2,4} steht für das vorherige Zeichen, 2 bis 4 Mal nacheinander
{3,} steht für das vorherige Zeichen, mindestens 3 Mal
[^:] steht für alles außer einem Doppelpunkt
Beispiele
Beispiel 1
Im Beispiel wird der eingegebene Wert eines Textfeldes geprüft. In dem Textfeld soll die Hausnummer eingetragen werden. Durch die vorher definierte Stadt bleiben nur Hausnummern von 1 bis 9 und Adresszusätze von a bis f.
Der Regex für diesen Fall würde so aussehen:
[1-9][a-f]
Wird der Adresszusatz, also a-f groß geschrieben, würde dieser Regex nicht matchen. Damit groß geschriebene Buchstaben erfasst werden, müsste der Regex so aussehen:
[1-9][A-F]
Um die Groß- UND Kleinschreibung zuzulassen, müsste der Regex so aussehen:
[1-9][a-fA-F]
Beispiel 2
Im Beispiel soll der Regex auf alle zusammenhängenden Wörter matchen, welche auf point enden.
checkpoint
mountpoint
securepoint
Ein Regex der auf alle genannten Wörter matcht sieht so aussehen:
.*point
Praktisch würde auch folgendes vom Regex erfasst werden:
das ist kein point
Um das Verhalten zu unterbinden, müsste folgender Regex verwendet werden:
[a-zA-Z]*point
Beispiel 3 - URL-Regex
Im URL-Beispiel soll auf www.securepoint.de gematcht werden.
Folgender Regex wäre korrekt:
www\.securepoint\.de
Die beiden Punkte innerhalb der URL stehen bei einem Regex normalerweise für ein beliebiges Zeichen. Am Beispiel der URL soll jedoch auf genau diesen Punkt gematcht werden und nicht auf ein beliebiges Zeichen. Wie oben bereits erwähnt, hebt der Backslash \ die Regex-Funktion des folgenden Zeichen auf. So kann auch auf den Punkt gematcht werden. In einem solchen Fall wird vom "escapen" eines Zeichens gesprochen.
Anwendungsbereiche von Regexen
HTTP-Proxy: Virenscanner
Soll beispielsweise die URL http://download.windowsupdate.com in die Whitelist des Virenscanners aufgenommen werden, ist es sehr wichtig, dass letztendlich genau diese URL in die Whitelist aufgenommen wird.
Der passende Regex lautet also:
http://download\.windowsupdate\.com/
Alternativ kann auf alle Protokolle gematcht werden. So zu finden in den vordefinierten Ausnahmen des Virenscanners:
Beispiel: ^[^:]*://download\.windowsupdate\.com/
Eine Sammlung von verschiedenen Virenscanner-Regex-Ausdrücken sind in diesem Beitrag zu finden.
HTTP-Proxy: Authentifizierungsausnahmen
In den Authentifizierungsausnahmen des Proxy muss das Protokoll nicht angegeben werden. Hier wird einfach die URL ohne Protokoll als Regex angegeben:
Beispiel: www\.securepoint\.de
HTTP-Proxy: SSL-Interception
Bei der SSL-Interception wird das selbe Prinzip wie bei den Authentifizierungsausnahmen angewendet. Die URL wird ohne Protokoll als Regex angegeben.
Beispiel: www\.securepoint\.de oder .*\.securepoint\.de