Dieser Artikel beschreibt, wie sie Perl-kompatible Regular Expressions innerhalb des Web Protection Features der Sophos UTM und XG Firewall nutzen können. Mit dieser Methode können sie Gruppen von Websiten spezifizieren, die sie anhand ihrer URL explizit verbieten oder erlauben möchten.
Regular Expressions können an folgenden Stellen des jeweiligen Webadmins verwendet werden:
Sophos UTM
- Web Protection -> Webfilter -> HTTPs -> URL-Filterung
- Web Protection -> Filteroptionen -> Ausnahmen
- Web Protection -> Webfilter-Profile -> Filteraktionen
Sophos XG Firewall
- Web -> Ausnahmen
Welche Elemente können in Regular Expressions genutzt werden?
Wichtig: Regular Expressions beachten Groß- und Kleinschreibung.
Einfache Suche nach einem String
Wenn sie ein Muster für die Webfilterung definieren möchten, geben sie den String auf den sie prüfen möchten ein. Wichtig ist, das sie keinen Asterisken (*) hinzufügen.
Ausdruck | Beschreibung | Beispiel |
---|---|---|
Inter |
Findet sämtliche Vorkommnisse des Strings Inter (case-sensitive). | Mit dieser Suche können sie sämtliche URLs blocken, die den entsprechenden String enthalten. Beachten sie das dadurch auch Inhalte geblockt werden können, die den String in einem anderen Kontext verwenden. Blockieren sie also „auto“ werden Webseiten die „automatik“ enthalten auch blockiert, aber nicht Webseiten die „Auto“ enthalten. |
Hinweis: Metazeichen müssen in dieser Suche maskiert werden (siehe nachfolgend)
Die String-Suche funktioniert nicht mit non-ASCII-Zeichen. Domainnamen die non-ASCII-Zeichen verwenden müssen mit Hilfe ihres internationalisierten Domainnames (IDN) eingegeben werden. Bei der IDN handelt es sich um einen ASCII-String mit Punycode-Transkription mit xn-- vorangesetzt, dem sogenannten ACE-Prefix. Sie können den IDN einer Webseite herausfinden indem sie im Webfilter-LiveLog nachsehen oder in dem sie einen Punycode-Konverter benutzen. Einige Browser zeigen auch den IDN direkt an, statt den tatsächlich eingegebenen String. Non-ASCII-Zeichen sind alle Zeichen die nicht das lateinische Alphabet nutzen, sowie solche Zeichen, die auf lateinischen Zeichen basieren, wie zum Beispiel Umlaute oder Buchstaben mit Akzenten. Beispiel: Die Domain „bücher.com“ wird wie folgt übersetzt: xn--bcher-kva.com
Suche nach Meta-Zeichen
Meta-Zeichen, also Zeichen mit einer speziellen Bedeutung innerhalb von Regular Expressions, müssen maskiert werden, wenn Sie danach suchen möchten.
Zeichen | Beschreibung | Beispiel |
---|---|---|
\ | Mit vorangestelltem Backslash verlieren Meta-Zeichen ihre besondere Bedeutung. Meta-Zeichen sind .()\?*|+{}^$[] | astaro\.com findet astaro.com |
Platzhalter für einzelne Zeichen
Anstelle eines festgelegten Zeichens können sie Platzhalter verwenden, um beliebige Zeichen oder vordefinierte Gruppen von Zeichen zu ersetzen
Ausdruck | Beschreibung | Beispiel |
---|---|---|
. | Platzhalter für ein einzelnes Zeichen | filer.1 findet e.g. filerA1 und filer/1 aber nicht filerA2 |
\w |
Platzhalter für ein Word-Zeichen (Ziffer, ASCII-Zeichen, Unterstrich) | filer\w findet e.g. filer1 und filerA aber nicht filer- or filer? |
\W |
Platzhalter für Nicht-Word-Zeichen | filer\W findet e.g. filer? und filer- aber nicht filerA or filer1 |
\d |
Platzhalter für eine Ziffer | filer\d findet e.g. filer1 und filer2 aber nicht filerA |
\D |
Platzhalter für eine Nicht-Ziffer | filer\D findet e.g. filerA und filer? aber nicht filer1 |
[aAbBc] |
Platzhalter für ein Zeichen innerhalb der Klammern | filer[12] findet e.g. filer1 und filer2 aber nicht filer3 |
[^aAbBc] |
Platzhalter für alle Zeichen ausser denen in Klammern | [^?] findet alle Zeichen ausser ?. |
[0-9] |
Platzhalter für eine Ziffer | wie oben |
[a-z] |
Plathalter für ein Zeichen von a-z (case-sensitive) | filer[a-z] findet e.g. filera und filerx aber nicht filer3 oder filerA |
[A-Z] |
Platzhalter für ein Zeichen von A-Z (case-sensitive) | filer[A-Z] findet e.g. filerA und filerX aber nicht filer3 oder filera |
[0-9a-z_] |
Platzhalter für ein Zeichen innerhalb der Klammer | [0-9a-zA-Z_] agiert wie \w , siehe oben |
Modifier
Ein Modifier beeinflusst die gesamte Suchanfrage
Ausdruck | Beschreibung | Beispiel |
---|---|---|
(?i) | Die folgende Suchanfrage wird ohne Groß- und Kleinschreibung zu beachten durchgeführt. | (?i)http findet http, HTTP, Http, etc. |
Grouping
Ausdruck | Beschreibung | Beispiel |
---|---|---|
(expression) |
Runde Klammern werden zur Gruppierung genutzt. Dies beeinflusst beispielsweise nachfolgende Quantifikatoren | siehe unten |
Alternation
Mithilfe des Pipe-Symbols (|) können sie alternierende Elemente spezifizieren.
Ausdruck | Beschreibung | Beispiel |
---|---|---|
(red|blue|green) |
Findet eines der durch Pipe (|) separierten Elemente. Beachten sie das ein Element wiederum aus komplexen Suchanfragen bestehen kann | (com|org) findet beide URLs, sowohl com als auch org. |
Quantifier
Quantifier helfen Ihnen beim Auffinden von Strings, die eine bestimmte Anzahl festgelegter Zeichen enthalten. Beachten sie das unter den folgenden Ausdrücken „n“ jeweils auch ein komplexer Suchausdruck sein kann.
Ausdruck | Beschreibung | Beispiel |
---|---|---|
n+ |
Findet alle Elemente in denen „n“ ein oder mehrmals hintereinander vorkommt | .+? findet ? mit einem beliebigen String davor |
n* |
Findet alle Elemente mit keinem oder mehreren „n“ in Folge | .*? findet ein ? mit nichts oder einer zufälligen Zeichenkette davor |
n? |
Passt auf jede Zeichenkette, die null oder ein Vorkommen von n in einer Zeile enthält | https?: findet http: sowie https: |
n{X} |
Passt auf jede Zeichenkette, die eine Folge von X n’s enthält | \.\d{3}\. findet zwei Punkte mit drei Ziffern dazwischen |
n{X,Y} |
Passt auf jede Zeichenkette, die eine Folge von X bis Y n’s enthält | \.\d{1,3}\. findet zwei Punkte mit ein bis drei Ziffern dazwischen |
n{X,} |
Passt auf jede Zeichenkette, die eine Folge von mindestens X n’s enthält | \.\d{4,}\. findet alle Vorkommen von mindestens vier Ziffern zwischen zwei Punkten |
Anchors
Mit Anchors können sie Stellen spezifizieren an denen ein Muster auftaucht. Beachten Sie, dass in der folgenden Tabelle „n“ auch für komplexe Suchanfragen stehen kann.
Expression | Description | Example |
---|---|---|
\bn |
Findet „n“, aber nur wenn es am Anfang eines Wortes steht. | \bexample\.com findet www.example.com und my-example.com aber nicht thisexample.com |
n\b |
Findet „n“, aber nur wenn es am Ende eines Wortes steht. | example\b findet www.example.com und example-2.com aber nicht example2.com |
\Bn |
Findet „n“, aber nur wenn es nicht am Anfang eines Wortes steht. | \Bexample\.com findet www.thisexample.com und that_example.com aber nicht www.example.com |
n\B |
Findet „n“, aber nur wenn es nicht am Ende eines Wortes steht. | example\B findet www.example2.com aber nicht example.com |
^n |
Findet „n“, solange es am Anfang einer Zeile steht. | ^https: findet alle URLs die mit https beginnen. |
n$ |
Findet „n“, solange es am Ende einer Zeile steht. | \.zip$ findet alle URLs die mit .zip enden. (Hinweis: Die URL, die im Browserfenster angezeigt wird, muss nicht zwangsläufig mit der tatsächlichen URL übereinstimmen.) |
Beispiele
URLs, die aus IPv4-Adressen bestehen
Suchanfrage: ^https?://\d+(\.\d+){3}/
Erklärung: Sucht nach einem String, der mit http beginnt, gefolgt von keinem oder einem ’s‘, einem Doppelpunkt und zwei Schrägstrichen, dann gefolgt von einer oder mehreren Ziffern, dann gefolgt von drei Zeichenketten, die jeweils aus einem Punkt und einer oder mehreren Ziffern bestehen, zum Schluss ein Schrägstrich. Der URL-String kann fortgeführt werden.
URL der Firma company.com
Suchanfrage: ^https?://[A-Za-z0-9.-]+\.company\.com
Erklärung:
Sucht nach einem String, der mit http beginnt, gefolgt von keinem oder einem ’s‘, einem Doppelpunkt und zwei Schrägstrichen, dann folgen ein oder mehrere Buchstaben, Zahlen, Punkte oder Bindestriche und schließlich die Zeichenkette ‚.company.de‘. Die URL-Zeichenkette kann fortgesetzt werden. Wenn Sie einen zusätzlichen Ausdruck definieren möchten, der die Zeichenfolge ‚company‘ direkt nach den beiden Schrägstrichen definiert, verwenden Sie ^https?://company.com.
Eine URL erlauben, alles andere blocken, und vor fehlerhafte Variablen schützen
Suchanfrage: ^[^?]*\.allowed-site\.com
Erklärung:
Dies bedeutet, von links nach rechts gelesen, „vom Anfang des Strings, stimme nicht mit „?“ überein, dann stimme mit .allowed-site.com überein“. Der URL-String kann fortgesetzt werden. Die Nichtübereinstimmung mit einem ? schützt vor der Übergabe einer fehlerhaften Variable in der URL, damit die URL mit den erlaubten Elementen übereinstimmt und sie geladen wird, wie beispielsweise www.blocked-site.com/?www.allowed-site.com.
URL mit spezifischer Endung
Suchanfrage: .*\.com.*
Erklärung: Sucht nach .com, mit einer beliebigen Anzahl von Zeichen davor und danach.
URL mit Muster nach dem ersten Schrägstrich
Suchanfrage: ^https?://[^/]*/Expression
Erklärung: Findet eine URL, beginnend mit http:// oder https:// gefolgt vn keinem oder mehr willkürlichen Zeichen (ausgenommen Schrägstrich), gefolgt von einem Schrägstrich, gefolgt von „Expression“.
Standard-Ausnahmen auf Sophos UTM und XG Firewall
UTM
Die Sophos UTM und Sophos XG Firewall enthalten standradmäßig vordefinierte Webfilterausnahmen unter erlaubten Seiten. Alle Einträge in diesen erlaubten Seiten können von bestimmten Web Protection-Diensten ausgeschlossen werden. Die erlaubten Seiten enthalten standardmäßig einige Einträge mit Perl Regular Expressions. Hier eine kurze Erläuterung dieser:
Ausnahme | Erklärung |
---|---|
^https?://([A-Za-z0-9.-]*\.)?adobe\.com/ |
Diese Suchanfrage findet URLs beginnend mit http:// oder https:// gefolgt von
Der URL-String kann sich weiter fortsetzen. |
^https?://([A-Za-z0-9.-]*\.)?apple\.com/
|
Wie im Beispiel oben |
^http://[A-Za-z0-9.]+\.youtube\.com/videoplayback
|
Diese Suchanfrage findet URLs beginnend mit http:// gefolgt von einem String bestehend aus einem oder mehreren Buchstaben, Zahlen oder Punkten gefolgt von .youtube.com/videoplayback oder .googlevideo.com/videoplayback. Der URL-String kann sich weiter fortsetzen. |
^https?://[A-Za-z0-9.-]*\.ovi\.com |
Diese Suchanfrage findet URLs beginnend mit http:// oder https:// gefolgt von einem String bestehend aus keinem oder mehr Buchstaben, Zahlen, Punkten und Schrägstrichen, gefolgt von .ovi.com. Der URL-String kann sich weiter fortsetzen. |
^https?://[A-Za-z0-9.-]*nds[0-9]\.nokia\.com |
Diese Suchanfrage findet URLs beginnend mit http:// oder https:// gefolgt von einem String bestehend aus keinem oder mehr Buchstaben, Zahlen, Punkten und Schrägstrichen, gefolgt von nds, gefolgt von einer Ziffer, gefolgt von .nokia.com. Der URL-String kann sich weiter fortsetzen. |
^https?://beta\.nokia\.com |
Diese Suchanfrage findet URLs beginnend mit http://beta.nokia.com oder https://beta.nokia.com. Der URL-String kann sich weiter fortsetzen. |
^https?://mcs[0-9]*-[A-Za-z0-9]{4}\.broker\.sophos\.com
|
Die erste Suchanfrage findet URLs beginnend mit http://mcs oder https://mcs gefolgt von keiner oder mehreren Ziffern gefolgt von – sowie einem Set von vier Zahlen oder Buchstaben, endend mit .broker.sophos.com. Der URL-String kann sich weiter fortsetzen. Die zweite Suchanfrage endet mit -d.broker.sophos.com. |
^http://[A-Za-z0-9.]+\.activeupdate\.trendmicro\.com/activeupdate/[A-Z-a-z0-9._-]*\.zip$ |
Die erste Suchanfrage findet URLs beginnend mit http:// gefolgt von einem String aus einer oder mehreren Buchstaben, Ziffern, oder Punkten gefolgt von .activeupdate.trendmicro.com/activeupdate/ gefolgt von einem String bestehend aus keinem oder mehr Buchstaben, Zahlen, Punkten und Unterstrichen oder Schrägstrichen, gefolgt von .zip. zip muss am Ende des Strings stehen. |
XG Firewall
Ausnahme | Erklärung |
---|---|
^([A-Za-z0-9.-]*\.)?apple\.com\.?/ |
Diese Suchanfrage findet URLs mit einem String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich gefolgt von apple.com/ oder apple.com./, oder direkt apple.com/.
Der URL-String kann sich weiter fortsetzen. |
^([A-Za-z0-9.-]*\.)?microsoft\.com/ |
Diese Suchanfrage findet URLs mit einem String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich, gefolgt von einem Punkt, gefolgt von microsoft.com/, oder direkt microsoft.com/.
Der URL-String kann sich weiter fortsetzen. |
^([A-Za-z0-9.-]*\.)?windowsupdate\.com/ |
Selbes Prinzip wie oben. |
^[A-Za-z0-9.-]*-wdx-[A-Za-z0-9.-]*\.broker\.sophos\.com/ |
Diese Suchanfrage findet URLs mit einem String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich, gefolgt von -wdx- dann ein weiterer String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich, und auf .broker.sophos.com/ endend. |
^[A-Za-z0-9.-]*\.cwg\.sophos\.com/ |
Diese Suchanfrage findet URLs mit einem String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich, und auf .cwg.sophos.com endend. |
^[A-Za-z0-9.-]*\.hydra\.sophos\.com/
|
Selbes Prinzip wie oben. |
^mcs[0-9]*-[A-Za-z0-9]{4}\.broker\.sophos\.com/
|
Die erste Suchanfrage findet URLs die mit mcs starten, gefolgt von keiner oder mehreren Ziffern gefolgt von – sowie einem Set von vier Zahlen oder Buchstaben, endend mit .broker.sophos.com. .broker.sophos.com/. Der URL-String kann sich weiter fortsetzen.
Die zweite Suchanfrage endet auf –d.broker.sophos.com/. |
^([A-Za-z0-9.-]*\.)?teamviewer\.com/? |
Diese Suchanfrage findet URLs mit einem String bestehend aus Buchstaben, Ziffern, Punkte und Schrägstrich, gefolgt von einem Punkt, gefolgt von teamviewer.com/ oder teamviewer.com, oder direkt teamviewer.com/.
Der URL-String kann sich weiter fortsetzen. |