AUF DIESER SEITE
Beispiel: Konfigurieren des HTTPS-Datenverkehrs zum Auslösen der Passthrough-Authentifizierung
Beispiel: Konfigurieren des HTTPS-Datenverkehrs zum Auslösen der Captive Portal-Authentifizierung
Captive Portal für nicht authentifizierte Browser konfigurieren
Beispiel: Konfigurieren der gegenseitigen TLS-Authentifizierung (mTLS) für SRX Captive Portal
Konfigurieren Sie ein benutzerdefiniertes Logo und Bannerbotschaften
Konfigurieren von Authentifizierungsmethoden für Benutzer der SRX-Firewall
Erfahren Sie, wie Sie Pass-Through- und Captive Portal-Authentifizierung konfigurieren.
Beispiel: Konfigurieren der Passthrough-Authentifizierung
In diesem Beispiel wird gezeigt, wie die Passthrough-Authentifizierung zur Authentifizierung von Firewallbenutzern konfiguriert wird. Ein Firewall-Benutzer ist ein Netzwerkbenutzer, der einen Benutzernamen und ein Passwort angeben muss, wenn er eine Verbindung über die Firewall hinweg initiiert.
Mit der Passthrough-Authentifizierung können Administratoren der SRX-Serie Benutzer, die versuchen, auf eine Ressource in einer anderen Zone zuzugreifen, über FTP, Telnet, HTTP oder HTTPS einschränken. Wenn der Datenverkehr mit einer Sicherheitsrichtlinie übereinstimmt, deren Aktion die Pass-Through-Authentifizierung ist, muss der Benutzer Anmeldeinformationen angeben.
Für HTTPS beträgt die Standardgröße des HTTPS-Zertifikatschlüssels 2048 Bit, um die Sicherheit zu gewährleisten. Wenn Sie keine Zertifikatsgröße angeben, wird die Standardgröße angenommen.
Anforderungen
Bevor Sie beginnen, definieren Sie Firewall-Benutzer. Siehe Übersicht über die Firewall-Benutzerauthentifizierung.
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Firewall der SRX-Serie
Firewall-Benutzersystem
Paket-Zielsystem
Überblick
Der Pass-Through-Authentifizierungsprozess wird ausgelöst, wenn ein Client, der als Firewallbenutzer bezeichnet wird, versucht, eine FTP-, Telnet- oder HTTP-Sitzung zu initiieren, um auf eine Ressource in einer anderen Zone zuzugreifen. Die Firewall der SRX-Serie fungiert als Proxy für einen FTP-, Telnet-, HTTP- oder HTTPS-Server, sodass sie den Firewall-Benutzer authentifizieren kann, bevor dem Benutzer Zugriff auf den tatsächlichen FTP-, Telnet- oder HTTP-Server hinter der Firewall gewährt wird.
Wenn der Datenverkehr, der aus einer von einem Firewall-Benutzer gesendeten Verbindungsanfrage generiert wird, bidirektional mit einer Sicherheitsrichtlinienregel übereinstimmt und diese Regel die Pass-Through-Firewall-Authentifizierung als Aktion ihrer then Klausel angibt, verlangt die Firewall der SRX-Serie, dass sich der Firewall-Benutzer bei einem Junos OS-Proxyserver authentifiziert.
Wenn die Authentifizierung erfolgreich ist, wird nachfolgender Datenverkehr von derselben Quell-IP-Adresse automatisch durch die Firewall der SRX-Serie gelassen, wenn der Datenverkehr mit den Sicherheitsrichtlinien-Tupeln übereinstimmt.
Abbildung 1 zeigt die in diesem Beispiel verwendete Topologie.
Obwohl die Topologie die Verwendung eines externen Servers anzeigt, wird dies in der Konfiguration nicht behandelt. Es würde den Rahmen dieses Beispiels sprengen.
Konfiguration
Vorgehensweise
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set interfaces ge-0/0/1 unit 0 family inet address 203.0.113.35/24 set interfaces ge-5/0/0 unit 0 family inet address 192.0.2.1/24 set access profile FWAUTH client FWClient1 firewall-user password password set access firewall-authentication pass-through default-profile FWAUTH set access firewall-authentication pass-through telnet banner success "WELCOME TO JUNIPER TELNET SESSION" set security zones security-zone UT-ZONE host-inbound-traffic system-services all set security zones security-zone UT-ZONE interfaces ge-0/0/1.0 host-inbound-traffic protocols all set security zones security-zone T-ZONE host-inbound-traffic system-services all set security zones security-zone T-ZONE interfaces ge-5/0/0.0 host-inbound-traffic protocols all set security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match source-address any set security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match destination-address any set security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match application junos-telnet set security policies from-zone UT-ZONE to-zone T-ZONE policy P1 then permit firewall-authentication pass-through client-match FWClient1
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die Passthrough-Authentifizierung:
Konfigurieren Sie zwei Schnittstellen und weisen Sie ihnen IP-Adressen zu.
Hinweis:In diesem Beispiel ist es optional, den Schnittstellen zwei Adressen zuzuweisen.
[edit] user@host# set interfaces ge-0/0/1 unit 0 family inet address 203.0.113.35/24 user@host# set interfaces ge-5/0/0 unit 0 family inet address 192.0.2.1/24
Erstellen Sie das FWAUTH-Zugriffsprofil für den Benutzer FWClient1, geben Sie das Kennwort des Benutzers an, und definieren Sie ein Erfolgsbanner für Telnet-Sitzungen.
[edit access] user@host# set access profile FWAUTH client FWClient1 firewall-user password pwd user@host# set firewall-authentication pass-through default-profile FWAUTH user@host# set firewall-authentication pass-through telnet banner success "WELCOME TO JUNIPER TELNET SESSION"
Konfigurieren Sie Sicherheitszonen.
Hinweis:In diesem Beispiel ist es optional, eine zweite Schnittstelle für eine Sicherheitszone zu konfigurieren.
[edit security zones] user@host# set security-zone UT-ZONE host-inbound-traffic system-services all user@host# set security-zone UT-ZONE interfaces ge-0/0/1.0 host-inbound-traffic protocols all user@host# set security-zone T-ZONE host-inbound-traffic system-services all user@host# set security-zone T-ZONE interfaces ge-5/0/0.0 host-inbound-traffic protocols all
Weisen Sie den Sicherheitszonen die Sicherheitsrichtlinie P1 zu.
[edit security policies] user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match source-address any user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match destination-address any user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match application junos-telnet user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 then permit firewall-authentication pass-through client-match FWClient1
Verwenden Sie Telnet, um den Benutzer der Firewall FWClient1 bei host2 zu authentifizieren.
user@FWClient1# run telnet 192.0.2.1/24 Trying 192.0.2.1/24... Connected to 192.0.2.1/24 Escape character is '^]'. Firewall User Authentication Username: FWClient1 Password:$ABC123 WELCOME TO JUNIPER TELNET SESSION Host1 (ttyp0) login: user Password: $ABC123 --- JUNOS 10.1R1.1 built 2009-10-12 13:30:18 UTC %
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie diese Befehle eingeben.
show interfacesshow accessshow security zonesshow security policies
Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
Der Kürze halber enthält die Ausgabe nur die Konfiguration, die für dieses Beispiel relevant ist. Alle anderen Konfigurationen auf dem System wurden durch Auslassungspunkte ersetzt (...).
user@host# show interfaces
ge-0/0/1 {
unit 0 {
family inet {
address 203.0.113.35;
}
}
}
ge-5/0/0 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
}
}
...
user@host# show access
profile FWAUTH {
authentication-order password;
client FWClient1 {
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
}
firewall-authentication {
pass-through {
default-profile FWAUTH;
telnet {
banner {
success "WELCOME TO JUNIPER TELNET SESSION";
}
}
}
}
user@host# show security zones
security-zone UT-ZONE {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
protocols {
all;
}
}
}
}
security-zone T-ZONE {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-5/0/0.0 {
host-inbound-traffic {
protocols {
all;
}
}
}
}
}
user@host# show security policies
...
from-zone UT-ZONE to-zone T-ZONE {
policy P1 {
match {
source-address any;
destination-address any;
application junos-telnet;
}
then {
permit {
firewall-authentication {
pass-through {
client-match FWClient1;
}
}
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie Commit aus dem Konfigurationsmodus ein.
Verifizierung
Führen Sie die folgende Aufgabe aus, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Überprüfen der Firewall-Benutzerauthentifizierung und Überwachung von Benutzern und IP-Adressen in der Authentifizierungstabelle
Zweck
Zeigen Sie den Benutzerverlauf der Firewall-Authentifizierung an und überprüfen Sie die Anzahl der Firewall-Benutzer, die sich erfolgreich authentifiziert haben, und die Anzahl der Firewall-Benutzer, die sich nicht anmelden konnten.
Aktion
Geben Sie im Betriebsmodus die folgenden show Befehle ein:
user@host> show security firewall-authentication history History of firewall authentication data: Authentications: 2 Id Source Ip Date Time Duration Status User 1 203.0.113.12 2010-10-12 21:24:02 0:00:24 Failed FWClient1 2 203.0.113.12 2010-10-12 21:24:48 0:00:22 Success FWClient1
user@host> show security firewall-authentication history identifier 1 Username: FWClient1 Source IP: 203.0.113.12 Authentication state: Success Authentication method: Pass-through using Telnet Access start date: 2010-10-12 Access start time: 21:24:02 Duration of user access: 0:00:24 Source zone: UT-ZONE Destination zone: T-ZONE Access profile: FWAUTH Bytes sent by this user: 0 Bytes received by this user: 2660
user@host> show security firewall-authentication users Firewall authentication data: Total users in table: 1 Id Source Ip Src zone Dst zone Profile Age Status User 4 203.0.113.12 UT-ZONE T-ZONE FWAUTH 1 Success FWClient1
user@host> show security firewall-authentication users identifier 3 Username: FWClient1 Source IP: 203.0.113.12 Authentication state: Success Authentication method: Pass-through using Telnet Age: 3 Access time remaining: 9 Source zone: UT-ZONE Destination zone: T-ZONE Access profile: FWAUTH Interface Name: ge-0/0/1.0 Bytes sent by this user: 0 Bytes received by this user: 1521
Beispiel: Konfigurieren des HTTPS-Datenverkehrs zum Auslösen der Passthrough-Authentifizierung
In diesem Beispiel wird gezeigt, wie der HTTPS-Datenverkehr so konfiguriert wird, dass die Passthrough-Authentifizierung ausgelöst wird. HTTPS ist sicherer als HTTP, daher ist es immer beliebter geworden und wird weiter verbreitet.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Firewall der SRX-Serie
Zwei PCs mit Linux und Open SSL. Ein PC fungiert als Client und ein anderer als HTTPS-Server. Die beiden PCs werden zum Erstellen von Schlüsseldateien und zum Senden von Datenverkehr verwendet.
Junos OS Version 12.1X44-D10 oder höher für SRX5400-, SRX5600- und SRX5800-Firewalls und Junos OS Version 15.1X49-D40 oder höher für Virtuelle Firewall vSRX-, SRX300-, SRX320-, SRX340-, SRX345-, SRX380-, SRX550M- und SRX1500-Firewalls.
Ab Junos OS Version 12.1X44-D10 und Junos OS Version 17.3R1 wird die HTTPS-basierte Authentifizierung auf den Firewalls SRX5400, SRX5600 und SRX5800 eingeführt.
Ab Junos OS Version 15.1X49-D40 und Junos OS Version 17.3R1 wird HTTPS-basierte Authentifizierung auf Virtuelle Firewall vSRX-, SRX300-, SRX320-, SRX340-, SRX345-, SRX380-, SRX550M- und SRX1500-Firewalls eingeführt.
Bevor Sie beginnen:
Eine Firewall der SRX-Serie muss den HTTPS-Datenverkehr dekodieren, um eine Pass-Through-Authentifizierung auszulösen. Anschließend erstellt und installiert der SSL-Beendigungsproxy eine private Schlüsseldatei und eine Zertifizierungsdatei. In der folgenden Liste werden die Schritte zum Erstellen und Installieren einer privaten Schlüsseldatei und einer Zertifizierungsschlüsseldatei beschrieben.
Wenn Sie eine offizielle .crt-Datei und eine .key-Datei haben, können Sie die Dateien direkt hochladen und auf der SRX-Serie Firewall installieren. Wenn Sie nicht über eine CRT-Datei und keine .key-Datei verfügen, befolgen Sie die Anweisungen zum Erstellen und Installieren der Dateien. Die in Schritt 1 und Schritt 2 angegebenen Anweisungen müssen auf einem PC ausgeführt werden, auf dem Linux und OpenSSL installiert sind. Die in Schritt 3 und Schritt 4 angegebenen Anweisungen müssen im Betriebsmodus ausgeführt werden.
So erstellen und installieren Sie eine private Schlüsseldatei und eine Zertifizierungsdatei:
Erstellen Sie auf einem PC die .key Datei.
openssl genrsa -out /tmp/server.key 1024
Erstellen Sie auf einem PC die CRT-Datei .
openssl req -new -x509 -days 365 -key /tmp/server.key -out /tmp/device.crt -subj "/C=CN/ST=BJ/L=BJ/O=JNPR/OU=CNRD/CN=203.0.113.11/emailAddress=device@mycompany.com"
-
Laden Sie die .key- und CRT-Dateien in eine SRX-Serie Firewall hoch und installieren Sie die Dateien auf dem Gerät, indem Sie den folgenden Befehl aus dem Betriebsmodus ausführen:
user@host> request security pki local-certificate load filename /var/tmp/device.crt key /var/tmp/device.key certificate-id device
Überblick
Die Firewall-Authentifizierung initiiert eine sichere Verbindung, die über zwei Geräte hinweg hergestellt wird. Ein Netzwerkbenutzer muss einen Benutzernamen und ein Kennwort für die Authentifizierung angeben, wenn er eine Verbindung über die Firewall hinweg initiiert. Die Firewall-Authentifizierung unterstützt HTTPS-Datenverkehr für die Pass-Through-Authentifizierung. HTTPS kann den Datenverkehr mit HTTP-Firewall-Authentifizierung zwischen Benutzern und der Firewall der SRX-Serie sichern.
HTTPS ist die sichere Version von HTTP, dem Protokoll, über das Daten zwischen dem Benutzer und dem Gerät, mit dem der Benutzer verbunden ist, gesendet werden. Die gesamte Kommunikation zwischen dem Benutzer und den angeschlossenen Geräten ist verschlüsselt. HTTPS wird häufig verwendet, um streng vertrauliche Online-Transaktionen wie Online-Banking und Online-Shopping-Bestellformulare zu schützen.
In diesem Beispiel wird HTTPS-Datenverkehr verwendet, um die Pass-Through-Authentifizierung auszulösen, da HTTPS sicherer ist als HTTP. Damit der HTTPS-Datenverkehr die Passthrough-Authentifizierung auslöst, müssen Sie zuerst das SSL-Beendigungsprofil konfigurieren.
Abbildung 2 zeigt ein Beispiel für die Pass-Through-Authentifizierung mit HTTPS-Datenverkehr. In diesem Beispiel versucht ein Host oder ein Benutzer aus einer nicht vertrauenswürdigen Zone, auf Ressourcen in der vertrauenswürdigen Zone zuzugreifen. Die Firewall der SRX-Serie verwendet HTTPS, um die Benutzernamen- und Kennwortinformationen zu erfassen. Nachfolgender Datenverkehr vom Host oder Benutzer wird basierend auf dem Ergebnis dieser Authentifizierung zugelassen oder abgelehnt.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.12/24 set interfaces ge-1/0/0 unit 0 family inet address 203.0.113.1/24 set security policies from-zone trust to-zone untrust policy p1 match source-address any set security policies from-zone trust to-zone untrust policy p1 match destination-address any set security policies from-zone trust to-zone untrust policy p1 match application any set security policies from-zone trust to-zone untrust policy p1 then permit firewall-authentication pass-through access-profile local_pf set security policies from-zone trust to-zone untrust policy p1 then permit firewall-authentication pass-through ssl-termination-profile ssl_pf set security policies from-zone trust to-zone untrust policy p1 then log session-init set security policies from-zone trust to-zone untrust policy p1 then log session-close set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-1/0/0.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-1/0/0.0 host-inbound-traffic protocols all set access profile local_pf client user1 firewall-user password <password> set access firewall-authentication pass-through default-profile local_pf set services ssl termination profile ssl_pf server-certificate device
Vorgehensweise
Schritt-für-Schritt-Anleitung
So konfigurieren Sie den HTTPS-Datenverkehr so, dass er die Passthrough-Authentifizierung auslöst:
Konfigurieren Sie Schnittstellen und weisen Sie IP-Adressen zu.
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 192.0.2.12/24 user@host# set ge-1/0/0 unit 0 family inet address 203.0.113.1/24
Konfigurieren Sie Sicherheitsrichtlinien, um von der Firewall authentifizierten Datenverkehr von Zone "vertrauenswürdig" zu Zone "nicht vertrauenswürdig" zuzulassen.
[edit security policies] user@host# set from-zone trust to-zone untrust policy p1 then permit firewall-authentication pass-through access-profile local_pf user@host# set from-zone trust to-zone untrust policy p1 then permit firewall-authentication pass-through ssl-termination-profile ssl_pf
Geben Sie eine Richtlinienaktion an, die ausgeführt werden soll, wenn ein Paket die Kriterien erfüllt.
[edit security policies] user@host# set from-zone trust to-zone untrust policy p1 match source-address any user@host# set from-zone trust to-zone untrust policy p1 match destination-address any user@host# set from-zone trust to-zone untrust policy p1 match application any user@host# set from-zone trust to-zone untrust policy p1 then log session-init user@host# set from-zone trust to-zone untrust policy p1 then log session-close
Konfigurieren Sie Sicherheitszonen und weisen Sie Schnittstellen zu.
[edit security zones] user@host# set security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic protocols all user@host# set security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
Konfigurieren Sie Anwendungsdienste für Zonen.
[edit security zones] user@host# set security-zone trust host-inbound-traffic system-services all protocols all user@host# set security-zone untrust host-inbound-traffic system-services all protocols all
Erstellen Sie ein Zugriffsprofil, konfigurieren Sie den Client als Firewall-Benutzer und legen Sie das Kennwort fest.
[edit access] user@host# set profile local_pf client user1 firewall-user password <password>
Konfigurieren Sie den Firewalltyp und den Standardprofilnamen, in dem die Authentifizierungseinstellungen definiert sind.
[edit access] user@host# set firewall-authentication pass-through default-profile local_pf
Konfigurieren Sie das SSL-Beendigungsprofil und geben Sie einen lokalen Zertifikatsbezeichnernamen ein.
[edit services] user@host# set ssl termination profile ssl_pf server-certificate device
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe der show interfacesBefehle , show security policies, show security zones, show accessund show services ssl termination . Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show interfaces
...
interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 192.0.2.12;
}
}
}
ge-1/0/0 {
unit 0 {
family inet {
address 203.0.113.1/24;
}
}
}
user@host# show security policies
...
policies
from-zone trust to-zone untrust {
policy p1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
firewall-authentication {
pass-through {
access-profile local_pf;
ssl-termination-profile ssl_pf;
}
}
}
log {
session-init;
session-close;
}
}
}
}
}
user@host# show security zones
...
zones {
security-zone trust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
security-zone untrust {
interfaces {
ge-1/0/0.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
user@host# show access
...
access {
profile local_pf {
client user1 {
firewall-user {
password password;
}
}
}
firewall-authentication {
pass-through {
default-profile local_pf;
}
}
user@host# show services ssl termination
...
services {
ssl {
termination {
profile ssl_pf {
server-certificate device;
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Konfiguration überprüfen
Zweck
Überprüfen Sie, ob die Konfiguration korrekt ist.
Aktion
Geben Sie im Betriebsmodus den show security firewall-authentication users Befehl für die Kennung 1 ein.
user@host> show security firewall-authentication users identifier 1
Username: user1
Source IP: 203.0.113.1/24
Authentication state: Success
Authentication method: Pass-through using HTTPS
Age: 0
Access time remaining: 10
Lsys: root-logical-system
Source zone: trust
Destination zone: untrust
Access profile: local_pf
Interface Name: ge-0/0/0.0
Bytes sent by this user: 946
Bytes received by this user: 0
Bedeutung
Der show security firewall-authentication users Befehl zeigt die Benutzerinformationen für die Firewall-Authentifizierung für den angegebenen Bezeichner an. Wenn in der Ausgabe im Feld Authentifizierungsmethode Pass-through mit HTTPS und im Feld Authentifizierungsstatus Erfolg angezeigt wird, ist Ihre Konfiguration korrekt.
Beispiel: Captive Portal-Authentifizierung konfigurieren
In diesem Beispiel wird gezeigt, wie Sie die Captive Portal-Authentifizierung aktivieren und eine Richtlinie einrichten, die einem Benutzer Zugriff gewährt, wenn der Datenverkehr auf eine Richtlinie trifft, für die die Captive Portal-Authentifizierung aktiviert ist.
Anforderungen
Bevor Sie beginnen:
Definieren von Firewall-Benutzern. Siehe Übersicht über die Firewall-Benutzerauthentifizierung.
Fügen Sie das HTTP-Flag für die Web-Authentifizierung unter der Adresshierarchie der Schnittstelle hinzu, um die Web-Authentifizierung zu aktivieren.
Überblick
Um die Web-Authentifizierung zu aktivieren, müssen Sie die IP-Adresse des Geräts angeben, auf dem die HTTP-Sitzung gehostet wird. Diese Einstellungen werden verwendet, wenn der Firewall-Benutzer, der auf eine geschützte Ressource zugreift, durch direkten Zugriff auf den Webserver oder durch Web-Authentifizierung authentifiziert werden möchte. Die folgenden Anweisungen zeigen, wie Sie eine Richtlinie einrichten, die den Zugriff auf den Benutzer FWClient1 zulässt, wenn der Datenverkehr auf eine Richtlinie trifft, für die die Web-Authentifizierung aktiviert ist (Policy-W). (Siehe Abbildung 3.) In diesem Beispiel hat sich FWClient1 bereits über die Web Authentifizierung-Anmeldeseite authentifiziert.
Der Benutzer der Firewall FWClient1 führt die folgenden Schritte aus, um authentifiziert zu werden:
Verweist den Browser auf die Web-Authentifizierung-IP (198.51.100.63/24), um zuerst authentifiziert zu werden
Startet Datenverkehr für den Zugriff auf Ressourcen, die in der Richtlinie policy-W angegeben sind
eine Webauthentifizierung
Wenn Sie das Gerät wie in diesen Anweisungen beschrieben konfigurieren und sich der Benutzer erfolgreich authentifiziert hat, wird der in Abbildung 4 dargestellte Bildschirm angezeigt.
für Webauthentifizierung
Konfiguration
Vorgehensweise
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.23/24set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.63/24 web-authentication httpset interfaces fe-5/0/0 unit 0 family inet address 203.0.113.15/24set access profile WEBAUTH client FWClient1 firewall-user password pwdset access firewall-authentication web-authentication default-profile WEBAUTHset access firewall-authentication web-authentication banner success "WEB AUTH LOGIN SUCCESS"set security zones security-zone UT-ZONE host-inbound-traffic system-services allset security zones security-zone UT-ZONE interfaces ge-0/0/1.0 host-inbound-traffic protocols allset security zones security-zone T-ZONE host-inbound-traffic system-services allset security zones security-zone T-ZONE interfaces ge-5/0/0.0 host-inbound-traffic protocols allset security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match source-address anyset security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match destination-address anyset security policies from-zone UT-ZONE to-zone T-ZONE policy P1 match application anyset security policies from-zone UT-ZONE to-zone T-ZONE policy P1 then permit firewall-authentication web-authentication client-match FWClient1set system services web-management http interface ge-0/0/1.0
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie die Web-Authentifizierung:
Konfigurieren Sie zwei Schnittstellen und weisen Sie ihnen IP-Adressen zu.
Hinweis:In diesem Beispiel ist es optional, den Schnittstellen zwei Adressen zuzuweisen.
[edit] user@host# set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.23/24 user@host# set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.63/24 web-authentication http user@host# set interfaces fe-5/0/0 unit 0 family inet address 203.0.113.15/24
Erstellen Sie das WEBAUTH-Zugriffsprofil für den Benutzer FWClient1, geben Sie das Kennwort des Benutzers an und definieren Sie ein Erfolgsbanner.
[edit access] user@host# set profile WEBAUTH client FWClient1 firewall-user password pwd user@host# set firewall-authentication web-authentication default-profile WEBAUTH user@host# set firewall-authentication web-authentication banner success "WEB AUTH LOGIN SUCCESS"
Konfigurieren Sie Sicherheitszonen.
Hinweis:In diesem Beispiel ist es optional, eine zweite Schnittstelle für eine Sicherheitszone zu konfigurieren.
[edit security zones] user@host# set security-zone UT-ZONE host-inbound-traffic system-services all user@host# set security-zone UT-ZONE interfaces ge-0/0/1.0 host-inbound-traffic protocols all user@host# set security-zone T-ZONE host-inbound-traffic system-services all user@host# set security-zone T-ZONE interfaces ge-5/0/0.0 host-inbound-traffic protocols all
Weisen Sie den Sicherheitszonen die Sicherheitsrichtlinie P1 zu.
[edit security policies] user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match source-address any user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match destination-address any user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 match application any user@host# set from-zone UT-ZONE to-zone T-ZONE policy P1 then permit firewall-authentication web-authentication client-match FWClient1
Aktivieren Sie den HTTP-Prozess (Daemon) auf Ihrem Gerät.
[edit] user@host# set system services web-management http interface ge-0/0/1.0
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die folgenden Befehle eingeben:
show interfacesshow accessshow security zonesshow security policiesshow system services
Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
Der Kürze halber enthält diese show Ausgabe nur die Konfiguration, die für dieses Beispiel relevant ist. Alle anderen Konfigurationen auf dem System wurden durch Auslassungspunkte ersetzt (...).
user@host# show interfaces
...
}
ge-0/0/1{
unit 0 {
family inet {
address 198.51.100.23/24 {
address 198.51.100.63/24 {
web-authentication http;
}
}
}
}
fe-5/0/0 {
unit 0 {
family inet {
address 198.51.100.14/24;
}
}
}
...
user@host# show access
profile WEBAUTH {
client FWClient1 {
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
}
firewall-authentication {
web-authentication {
default-profile WEBAUTH;
banner {
success "WEB AUTH LOGIN SUCCESS";
}
}
}
user@host# show security zones
...
}
security-zone UT-ZONE {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
protocols {
all;
}
}
}
}
}
security-zone T-ZONE {
host-inbound-traffic {
system-services {
all;
}
}
interfaces {
ge-5/0/0.0 {
host-inbound-traffic {
protocols {
all;
}
}
}
}
}
user@host# show security policies
...
from-zone UT-ZONE to-zone T-ZONE {
policy P1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
firewall-authentication {
web-authentication {
client-match FWClient1;
}
}
}
}
}
}
user@host# show system services
...
ftp;
ssh;
telnet;
web-management {
http {
interface g-0/0/1.0;
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Führen Sie die folgende Aufgabe aus, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Überprüfen der Firewall-Benutzerauthentifizierung und Überwachung von Benutzern und IP-Adressen in der Authentifizierungstabelle
Zweck
Zeigen Sie den Benutzerverlauf der Firewall-Authentifizierung an und überprüfen Sie die Anzahl der Firewall-Benutzer, die sich erfolgreich authentifiziert haben, und der Firewall-Benutzer, die sich nicht anmelden konnten.
Aktion
Geben Sie im Betriebsmodus die folgenden show Befehle ein:
user@host> show security firewall-authentication history user@host> show security firewall-authentication history identifier 1 user@host> show security firewall-authentication users user@host> show security firewall-authentication users identifier 3
user@host> show security firewall-authentication history
History of firewall authentication data:
Authentications: 1
Id Source Ip Date Time Duration Status User
5 198.51.100.75 2010-04-24 01:08:57 0:10:30 Success FWClient1
user@host> show security firewall-authentication history identifier 1
Username: FWClient1
Source IP: 198.51.100.752
Authentication state: Success
Authentication method: Web-authentication
Access start date: 2010-10-12
Access start time: 21:24:02
Duration of user access: 0:00:24
Source zone: N/A
Destination zone: N/A
Access profile: WEBAUTH
Bytes sent by this user: 0
Bytes received by this user: 2660
user@host> show security firewall-authentication users
Firewall authentication data:
Total users in table: 1
Id Source Ip Src zone Dst zone Profile Age Status User
4 198.51.100.75 N/A N/A WEBAUTH 1 Success FWClient1
user@host> show security firewall-authentication users identifier 3
Username: FWClient1
Source IP: 198.51.100.75
Authentication state: Success
Authentication method: Web-authentication
Age: 3
Access time remaining: 9
Source zone: N/A
Destination zone: N/A
Access profile: WEBAUTH
Interface Name: ge-0/0/1.0
Bytes sent by this user: 0
Bytes received by this user: 1521
Beispiel: Konfigurieren des HTTPS-Datenverkehrs zum Auslösen der Captive Portal-Authentifizierung
Dieses Beispiel zeigt, wie der HTTPS-Datenverkehr so konfiguriert wird, dass die Captive Portal-Authentifizierung ausgelöst wird. HTTPS wird häufig für die Captive Portal-Authentifizierung verwendet, da es sicherer als HTTP ist.
Anforderungen
Bevor Sie beginnen:
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Firewall der SRX-Serie
Zwei PCs mit installiertem Linux und Open SSL. Ein PC fungiert als Client und ein anderer als HTTPS-Server. Die beiden PCs werden zum Erstellen von Schlüsseldateien und zum Senden von Datenverkehr verwendet.
Junos OS Version 12.1X44-D10 oder höher für SRX5400-, SRX5600- und SRX5800 Geräte und Junos OS Version 15.1X49-D40 oder höher für Virtuelle Firewall vSRX-, SRX300-, SRX320-, SRX340-, SRX345-, SRX380-, SRX550M- und SRX1500-Services-Gateways.
Eine Firewall der SRX-Serie muss den HTTPS-Datenverkehr dekodieren, um eine Web-Authentifizierung auszulösen. In der folgenden Liste werden die Schritte zum Erstellen und Installieren einer privaten Schlüsseldatei und einer Zertifizierungsschlüsseldatei beschrieben.
Wenn Sie eine offizielle .crt Datei und .key Datei haben, können Sie die Dateien direkt hochladen und auf der Firewall der SRX-Serie installieren. Wenn Sie nicht über eine Datei und .key Datei .crt verfügen, befolgen Sie die Schritte zum Erstellen und Installieren der Dateien. Die in Schritt 1 und Schritt 2 angegebenen Anweisungen müssen auf einem PC ausgeführt werden, auf dem Linux und OpenSSL installiert sind. Die in Schritt 3 und Schritt 4 angegebenen Anweisungen müssen im Betriebsmodus ausgeführt werden.
Erstellen Sie auf dem PC die
.keyDatei.openssl genrsa -out /tmp/server.key 1024
Erstellen Sie auf dem PC die
.crtDatei.openssl req -new -x509 -days 365 -key /tmp/server.key -out /tmp/device.crt -subj "/C=CN/ST=BJ/L=BJ/O=JNPR/OU=CNRD/CN=203.0.113.22/emailAddress=device@mycomany.com"
-
Laden Sie von der Firewall der SRX-Serie die
.key.crtund-Dateien hoch und installieren Sie die Dateien mit dem folgenden Befehl auf dem Gerät:user@host> request security pki local-certificate load filename /var/tmp/device.crt key /var/tmp/device.key certificate-id device
Überblick
Die Firewall-Authentifizierung initiiert eine sichere Verbindung, die über zwei Geräte hinweg hergestellt wird. Ein Netzwerkbenutzer muss einen Benutzernamen und ein Kennwort für die Authentifizierung angeben, wenn er eine Verbindung über die Firewall hinweg initiiert. Die Firewall-Authentifizierung unterstützt HTTPS-Datenverkehr für die Pass-Through-Authentifizierung. HTTPS kann den Datenverkehr mit HTTP-Firewall-Authentifizierung zwischen Benutzern und der Firewall der SRX-Serie sichern.
HTTPS ist die sichere Version von HTTP, dem Protokoll, über das Daten zwischen dem Benutzer und dem Gerät, mit dem der Benutzer verbunden ist, gesendet werden. Die gesamte Kommunikation zwischen dem Benutzer und den angeschlossenen Geräten ist verschlüsselt. HTTPS wird häufig verwendet, um streng vertrauliche Online-Transaktionen wie Online-Banking und Online-Shopping-Bestellformulare zu schützen.
In diesem Beispiel wird HTTPS-Datenverkehr verwendet, um die Web-Authentifizierung auszulösen, da HTTPS sicherer ist als HTTP.
Der Benutzer verwendet HTTPS, um auf eine IP-Adresse auf dem Gerät zuzugreifen, die für die Web-Authentifizierung aktiviert ist. In diesem Szenario verwendet der Benutzer HTTPS nicht, um auf die IP-Adresse der geschützten Ressource zuzugreifen. Der Benutzer wird zur Eingabe eines Benutzernamens und eines Kennworts aufgefordert, die vom Gerät überprüft werden. Nachfolgender Datenverkehr vom Benutzer oder Host zur geschützten Ressource wird basierend auf den Ergebnissen dieser Web-Authentifizierung zugelassen oder verweigert.
Wenn Sie die Aktivierung auf einer Schnittstelle durchführen web-authentication https , müssen Sie diese konfigurieren web-management https , um zu verhindern, dass das Gerät einen Commit-Fehler generiert.
Abbildung 5 zeigt ein Beispiel für die Web-Authentifizierung mit HTTPS-Datenverkehr.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set system services web-management https pki-local-certificate device set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.18/24 set interfaces ge-0/0/0 unit 0 family inet address 203.0.113.115/24 web-authentication https set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.5/24 set security policies from-zone trust to-zone untrust policy p1 match source-address any set security policies from-zone trust to-zone untrust policy p1 match destination-address any set security policies from-zone trust to-zone untrust policy p1 match application any set security policies from-zone trust to-zone untrust policy p1 then permit set access profile local_pf client user1 firewall-user password user1 set access firewall-authentication web-authentication default-profile local_pf set security policies from-zone trust to-zone untrust policy p1 then permit firewall-authentication web-authentication
Vorgehensweise
Schritt-für-Schritt-Anleitung
So konfigurieren Sie den HTTPS-Datenverkehr zum Auslösen der Web-Authentifizierung:
Aktivieren der Webverwaltungsunterstützung für HTTPS-Datenverkehr.
[edit system services] user@host# set web-management https pki-local-certificate device
Konfigurieren Sie Schnittstellen und weisen Sie IP-Adressen zu. Aktivieren Sie die Web-Authentifizierung an der ge-0/0/0-Schnittstelle.
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 203.0.113.18/24 set ge-0/0/0 unit 0 family inet address 203.0.113.115/24 web-authentication https user@host# set ge-0/0/1 unit 0 family inet address 192.0.2.5/24
Konfigurieren Sie Sicherheitsrichtlinien, um von der Firewall authentifizierten Datenverkehr von Zone "vertrauenswürdig" zu Zone "nicht vertrauenswürdig" zuzulassen.
[edit security policies] user@host# set from-zone trust to-zone untrust policy p1 match source-address any destination-address any application any user@host# set security policies from-zone trust to-zone untrust policy p1 then permit
Erstellen Sie ein Zugriffsprofil, konfigurieren Sie den Client als Firewall-Benutzer, und legen Sie das Kennwort fest.
[edit access] user@host# set profile local_pf client user1 firewall-user password user1
Konfigurieren Sie den Typ der Firewall-Authentifizierung-Einstellungen.
[edit access] user@host# set firewall-authentication web-authentication default-profile local_pf
Geben Sie eine Richtlinienaktion an, die ausgeführt werden soll, wenn ein Paket die Kriterien erfüllt.
[edit security policies] user@host# set from-zone trust to-zone untrust policy p1 then permit firewall-authentication web-authentication
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe der show system servicesBefehle , show interfaces, show security policiesund show access . Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show system services
web-management {
https {
pki-local-certificate device;
}
}
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 203.0.113.115/24 {
web-authentication https;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 192.0.2.5/24;
}
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy p1 {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
firewall-authentication {
web-authentication;
}
}
}
}
}
user@host# show access
profile local_pf {
client user1 {
firewall-user {
password "user1";
}
}
}
firewall-authentication {
web-authentication {
default-profile local_pf;
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Konfiguration überprüfen
Zweck
Überprüfen Sie, ob die Konfiguration korrekt ist.
Aktion
Geben Sie im Betriebsmodus den show security firewall-authentication users identifier identifier Befehl ein.
Beispielausgabe
user@host> show security firewall-authentication users identifier 1
Username: user1
Source IP: 203.1.113.102
Authentication state: Success
Authentication method: Web-authentication
Age: 0
Access time remaining: 10
Lsys: root-logical-system
Source zone: N/A
Destination zone: N/A
Access profile: local_pf
Bytes sent by this user: 0
Bytes received by this user: 0
Bedeutung
Der show security firewall-authentication users identifier identifier Befehl zeigt die Benutzerinformationen zur Firewall-Authentifizierung anhand der Kennungs-ID des Benutzers an. Wenn der Parameter "Authentifizierung-Methode" "Web-Authentifizierung" und der Parameter "Authentifizierung-Status" "Erfolg" in der Ausgabe anzeigt, ist die Konfiguration korrekt.
Captive Portal für nicht authentifizierte Browser konfigurieren
Erfahren Sie, wie Sie das Captive Portal für nicht authentifizierte Browser konfigurieren.
Im Folgenden finden Sie einige Beispiele dafür, wie Sie Sicherheitsrichtlinien für die Verwendung der Firewall-Authentifizierung auth-only-browser und auth-user-agent konfigurieren können.
For Pass-Through Authentication
Konfiguriert eine Sicherheitsrichtlinie für die Passthrough-Authentifizierung, die den Parameter auth-only-browser verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p1 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p1 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p1 match application any user@host# set security policies from-zone trust to-zone untrust policy p1 then permit firewall-authentication pass-through auth-only-browser access-profile my-access-profile1t
Konfiguriert eine Sicherheitsrichtlinie für die Passthrough-Authentifizierung, die den Parameter auth-user-agent ohne auth-only-browser verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p2 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p2 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p2 match application any user@host# set security policies from-zone trust to-zone untrust policy p2 then permit firewall-authentication pass-through auth-user-agent Opera1 access-profile my-access-profile2
Konfiguriert eine Sicherheitsrichtlinie für die Passthrough-Authentifizierung, die den Nur-Authentifizierungs-Authentifizierungsordner auth-user-agent mit dem Parameter auth-user-agent verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p3 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p3 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p3 match application any user@host# set security policies from-zone trust to-zone untrust policy p3 then permit firewall-authentication pass-through auth-only-browser auth-user-agent Opera1 my-access-profile3
For User Firewall Authentication
Konfiguriert eine Sicherheitsrichtlinie für die Benutzer-Firewall-Authentifizierung, die den Parameter auth-only-browser verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p4 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p4 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p4 match application any user@host# set security policies from-zone trust to-zone untrust policy p4 then permit firewall-authentication user-firewall auth-only-browser access-profile my-access-profile4t
Konfiguriert eine Sicherheitsrichtlinie für die Benutzer-Firewall-Authentifizierung, die den Parameter auth-user-agent ohne auth-only-browser verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p5 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p5 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p5 match application any user@host# set security policies from-zone trust to-zone untrust policy p5 then permit firewall-authentication user-firewall auth-user-agent Opera1 access-profile my-access-profile5
Konfiguriert eine Sicherheitsrichtlinie für die Benutzer-Firewall-Authentifizierung, die auth-only-browser mit dem Parameter auth-user-agent verwendet.
user@host# set security policies from-zone trust to-zone untrust policy p6 match source-address any user@host# set security policies from-zone trust to-zone untrust policy p6 match destination-address any user@host# set security policies from-zone trust to-zone untrust policy p6 match application any user@host# set security policies from-zone trust to-zone untrust policy p6 then permit firewall-authentication user-firewall auth-only-browser auth-user-agent Opera1 access-profile my-access-profile6
Siehe auch
Beispiel: Konfigurieren einer einheitlichen Richtlinie
Lesen Sie dieses Beispiel, um zu verstehen, wie Sie Pass-Through-Authentifizierung und Captive Portal-Authentifizierung in einer einheitlichen Richtlinie konfigurieren, um Benutzern den Zugriff auf Netzwerkressourcen zu beschränken oder zuzulassen.
- Überblick
- Konfiguration von Benutzern der SRX-Firewall mit traditioneller Richtlinie und einheitlicher Richtlinie
- Konfiguration der Pass-Through-Authentifizierung mit einheitlichen Richtlinien
- Konfiguration der Captive Portal-Authentifizierung mit einheitlicher Richtlinie
- Verifizierung
Überblick
Mit der Firewall-Benutzer-Authentifizierung können Sie Benutzer authentifizieren, bevor sie hinter einer Firewall auf Netzwerkressourcen zugreifen können. Wenn Sie die Firewall-Benutzer-Authentifizierung aktiviert haben, muss ein Benutzer einen Benutzernamen und ein Kennwort für die Authentifizierung angeben, wenn er eine Verbindung über die Firewall hinweg initiiert.
Ab Junos OS Version 21.2R1 unterstützen wir die Firewall-Benutzer-Authentifizierung mit einheitlichen Richtlinien. Unterstützung ist sowohl für die Pass-Through-Authentifizierung als auch für die Captive Portal-Authentifizierung verfügbar.
Topologie
Abbildung 6 zeigt die in diesem Beispiel verwendete Topologie.
Wie in der Topologie gezeigt, müssen Firewall-Benutzer in der nicht vertrauenswürdigen Zone auf einen externen Server (IP-Adresse 10.1.2.1) in der vertrauenswürdigen Zone zugreifen. Der Benutzer authentifiziert sich beim Sicherheitsgerät, bevor er auf den Server zugreift. Das Gerät fragt eine lokale Datenbank ab, um das Ergebnis der Authentifizierung zu ermitteln. Nach erfolgreicher Authentifizierung lässt das Sicherheitsgerät nachfolgenden Datenverkehr von derselben Quell-IP-Adresse zu, bis die Sitzung des Benutzers abläuft und geschlossen wird.
In diesem Beispiel konfigurieren Sie die folgenden Funktionen auf der Firewall der SRX-Serie:
-
Konfigurieren Sie eine lokale Benutzerdatenbank für das Sicherheitsgerät in einem Zugriffsprofil. Fügen Sie dem Profil einen oder mehrere Clients hinzu, die Endbenutzer darstellen. Der Clientname steht für den Benutzernamen. Geben Sie das Kennwort für jeden Benutzer im Nur-Text-Format ein.
- Verknüpfen Sie das Zugriffsprofil mit Pass-Through- oder Web-Firewall-Authentifizierungsmethoden. Legen Sie ein benutzerdefiniertes Banner für die Anzeige für den Endbenutzer fest.
- Konfigurieren Sie die Sicherheitsrichtlinie, um den Datenverkehr zuzulassen oder einzuschränken, und wenden Sie die Firewall-Benutzer Authentifizierung auf den zulässigen Datenverkehr an.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
- Eine Firewall der SRX-Serie oder eine virtuelle Firewall vSRX
- Junos OS Version 21.2R1
Bevor Sie beginnen:
- Installieren Sie eine gültige Lizenz für die Anwendungsidentifikationsfunktion auf Ihrer Firewall der SRX-Serie. Siehe Installieren und Überprüfen von Lizenzen für ein Anwendungssignaturpaket.
- Installieren Sie die Datenbank mit den Anwendungssignaturen auf der Firewall der SRX-Serie. Weitere Informationen finden Sie unter Herunterladen und Installieren des Junos OS-Anwendungssignaturpakets.
Konfiguration von Benutzern der SRX-Firewall mit traditioneller Richtlinie und einheitlicher Richtlinie
| Szenarios | Richtlinien-Workflow Wenn der Benutzer ein Sitzungsergebnis initiiert | ||
|---|---|---|---|
| Authentifizierung mit herkömmlichen Sicherheitsrichtlinien und unbekanntem Benutzer | Richtlinie P1
|
|
Erlaubt einem nicht authentifizierten Benutzer nach erfolgreicher Firewall-Benutzer-Authentifizierung. |
| Authentifizierung mit einheitlichen Richtlinien und einem authentifizierten Benutzer | Richtlinie P2
|
|
Erlaubt einen authentifizierten Benutzer ohne Firewall-Benutzer-Authentifizierung. |
| Authentifizierung mit einheitlichen Richtlinien | Richtlinie P3
|
|
Ermöglicht Datenverkehr mit Firewall-Benutzer-Authentifizierung. |
Informationen zum Umleiten des Datenverkehrs von einem nicht authentifizierten Benutzer zur Authentifizierung an ein UAC-Captive Portal finden Sie unter Beispiel: Konfigurieren einer Benutzerrollen-Firewall auf einem Gerät der SRX-Serie.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell auf Ihrer Firewall der SRX-Serie zu konfigurieren, kopieren Sie die folgenden Befehle und fügen Sie sie in eine Textdatei ein. Entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein.
set services ssl termination profile ssl-a server-certificate SERVER-CERTIFICATE-1 set security policies from-zone untrust to-zone trust policy p1 match source-address any set security policies from-zone untrust to-zone trust policy p1 match destination-address any set security policies from-zone untrust to-zone trust policy p1 match application junos-http set security policies from-zone untrust to-zone trust policy p1 match application junos-https set security policies from-zone untrust to-zone trust policy p1 match source-identity unauthenticated-user set security policies from-zone untrust to-zone trust policy p1 match source-identity unknown-user set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall access-profile PROFILE-1 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall ssl-termination-profile ssl-a set security policies from-zone untrust to-zone trust policy p1 then log session-init set security policies from-zone untrust to-zone trust policy p1 then log session-close set security policies from-zone untrust to-zone trust policy p2 match source-address any set security policies from-zone untrust to-zone trust policy p2 match destination-address any set security policies from-zone untrust to-zone trust policy p2 match application any set security policies from-zone untrust to-zone trust policy p2 match source-identity authenticated-user set security policies from-zone untrust to-zone trust policy p2 match dynamic-application junos:GOOGLE set security policies from-zone untrust to-zone trust policy p2 then permit set security policies from-zone untrust to-zone trust policy p3 match source-address any set security policies from-zone untrust to-zone trust policy p3 match destination-address any set security policies from-zone untrust to-zone trust policy p3 match application any set security policies from-zone untrust to-zone trust policy p3 match dynamic-application junos:YAHOO set security policies from-zone untrust to-zone trust policy p3 then permit firewall-authentication user-firewall access-profile PROFILE-1 set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24 set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-1 firewall-user password "$ABC123" set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-2 firewall-user password "$ABC123" set access profile PROFILE-1 session-options client-idle-timeout 10 set access firewall-authentication pass-through default-profile PROFILE-1 set access firewall-authentication web-authentication default-profile PROFILE-1
Schritt-für-Schritt-Anleitung
-
Konfigurieren Sie Schnittstellen.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24
-
Erstellen Sie Sicherheitszonen und weisen Sie die Schnittstellen zu.
[edit] user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all
-
Richten Sie ein Zugriffsprofil ein und fügen Sie Benutzerdetails hinzu.
[edit] user@host# set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-1 firewall-user password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6" user@host# set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-2 firewall-user password "$9$/Bv59pBIRSleWB17-ws4o" user@host# set access profile PROFILE-1 session-options client-idle-timeout 10
Wir haben zwei Benutzer CLIENT-1 und CLIENT-2 mit Passwörtern hinzugefügt und diese Benutzer der Client-Gruppe GROUP-1 zugewiesen.
-
Konfigurieren Sie die Authentifizierungsmethoden und weisen Sie das Zugriffsprofil zu.
[edit] user@host# set access firewall-authentication pass-through default-profile PROFILE-1 user@host# set access firewall-authentication web-authentication default-profile PROFILE-1
-
Konfigurieren Sie ein SSL-Beendigungsprofil.
[edit] user@host# set services ssl termination profile ssl-a server-certificate SERVER-CERTIFICATE-1
-
Konfigurieren Sie eine Sicherheitsrichtlinie, um nicht authentifizierte Benutzer mit Firewall-Benutzer-Authentifizierung zuzulassen.
[edit] user@host# set security policies from-zone untrust to-zone trust policy p1 match source-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match application junos-http user@host# set security policies from-zone untrust to-zone trust policy p1 match application junos-https user@host# set security policies from-zone untrust to-zone trust policy p1 match source-identity unauthenticated-user user@host# set security policies from-zone untrust to-zone trust policy p1 match source-identity unknown-user user@host# set security policies from-zone untrust to-zone trust policy p1 match source-identity unknown-user user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall access-profile PROFILE-1 user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall ssl-termination-profile ssl-a user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-init user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-close
-
Konfigurieren Sie eine Sicherheitsrichtlinie, um authentifizierte Benutzer ohne Firewall-Benutzer-Authentifizierung zuzulassen.
[edit] user@host# set security policies from-zone untrust to-zone trust policy p2 match source-address any user@host# set security policies from-zone untrust to-zone trust policy p2 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy p2 match application any user@host# set security policies from-zone untrust to-zone trust policy p2 match source-identity authenticated-user user@host# set security policies from-zone untrust to-zone trust policy p2 match dynamic-application junos:GOOGLE user@host# set security policies from-zone untrust to-zone trust policy p2 then permit
-
Konfigurieren Sie eine Sicherheitsrichtlinie, um den Datenverkehr mit Firewall-Benutzer-Authentifizierung zuzulassen.
[edit] user@host# set security policies from-zone untrust to-zone trust policy p3 match source-address any user@host# set security policies from-zone untrust to-zone trust policy p3 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy p3 match application any user@host# set security policies from-zone untrust to-zone trust policy p3 match dynamic-application junos:YAHOO user@host# set security policies from-zone untrust to-zone trust policy p3 then permit firewall-authentication user-firewall access-profile PROFILE-1 user@host#
- Fügen Sie einer lokalen Authentifizierungstabelle einen Eintrag hinzu. Beachten Sie, dass jeder Eintrag eine IP-Adresse enthalten muss.
user@host> request security user-identification local-authentication-table add user-name CLIENT-1 ip-address 10.1.1.1
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl show security eingeben. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit ]user@host# show security policies
from-zone untrust to-zone trust {
policy p1 {
match {
source-address any;
destination-address any;
application [ junos-http junos-https ];
source-identity [ unauthenticated-user unknown-userset unknown-user ];
}
then {
permit {
firewall-authentication {
user-firewall {
access-profile PROFILE-1;
ssl-termination-profile ssl-a;
}
}
}
log {
session-init;
session-close;
}
}
}
policy p2 {
match {
source-address any;
destination-address any;
application any;
source-identity authenticated-user;
dynamic-application junos:GOOGLE;
}
then {
permit;
}
}
policy p3 {
match {
source-address any;
destination-address any;
application any;
dynamic-application junos:YAHOO;
}
then {
permit {
firewall-authentication {
user-firewall {
access-profile PROFILE-1;
}
}
}
}
}
}
user@host# show security zones
security-zone trust {
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
security-zone untrust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
user@host# show interfaces
interfaces {
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.254/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.2.254/24;
}
}
}
[edit]
user@host# show access
profile PROFILE-1 {
client CLIENT-1 {
client-group GROUP-1;
firewall-user {
password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6"; ## SECRET-DATA
}
}
client CLIENT-2 {
client-group GROUP-1;
firewall-user {
password "$9$/Bv59pBIRSleWB17-ws4o"; ## SECRET-DATA
}
}
session-options {
client-idle-timeout 10;
}
}
firewall-authentication {
pass-through {
default-profile PROFILE-1;
web-authentication {
default-profile PROFILE-1;
}
}
Wenn Sie mit der Konfiguration der Funktion auf Ihrem Gerät fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Überprüfen, ob die Firewall-Benutzerauthentifizierung funktioniert
Um zu überprüfen, ob der Firewall-Benutzer Authentifizierung funktioniert, öffnen Sie einen Webbrowser auf dem Clientcomputer. Greifen Sie auf den Server zu, indem Sie die Server-IP-Adresse 10.1.2.1 eingeben. Das System fordert Sie zur Eingabe der Anmelde- und Kennwortdetails auf, wie in Abbildung 7 gezeigt.
Nach erfolgreicher Eingabe der Anmeldeinformationen können Sie auf den Server zugreifen.
Konfiguration der Pass-Through-Authentifizierung mit einheitlichen Richtlinien
any.
CLI-Schnellkonfiguration
Um dieses Beispiel schnell auf Ihrer Firewall der SRX-Serie zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
set services ssl termination profile ssl-a server-certificate SERVER-CERTIFICATE-1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24 set security policies from-zone untrust to-zone trust policy p1 match source-address any set security policies from-zone untrust to-zone trust policy p1 match destination-address any set security policies from-zone untrust to-zone trust policy p1 match application any set security policies from-zone untrust to-zone trust policy p1 match dynamic-application any set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication pass-through access-profile PROFILE-1 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication pass-through ssl-termination-profile ssl-a set security policies from-zone untrust to-zone trust policy p1 then log session-init set security policies from-zone untrust to-zone trust policy p1 then log session-close set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-1 firewall-user password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6" set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-2 firewall-user password "$9$/Bv59pBIRSleWB17-ws4o" set access profile PROFILE-1 session-options client-idle-timeout 10 set access firewall-authentication pass-through default-profile PROFILE-1 set access firewall-authentication web-authentication default-profile PROFILE-1
Schritt-für-Schritt-Anleitung
-
Konfigurieren Sie Schnittstellen.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24
-
Sicherheitszonen definieren und Schnittstellen zuweisen.
[edit] user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all
-
Richten Sie ein Zugriffsprofil ein und fügen Sie Benutzerdetails hinzu.
[edit] user@host# set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-1 firewall-user password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6" user@host# set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-2 firewall-user password "$9$/Bv59pBIRSleWB17-ws4o" user@host# set access profile PROFILE-1 session-options client-idle-timeout 10
Wir haben zwei Benutzer CLIENT-1 und CLIENT-2 mit Passwörtern hinzugefügt und die Benutzer der Client-Gruppe GROUP-1 zugewiesen.
-
Konfigurieren Sie die Authentifizierungsmethoden und weisen Sie das Zugriffsprofil zu.
[edit] user@host# set access firewall-authentication pass-through default-profile PROFILE-1 user@host# set access firewall-authentication web-authentication default-profile PROFILE-1
-
Konfigurieren Sie ein SSL-Beendigungsprofil.
[edit] user@host# set services ssl termination profile ssl-a server-certificate SERVER-CERTIFICATE-1
-
Konfigurieren Sie eine Sicherheitsrichtlinie mit dynamischer Anwendung als
any.[edit] user@host# set security policies from-zone untrust to-zone trust policy p1 match source-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match application any user@host# set security policies from-zone untrust to-zone trust policy p1 match dynamic-application any user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication pass-through access-profile PROFILE-1 user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication pass-through ssl-termination-profile ssl-a user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-init user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-close
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl show security eingeben. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit]user@host# show security policies]
from-zone untrust to-zone trust {
policy p1 {
match {
source-address any;
destination-address any;
application any;
dynamic-application any;
}
then {
permit {
firewall-authentication {
pass-through {
access-profile PROFILE-1;
ssl-termination-profile ssl-a;
}
}
}
log {
session-init;
session-close;
}
}
}
}
[edit]
user@host# show security zones
security-zone trust {
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
security-zone untrust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.254/24;
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.2.254/24;
}
}
}
[edit]
user@host# show access
profile PROFILE-1 {
client CLIENT-1 {
client-group GROUP-1;
firewall-user {
password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6"; ## SECRET-DATA
}
}
client CLIENT-2 {
client-group GROUP-1;
firewall-user {
password "$9$/Bv59pBIRSleWB17-ws4o"; ## SECRET-DATA
}
}
session-options {
client-idle-timeout 10;
}
}
firewall-authentication {
pass-through {
default-profile PROFILE-1;
}
web-authentication {
default-profile PROFILE-1;
}
}
Wenn Sie mit der Konfiguration der Funktion auf Ihrem Gerät fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Überprüfen der Funktion der Passthrough-Authentifizierung
Um zu überprüfen, ob der Firewall-Benutzer Authentifizierung funktioniert, öffnen Sie einen Webbrowser auf dem Clientcomputer. Greifen Sie auf den Server zu, indem Sie die Server-IP-Adresse 10.1.2.1 eingeben. Das System fordert Sie zur Eingabe von Anmelde- und Kennwortdetails auf, wie in Abbildung 8 dargestellt.
Nach erfolgreicher Eingabe der Anmeldeinformationen können Sie auf den Server zugreifen.
Konfiguration der Captive Portal-Authentifizierung mit einheitlicher Richtlinie
CLI-Schnellkonfiguration
Um dieses Beispiel schnell auf Ihrer Firewall der SRX-Serie zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, und kopieren Sie dann die Befehle und fügen Sie sie dann in die CLI auf der Hierarchieebene [edit] ein.
set system services web-management http interface ge-0/0/0.0 set system services web-management https system-generated-certificate set system services web-management https interface ge-0/0/0.0 set security policies from-zone untrust to-zone trust policy p1 match source-address any set security policies from-zone untrust to-zone trust policy p1 match destination-address any set security policies from-zone untrust to-zone trust policy p1 match application junos-http set security policies from-zone untrust to-zone trust policy p1 match application junos-https set security policies from-zone untrust to-zone trust policy p1 match dynamic-application junos:HTTP set security policies from-zone untrust to-zone trust policy p1 match dynamic-application junos:SSH set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication web-authentication set security policies from-zone untrust to-zone trust policy p1 then log session-init set security policies from-zone untrust to-zone trust policy p1 then log session-close set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.253/24 web-authentication http set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.253/24 web-authentication https set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24 set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-1 firewall-user password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6" set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 set access profile PROFILE-1 client CLIENT-2 firewall-user password "$9$/Bv59pBIRSleWB17-ws4o" set access profile PROFILE-1 session-options client-idle-timeout 10 set access firewall-authentication pass-through default-profile PROFILE-1 set access firewall-authentication web-authentication default-profile PROFILE-1 set access firewall-authentication web-authentication banner success "WELCOME to JUNIPER HTTP SESSION"
Schritt-für-Schritt-Anleitung
-
Erstellen Sie Schnittstellen.
[edit] user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.254/24 user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.253/24 web-authentication http user@host# set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.253/24 web-authentication https user@host# set interfaces ge-0/0/1 unit 0 family inet address 10.1.2.254/24
Verwenden Sie eine sekundäre IP-Adresse für die Web-Authentifizierung. In diesem Beispiel verwenden wir 10.1.1.253/24 für die Web-Authentifizierung. Beachten Sie, dass die sekundäre IP-Adresse dasselbe Subnetz wie die primäre IP-Adresse verwenden muss.
-
Erstellen Sie Sicherheitszonen und weisen Sie Schnittstellen zu.
[edit] user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic system-services all user@host# set security zones security-zone trust interfaces ge-0/0/1.0 host-inbound-traffic protocols all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic system-services all user@host# set security zones security-zone untrust interfaces ge-0/0/0.0 host-inbound-traffic protocols all
- Aktivieren Sie die Schnittstelle für die Web-Authentifizierung.
[edit] user@host# set system services web-management http interface ge-0/0/0.0 user@host# set system services web-management https system-generated-certificate
-
Richten Sie ein Zugriffsprofil ein und fügen Sie Benutzerdetails hinzu.
[edit] user@host# set access profile PROFILE-1 client CLIENT-1 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-1 firewall-user password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6" user@host# set access profile PROFILE-1 client CLIENT-2 client-group GROUP-1 user@host# set access profile PROFILE-1 client CLIENT-2 firewall-user password "$9$/Bv59pBIRSleWB17-ws4o" user@host# set access profile PROFILE-1 session-options client-idle-timeout 10
Wir haben zwei Benutzer CLIENT-1 und CLIENT-2 mit Passwörtern hinzugefügt und die Benutzer der Client-Gruppe GROUP-1 zugewiesen.
-
Konfigurieren von Web-Authentifizierungs-Eigenschaften
[edit] user@host# set access firewall-authentication web-authentication default-profile PROFILE-1 user@host# set access firewall-authentication web-authentication banner success "WELCOME to JUNIPER HTTP SESSION"
-
Erstellen Sie eine Sicherheitsrichtlinie mit dynamischer Anwendung.
[edit] user@host# set security policies from-zone untrust to-zone trust policy p1 match source-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match destination-address any user@host# set security policies from-zone untrust to-zone trust policy p1 match application junos-http user@host# set security policies from-zone untrust to-zone trust policy p1 match application junos-https user@host# set security policies from-zone untrust to-zone trust policy p1 match dynamic-application junos:HTTP user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication web-authentication user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-init user@host# set security policies from-zone untrust to-zone trust policy p1 then log session-close
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den Befehl show security eingeben. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
[edit]user@host# show security policies
from-zone untrust to-zone trust {
policy p1 {
match {
source-address any;
destination-address any;
application [ junos-http junos-https ];
dynamic-application [ junos:HTTP junos:SSH ];
}
then {
permit {
firewall-authentication {
web-authentication;
}
}
log {
session-init;
session-close;
}
}
}
}
[edit]
user@host# show security zones
security-zone trust {
interfaces {
ge-0/0/1.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
security-zone untrust {
interfaces {
ge-0/0/0.0 {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
}
}
}
[edit]
user@host# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 10.1.1.254/24;
address 10.1.1.253/24 {
web-authentication {
http;
https;
}
}
}
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 10.1.2.254/24;
}
}
}
[edit]
user@host# show access
profile PROFILE-1 {
client CLIENT-1 {
client-group GROUP-1;
firewall-user {
password "$9$2ngZjHkPQ39.PhrvLVb.P5Tz6"; ## SECRET-DATA
}
}
client CLIENT-2 {
client-group GROUP-1;
firewall-user {
password "$9$/Bv59pBIRSleWB17-ws4o"; ## SECRET-DATA
}
}
session-options {
client-idle-timeout 10;
}
}
firewall-authentication {
pass-through {
default-profile PROFILE-1;
}
}
web-authentication {
default-profile PROFILE-1;
banner {
success "WELCOME to JUNIPER HTTP SESSION";
}
}
}
[edit]
user@host# show system services
ssh {
root-login allow;
}
web-management {
http {
interface [ fxp0.0 ge-0/0/0.0 ];
}
https {
system-generated-certificate;
interface [ fxp0.0 ge-0/0/0.0 ];
}
}
Wenn Sie mit der Konfiguration der Funktion auf Ihrem Gerät fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Überprüfen, ob die Webauthentifizierung funktioniert
Um zu überprüfen, ob die Web-Authentifizierung funktioniert, öffnen Sie einen Webbrowser auf dem Clientcomputer. Greifen Sie zunächst über einen Webbrowser auf das Sicherheitsgerät zu. Verwenden Sie die IP-Adresse 10.1.1.253, die wir für die Web-Authentifizierung konfiguriert haben. Das Gerät fordert Sie zur Eingabe eines Benutzernamens und eines Kennworts auf, wie in Abbildung 9 dargestellt.
Nach erfolgreicher Authentifizierung zeigt das System das konfigurierte Banner wie in Abbildung 10 gezeigt an, und Sie können auf den Server zugreifen.
Verifizierung
Überwachung von Firewall-Benutzern
Zweck
Zeigen Sie den Benutzerverlauf der Firewall-Authentifizierung an, um die Details des Firewall-Benutzers zu überprüfen.
Aktion
Geben Sie im Betriebsmodus die folgenden show-Befehle ein:
user@host> show security firewall-authentication users
Firewall authentication data:
Total users in table: 1
Id Source Ip Src zone Dst zone Profile Age Status User
15 10.1.1.1 N/A N/A PROFILE- 1 Success CLIENT-2
user@host> show security firewall-authentication users identifier 16 Username: CLIENT-2 Source IP: 10.1.1.1 Authentication state: Success Authentication method: User-firewall using HTTP Age: 1 Access time remaining: 9 Lsys: root-logical-system Source zone: N/A Destination zone: N/A Access profile: PROFILE-1 Interface Name: ge-0/0/0.0 Bytes sent by this user: 56986 Bytes received by this user: 436401 Client-groups: GROUP-1
lab@vSRX-01> show security firewall-authentication users identifier 15 Username: CLIENT-2 Source IP: 10.1.1.1 Authentication state: Success Authentication method: Web-authentication using HTTP Age: 2 Access time remaining: 8 Lsys: root-logical-system Source zone: N/A Destination zone: N/A Access profile: PROFILE-1 Interface Name: ge-0/0/0.0 Bytes sent by this user: 0 Bytes received by this user: 0 Client-groups: GROUP-1
user@host> show security firewall-authentication history
History of firewall authentication data:
Authentications: 2
Id Source Ip Date Time Duration Status User
0 10.1.1.1 2021-05-12 06:44:26 0:00:59 Failed
14 10.1.1.1 2021-05-12 07:33:43 0:10:00 Success CLIENT-2
Bedeutung
Die Befehlsausgabe enthält Details wie angemeldete Benutzer, verwendete Authentifizierungsmethode, angewendetes Profil, Anmeldeversuche usw.
Überprüfen der Details zur Verwendung von Sicherheitsrichtlinien
Zweck
Zeigt den Nutzensatz von Sicherheitsrichtlinien entsprechend der Anzahl der erhaltenen Treffer an.
Aktion
Geben Sie im Betriebsmodus die folgenden show-Befehle ein:
user@host> show security policies hit-count Logical system: root-logical-system Index From zone To zone Name Policy count Action 1 untrust trust p2 2 Permit
Bedeutung
Die Befehlsausgabe enthält Details zu den Sicherheitsrichtlinien, die auf den Datenverkehr angewendet werden.
Beispiel: Konfigurieren externer Authentifizierungsserver
In diesem Beispiel wird gezeigt, wie ein Gerät für die externe Authentifizierung konfiguriert wird.
Anforderungen
Bevor Sie beginnen, erstellen Sie eine Benutzergruppe für die Authentifizierung.
Überblick
Sie können mehrere Benutzerkonten zu einer Benutzergruppe zusammenfassen, die Sie auf der lokalen Datenbank oder auf einem RADIUS-, LDAP- oder SecurID-Server speichern können. Wenn Sie in einer Richtlinie auf eine Benutzergruppe für die Authentifizierung und einen externen Authentifizierungsserver verweisen, löst der mit der Richtlinie übereinstimmende Datenverkehr eine Authentifizierung aus.
Dieses Beispiel zeigt, wie das Zugriffsprofil Profile-1 für die externe Authentifizierung konfiguriert ist. Im Zugriffsprofil sind zwei RADIUS-Server und ein LDAP-Server konfiguriert. Die Reihenfolge der Authentifizierung gibt jedoch nur den RADIUS-Server an, d. h., wenn die Authentifizierung des RADIUS-Servers fehlschlägt, kann sich der Firewallbenutzer nicht authentifizieren. Auf die lokale Datenbank wird nicht zugegriffen.
Wenn die Firewallclients vom RADIUS-Server authentifiziert werden, sollte der vom RADIUS-Server zurückgegebene VSA für die Gruppenmitgliedschaft Alpha-, Beta- oder Gamma-Clientgruppen in der RADIUS-Serverkonfiguration oder im Zugriffsprofil Profil-1 enthalten. Zugriffsprofile speichern Benutzernamen und Kennwörter von Benutzern oder verweisen auf externe Authentifizierungsserver, auf denen diese Informationen gespeichert werden.
Konfiguration
Vorgehensweise
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set access profile Profile-1 authentication-order radius set access profile Profile-1 client Client-1 client-group alpha set access profile Profile-1 client Client-1 client-group beta set access profile Profile-1 client Client-1 client-group gamma set access profile Profile-1 client Client-1 firewall-user password pwd set access profile Profile-1 client Client-2 client-group alpha set access profile Profile-1 client Client-2 client-group beta set access profile Profile-1 client Client-2 firewall-user password pwd set access profile Profile-1 client Client-3 firewall-user password pwd set access profile Profile-1 client Client-4 firewall-user password pwd set access profile Profile-1 session-options client-group alpha set access profile Profile-1 session-options client-group beta set access profile Profile-1 session-options client-group gamma set access profile Profile-1 session-options client-idle-timeout 255 set access profile Profile-1 session-options client-session-timeout 4 set access profile Profile-1 ldap-options base-distinguished-name CN=users,DC=junos,DC=juniper,DC=net set access profile Profile-1 ldap-options search search-filter sAMAccountName= set access profile Profile-1 ldap-options search admin-search distinguished-name cn=administrator,cn=users,dc=junos,dc=juniper,dc=net set access profile Profile-1 ldap-options search admin-search password pwd set access profile Profile-1 ldap-server 203.0.113.39/24 set access profile Profile-1 radius-server 203.0.113.62/24 secret example-secret set access profile Profile-1 radius-server 203.0.113.62/24 retry 10 set access profile Profile-1 radius-server 203.0.113.27/24 secret juniper
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie ein Gerät für die externe Authentifizierung:
Geben Sie den RADIUS-Server für die externe Authentifizierung an.
[edit] user@host# set access profile Profile-1 authentication-order radius
Konfigurieren Sie Client1-4-Firewall-Benutzer und weisen Sie den Client-1-Firewall-Benutzer und den Client-2-Firewall-Benutzer Client-Gruppen zu.
[edit access profile Profile-1] user@host# set client Client-1 client-group alpha user@host# set client Client-1 client-group beta user@host# set client Client-1 client-group gamma user@host# set client Client-1 firewall-user password pwd user@host# set client Client-2 client-group alpha user@host# set client Client-2 client-group beta user@host# set client Client-2 firewall-user password pwd user@host# set client Client-3 firewall-user password pwd user@host# set client Client-4 firewall-user password pwd
Konfigurieren Sie Clientgruppen in den Sitzungsoptionen.
[edit access profile Profile-1] user@host# set session-options client-group alpha user@host# set session-options client-group beta user@host# set session-options client-group gamma user@host# set session-options client-idle-timeout 255 user@host# set session-options client-session-timeout 4
Konfigurieren Sie die IP-Adresse für den LDAP-Server und die Serveroptionen.
[edit access profile Profile-1] user@host# set ldap-options base-distinguished-name CN=users,DC=junos,DC=mycompany,DC=net user@host# set ldap-options search search-filter sAMAccountName= user@host# set ldap-options search admin-search password pwd user@host# set ldap-options search admin-search distinguished-name cn=administrator,cn=users,dc=junos,dc=mycompany,dc=net user@host# set ldap-server 203.0.113.39/24
Konfigurieren Sie die IP-Adressen für die beiden RADIUS-Server.
[edit access profile Profile-1] user@host# set radius-server 203.0.113.62/24 secret pwd user@host# set radius-server 203.0.113.62/24 retry 10 user@host# set radius-server 203.0.113.27/24 secret pwd
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe des show access profile Profile-1 Befehls. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show access profile Profile-1
authentication-order radius;
client Client-1 {
client-group [ alpha beta gamma ];
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
client Client-2 {
client-group [ alpha beta ];
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
client Client-3 {
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
client Client-4 {
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
session-options {
client-group [ alpha beta gamma ];
client-idle-timeout 255;
client-session-timeout 4;
}
ldap-options {
base-distinguished-name CN=users,DC=junos,DC=juniper,DC=net;
search {
search-filter sAMAccountName=;
admin-search {
distinguished-name cn=administrator,cn=users,dc=junos,
dc=mycompany,dc=net; password "$ABC123"; ## SECRET-DATA
}
}
}
ldap-server {
203.0.113.39/24 ;
}
radius-server {
203.0.113.62/24 {
secret "$ABC123"; ## SECRET-DATA
retry 10;
}
203.0.113.27/24 {
secret "$ABC123"; ## SECRET-DATA
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Führen Sie die folgende Aufgabe aus, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Beispiel: Konfigurieren von Clientgruppen
Dieses Beispiel zeigt, wie ein lokaler Benutzer für Clientgruppen in einem Profil konfiguriert wird.
Anforderungen
Bevor Sie beginnen, erstellen Sie ein Zugriffsprofil.
Überblick
Eine Clientgruppe ist eine Liste von Gruppen, denen der Client angehört. Wie beim Client-Leerlauf-Timeout wird eine Clientgruppe nur verwendet, wenn der externe Authentifizierungsserver keinen Wert in seiner Antwort zurückgibt (z. B. geben LDAP-Server solche Informationen nicht zurück).
In diesem Beispiel wird gezeigt, wie ein lokaler Benutzer namens Client-1 für die Clientgruppen G1, G2 und G3 in einem Profil namens Manager konfiguriert wird. In diesem Beispiel werden Clientgruppen für einen Client konfiguriert. Wenn für den Mandanten keine Mandantengruppe definiert ist, wird die Mandantengruppe unter der access profile session-options Hierarchie verwendet.
Konfiguration
Vorgehensweise
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set access profile Managers client Client-1 client-group G1set access profile Managers client Client-1 client-group G2set access profile Managers client Client-1 client-group G3set access profile Managers client Client-1 firewall-user password pwdset access profile Managers session-options client-group G1set access profile Managers session-options client-group G2set access profile Managers session-options client-group G3
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So konfigurieren Sie einen lokalen Benutzer für Clientgruppen in einem Profil:
Konfigurieren Sie die Firewall-Benutzerprofil-Manager und weisen Sie ihm Client-Gruppen zu.
user@host# edit access profile Managers [edit access profile Managers] user@host# set client Client-1 client-group G1 user@host# set client Client-1 client-group G2 user@host# set client Client-1 client-group G3 user@host# set client Client-1 firewall-user password pwd
Konfigurieren Sie Clientgruppen in den Sitzungsoptionen.
[edit access profile Managers] user@host# set session-options client-group G1 user@host# set session-options client-group G2 user@host# set session-options client-group G3
Ergebnisse
Bestätigen Sie Ihre Konfiguration, indem Sie den Befehl aus dem show access profile Managers Konfigurationsmodus eingeben. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show access profile Managers
client Client-1 {
client-group [ G1 G2 G3 ];
firewall-user {
password "$ABC123"; ## SECRET-DATA
}
}
session-options {
client-group [ G1 G2 G3 ];
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Verifizierung
Führen Sie die folgende Aufgabe aus, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:
Beispiel: Banner anpassen
In diesem Beispiel wird gezeigt, wie Sie den Bannertext anpassen, der im Browser angezeigt wird.
Anforderungen
Bevor Sie beginnen, erstellen Sie ein Zugriffsprofil.
Überblick
Ein Banner ist eine Nachricht, die je nach Art der Anmeldung an verschiedenen Stellen auf einem Monitor angezeigt wird. In diesem Beispiel wird gezeigt, wie Sie das im Browser angezeigte Banner ändern, um anzuzeigen, dass sich ein Benutzer nach erfolgreicher Anmeldung über Web Authentifizierung erfolgreich authentifiziert hat. Die neue Meldung lautet "Web-Authentifizierung ist erfolgreich". Wenn die Authentifizierung fehlschlägt, lautet die neue Meldung "Authentifizierung fehlgeschlagen".
Konfiguration
Vorgehensweise
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle in eine Textdatei, entfernen Sie alle Zeilenumbrüche, ändern Sie alle erforderlichen Details, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie die Befehle, fügen Sie sie in die CLI auf der Hierarchieebene [edit] ein und rufen Sie dann den Konfigurationsmodus auf commit .
set access firewall-authentication pass-through default-profile Profile-1set access firewall-authentication pass-through ftp banner fail “ Authentication failed”set access firewall-authentication web-authentication default-profile Profile-1set access firewall-authentication web-authentication banner success “ Web authentication is successful”
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus.
So passen Sie den Bannertext an, der im Browser angezeigt wird:
Geben Sie den Bannertext für die fehlgeschlagene Passthrough-Authentifizierung über FTP an.
[edit] user@host# set access firewall-authentication pass-through default-profile Profile-1 user@host# set access firewall-authentication pass-through ftp banner fail “ Authentication failed”
Geben Sie den Bannertext für eine erfolgreiche Web-Authentifizierung an.
[edit] user@host# set access web-authentication default-profile Profile-1 user@host# set access web-authentication banner success “ Web authentication is successful”
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration durch Eingabe des show access firewall-authentication Befehls. Wenn die Ausgabe nicht die beabsichtigte Konfiguration anzeigt, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
user@host# show access firewall-authentication
pass-through {
default-profile Profile-1;
ftp {
banner {
fail "Authentication failed";
}
}
}
web-authentication {
default-profile Profile-1;
banner {
success "Web authentication is successful";
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit .
Beispiel: Konfigurieren der gegenseitigen TLS-Authentifizierung (mTLS) für SRX Captive Portal
Erfahren Sie, wie Sie die gegenseitige TLS-Authentifizierung (mTLS) konfigurieren.
Verwenden Sie dieses Beispiel, um die gegenseitige mTLS-Authentifizierung (Transportschicht Sicherheit) in Ihrer Firewall zu konfigurieren und zu überprüfen. In diesem Beispiel verwenden wir Firewall , um uns auf eine Firewall der SRX-Serie von Juniper Networks® oder eine virtuelle Firewall vSRX von Juniper Networks® (vSRX3.0) zu beziehen. Mit dieser Konfiguration kann sich ein Benutzer ohne Kennwort authentifizieren. Die Benutzer-Authentifizierung erfolgt durch Validierung der Client/Server-Zertifikate mit Hilfe eines öffentlich-privaten Schlüsselpaares.
Um mTLS wie in diesem Beispiel gezeigt zu konfigurieren, muss ein Administrator die folgenden Zertifikate generieren:
-
CA-Zertifikat: Führen Sie das CA-Zertifikat in Ihrer Firewall und Ihrem Client-Browser aus.
-
Serverzertifikat: Generieren Sie ein Serverzertifikat auf Ihrer Firewall mithilfe des domain1.com mTLS-Servers. Signieren Sie das Serverzertifikat mit einem CA-Zertifikat, das auf Ihrer Firewall konfiguriert ist.
-
Clientzertifikat: Generieren Sie ein Clientzertifikat in Ihrem Clientbrowser und signieren Sie das Clientzertifikat mit einem auf Ihrer Firewall konfigurierten CA-Zertifikat.
| Lesezeit |
Weniger als eine Stunde. |
| Konfigurationszeit |
Weniger als eine Stunde. |
- Beispiele für Voraussetzungen
- Bevor Sie beginnen
- Funktionsübersicht
- Überblick über die Topologie
- Abbildung der Topologie
- Schritt-für-Schritt-Konfiguration des Testobjekts (Device-Under-Test, DUT)
- Anhang 1:
setBefehle auf allen Geräten - Generieren von Schlüsselzertifikaten für Client und Server
- Verifizierung
Beispiele für Voraussetzungen
| Hardware-Anforderungen |
® Juniper Networks SRX-Serie Firewall oder Juniper Networks® Virtuelle Firewall vSRX (vSRX3.0) |
| Anforderungen an die Software |
Junos OS Version 23.4R1 oder höher |
Bevor Sie beginnen
| Vorteile |
Mit der mTLS-Authentifizierung können Sie:
|
| Mehr erfahren |
Identitätsbewusste Firewall |
| Mehr erfahren |
Firewall-Benutzerauthentifizierung |
Funktionsübersicht
Dieser Abschnitt enthält eine Zusammenfassung der Konfigurationskomponenten in diesem Beispiel.
| Eingesetzte Technologien |
Um die mTLS-Authentifizierung einzurichten, müssen Sie Folgendes konfigurieren:
|
| Primäre Verifizierungsaufgaben |
Überprüfen Sie die mTLS-Authentifizierung. |
Überblick über die Topologie
In diesem Beispiel stellt ein Client über eine Firewall eine Verbindung zu einem Server her. Bei der mTLS-Authentifizierung überprüfen der Client und der Server das Zertifikat des jeweils anderen, indem sie Informationen über eine verschlüsselte TLS-Verbindung austauschen.
Die Firewall leitet nicht authentifizierte Clients an domain1.com um, wenn sie eine Verbindung zum Server herstellen. Dieser Prozess vermeidet Zertifikatsfehler, da das CA Zertifikat und das Serverzertifikat für domain1.com auf der Firewall vorinstalliert sind. Das CA-Zertifikat ist im Browser des Clients vorinstalliert.
Verwenden Sie die mTLS-Authentifizierung, um die manuelle Eingabe von Benutzeranmeldeinformationen für die Captive Portal-Authentifizierung zu umgehen. Stellen Sie sicher, dass ein gültiger Benutzer für das LDAP-Profil (Lightweight Directory Access Protocol) konfiguriert ist, um Benutzerinformationen und Autorisierungen aus Active Directory abzurufen. Wenn die Firewall-Authentifizierung in der Richtlinie angewendet wird, ist eine JIMS-Konfiguration erforderlich.
| Hostname |
Rolle |
Funktion |
|---|---|---|
| Auftraggeber |
Service-Anforderer |
Initiiert eine Sitzung mit dem Server über die Firewall der SRX-Serie. |
| Firewall der SRX-Serie |
Firewall |
Verschlüsselt und entschlüsselt Pakete für den Client. |
| Server |
Server |
Reagiert auf eine Client-Anfrage. |
| Active Directory |
Identitätsquelle |
Active Directory als Identitätsquelle definiert die Integration SRX-Serie Firewall, Virtuelle Firewall vSRX, Juniper Networks® Container-Firewall cSRX oder Juniper Networks® NFX-Serie Netzwerkserviceplattform mit Microsoft Windows Active Directory. Weitere Informationen finden Sie unter Active Directory als Identitätsquelle. |
| JIMS |
Windows-Dienstanwendung |
® Juniper Identity Management Service (JIMS) ist eine Windows-Dienstanwendung zum Sammeln und Verwalten von Benutzer-, Geräte- und Gruppeninformationen aus Active Directory-Domänen. Weitere Informationen finden Sie unter JIMS mit der Firewall der SRX-Serie. |
Abbildung der Topologie
(mTLS)
Schritt-für-Schritt-Konfiguration des Testobjekts (Device-Under-Test, DUT)
Vollständige Beispielkonfigurationen auf dem Prüfling finden Sie unter:
Konfigurieren Sie die erforderlichen Schnittstellen.
set interfaces ge-0/0/2 unit 0 family inet address 192.168.2.1/24 web-authentication https set interfaces ge-0/0/1 unit 0 family inet address 10.1.1.1/24
Konfigurieren Sie die Sicherheitszonen und weisen Sie den Zonen Schnittstellen zu.
set security zones security-zone untrust host-inbound-traffic system-services ike set security zones security-zone untrust host-inbound-traffic system-services https set security zones security-zone untrust host-inbound-traffic system-services tcp-encap set security zones security-zone untrust interfaces ge-0/0/2.0 set security zones security-zone trust interfaces ge-0/0/1.0
Konfigurieren Sie ein Zugriffsprofil.
set access profile profile1 client user1 client-group group1 set access profile profile1 client user1 client-group group2 set access profile profile1 client user1 firewall-user password "$9$dPb4ZjHmzF/k.uO"
Konfigurieren Sie eine Sicherheitsrichtlinie, um nicht authentifizierte Benutzer mit Firewall-Benutzer-Authentifizierung zuzulassen.
set security policies from-zone untrust to-zone trust policy p1 match source-address any set security policies from-zone untrust to-zone trust policy p1 match destination-address any set security policies from-zone untrust to-zone trust policy p1 match application any set security policies from-zone untrust to-zone trust policy p1 match source-identity unauthenticated-user set security policies from-zone untrust to-zone trust policy p1 match source-identity unknown-user set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall access-profile profile1 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall web-redirect-to-https set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall web-authentication-server domain1.com:8443 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication push-to-identity-management set security policies from-zone untrust to-zone trust policy p1 then log session-close
Konfigurieren Sie eine Sicherheitsrichtlinie, um authentifizierte Benutzer ohne Firewall-Benutzer-Authentifizierung zuzulassen.
set security policies from-zone untrust to-zone trust policy p2 match source-address any set security policies from-zone untrust to-zone trust policy p2 match destination-address any set security policies from-zone untrust to-zone trust policy p2 match application any set security policies from-zone untrust to-zone trust policy p2 match source-identity authenticated-user set security policies from-zone untrust to-zone trust policy p2 then permit set security policies from-zone untrust to-zone trust policy p2 then log session-close
Konfigurieren Sie ein CA-Profil.
set security pki ca-profile ca_domain1 set security pki ca-profile ca_domain1 ca-identity ca_domain1_id
Konfigurieren Sie ein mTLS-Profil.
set security firewall-authentication mtls-profile ma2 subject CN=test1client.* set security firewall-authentication mtls-profile-fallback-password
Konfigurieren Sie
web-managementdas Starten von mTLS auf der Firewall, auf der Sie das domain1.com Serverzertifikat ausführen.set system services web-management https interface ge-0/0/2.0 set system services web-management https pki-local-certificate srx_domain1.com set system services web-management https virtual-domain domain1.com pki-local-certificate srx_domain1.com set system services web-management https virtual-domain domain1.com mtls port 8443 set system services web-management https virtual-domain domain1.com mtls ca-profile ca_domain1 set system services web-management https virtual-domain domain1.com mtls firewall-authentication-profile ma2
(Optional) Konfigurieren Sie eine Zertifikatsperrliste (Certificate Revocation List, CRL) für die Zertifikatüberprüfung. mTLS unterstützt die CRL-Validierung des eingehenden Zertifikats. Siehe Zertifikatsperrung.
set security pki ca-profile ca_domain1 revocation-check use-crl set security pki ca-profile ca_domain1 revocation-check crl url http://<crl-server-ip>/ca_crl.crl
Anhang 1: set Befehle auf allen Geräten
set interfaces ge-0/0/2 unit 0 family inet address 192.168.2.1/24 web-authentication https set interfaces ge-0/0/1 unit 0 family inet address 10.1.1.1/24 set security zones security-zone untrust host-inbound-traffic system-services ike set security zones security-zone untrust host-inbound-traffic system-services https set security zones security-zone untrust host-inbound-traffic system-services tcp-encap set security zones security-zone untrust interfaces ge-0/0/2.0 set security zones security-zone trust interfaces ge-0/0/1.0 set access profile profile1 client user1 client-group group1 set access profile profile1 client user1 client-group group2 set access profile profile1 client user1 firewall-user password "$9$dPb4ZjHmzF/k.uO" set security policies from-zone untrust to-zone trust policy p1 match source-address any set security policies from-zone untrust to-zone trust policy p1 match destination-address any set security policies from-zone untrust to-zone trust policy p1 match application any set security policies from-zone untrust to-zone trust policy p1 match source-identity unauthenticated-user set security policies from-zone untrust to-zone trust policy p1 match source-identity unknown-user set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall access-profile profile1 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall web-redirect-to-https set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall web-authentication-server domain1.com:8443 set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication push-to-identity-management set security policies from-zone untrust to-zone trust policy p1 then log session-close set security policies from-zone untrust to-zone trust policy p2 match source-address any set security policies from-zone untrust to-zone trust policy p2 match destination-address any set security policies from-zone untrust to-zone trust policy p2 match application any set security policies from-zone untrust to-zone trust policy p2 match source-identity authenticated-user set security policies from-zone untrust to-zone trust policy p2 then permit set security policies from-zone untrust to-zone trust policy p2 then log session-close set security pki ca-profile ca_domain1 set security pki ca-profile ca_domain1 ca-identity ca_domain1_id set security firewall-authentication mtls-profile ma2 subject CN=test1client.* set security firewall-authentication mtls-profile-fallback-password set system services web-management https interface ge-0/0/2.0 set system services web-management https pki-local-certificate srx_domain1.com set system services web-management https virtual-domain domain1.com pki-local-certificate srx_domain1.com set system services web-management https virtual-domain domain1.com mtls port 8443 set system services web-management https virtual-domain domain1.com mtls ca-profile ca_domain1 set system services web-management https virtual-domain domain1.com mtls firewall-authentication-profile ma2 set security pki ca-profile ca_domain1 revocation-check use-crl set security pki ca-profile ca_domain1 revocation-check crl url http://<crl-server-ip>/ca_crl.crl
Generieren von Schlüsselzertifikaten für Client und Server
Goal :
1. Generate CA certificate.
2. Generate server cert for srx_domain1.com domain and sign it with CA cert and load it in SRX.
3. Generate client cert sign it with CA cert and load it in client browser.
----------------------------
1. Generate CA certificate :
----------------------------
First you need to set up CA, and then you sign server and client certificates.
Below steps will help creating the certificates in the Linux machine where openssl is installed.
To create CA certificate, create a basic configuration file:
$ touch openssl-ca.cnf, Then, add the following to it:
## Begining of file
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
[ CA_default ]
default_days = 365 # How long to certify for
default_crl_days = 30 # How long before next CRL
default_md = sha256 # Use public key default MD
preserve = no # Keep passed DN ordering
x509_extensions = ca_extensions # The extensions to add to the cert
email_in_dn = no # Don't concat the email in the DN
copy_extensions = copy # Required to copy SANs from CSR to cert
####################################################################
[ req ]
default_bits = 4096
default_keyfile = cakey.pem
distinguished_name = ca_distinguished_name
x509_extensions = ca_extensions
string_mask = utf8only
####################################################################
[ ca_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Maryland
localityName = Locality Name (eg, city)
localityName_default = MyLocality
organizationName = Organization Name (eg, company)
organizationName_default = Test CA, Limited
organizationalUnitName = Organizational Unit (eg, division)
organizationalUnitName_default = Server Research Department
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = MYCA
emailAddress = Email Address
emailAddress_default = test@example.com
####################################################################
[ ca_extensions ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
basicConstraints = critical, CA:true
keyUsage = keyCertSign, cRLSign
## End of file.
Then, execute the following. The -nodes omits the password or passphrase so you can examine the certificate.
$ openssl req -x509 -config openssl-ca.cnf -days 365 -newkey rsa:4096 -sha256 -nodes -out cacert.pem -outform PEM
After the command executes, cacert.pem will be your certificate for CA operations, and cakey.pem will be the private key.
You can verify the certificate with the following command :
$ openssl x509 -in cacert.pem -text -noout
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 11485830970703032316 (0x9f65de69ceef2ffc)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=MD, L=MyLocality, CN=Test CA/emailAddress=test@example.com
Validity
Not Before: Jan 24 14:24:11 2014 GMT
Not After : Feb 23 14:24:11 2014 GMT
Subject: C=US, ST=MD, L=MyLocality, CN=Test CA/emailAddress=test@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:b1:7f:29:be:78:02:b8:56:54:2d:2c:ec:ff:6d:
...
39:f9:1e:52:cb:8e:bf:8b:9e:a6:93:e1:22:09:8b:
59:05:9f
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
4A:9A:F3:10:9E:D7:CF:54:79:DE:46:75:7A:B0:D0:C1:0F:CF:C1:8A
X509v3 Authority Key Identifier:
keyid:4A:9A:F3:10:9E:D7:CF:54:79:DE:46:75:7A:B0:D0:C1:0F:CF:C1:8A
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage:
Certificate Sign, CRL Sign
Signature Algorithm: sha256WithRSAEncryption
4a:6f:1f:ac:fd:fb:1e:a4:6d:08:eb:f5:af:f6:1e:48:a5:c7:
...
cd:c6:ac:30:f9:15:83:41:c1:d1:20:fa:85:e7:4f:35:8f:b5:
38:ff:fd:55:68:2c:3e:37
You can also test its purpose with following command :
$ openssl x509 -purpose -in cacert.pem -inform PEM
Certificate purposes:
SSL client : No
SSL client CA : Yes
SSL server : No
SSL server CA : Yes
Netscape SSL server : No
Netscape SSL server CA : Yes
S/MIME signing : No
S/MIME signing CA : Yes
S/MIME encryption : No
S/MIME encryption CA : Yes
CRL signing : Yes
CRL signing CA : Yes
Any Purpose : Yes
Any Purpose CA : Yes
OCSP helper : Yes
OCSP helper CA : Yes
Time Stamp signing : No
Time Stamp signing CA : Yes
-----BEGIN CERTIFICATE-----
MIIFpTCCA42gAwIBAgIJAJ9l3mnO7y/8MA0GCSqGSIb3DQEBCwUAMGExCzAJBgNV
...
aQUtFrV4hpmJUaQZ7ySr/RjCb4KYkQpTkOtKJOU1Ic3GrDD5FYNBwdEg+oXnTzWP
tTj//VVoLD43
-----END CERTIFICATE-----
Load CA cert on SRX :
router# set security pki ca-profile ca_domain1 ca-identity ca_domain1_id
router# run request security pki ca-certificate load ca-profile ca_domain1 filename /var/tmp/cacert.pem
Load CA cert on client browser : ca_cert.pem in 'authorities' section of client browser certificates [Can also be done after step3].
-------------------------------------------------------------------------
2. Generate server cert for srx_domain1.com domain and sign it with CA cert :
-------------------------------------------------------------------------
First, touch the openssl-server.cnf (you can make one of these for user certificates also) :
$ touch openssl-server.cnf
Then open it, and add the following.
## Begining of file.
HOME = .
RANDFILE = $ENV::HOME/.rnd
####################################################################
[ req ]
default_bits = 2048
default_keyfile = serverkey.pem
distinguished_name = server_distinguished_name
req_extensions = server_req_extensions
string_mask = utf8only
####################################################################
[ server_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = MD
localityName = Locality Name (eg, city)
localityName_default = MyLocality
organizationName = Organization Name (eg, company)
organizationName_default = Test Server, Limited
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = srx_domain1
emailAddress = Email Address
emailAddress_default = srx_domain1@srx_domain1.com
####################################################################
[ server_req_extensions ]
subjectKeyIdentifier = hash
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alternate_names
nsComment = "OpenSSL Generated Certificate"
####################################################################
[ alternate_names ]
DNS.1 = srx_domain1.com
DNS.2 = www.srx_domain1.com
DNS.3 = mail.srx_domain1.com
DNS.4 = ftp.srx_domain1.com
# IPv4 localhost
IP.1 = 127.0.0.1
# IPv6 localhost
IP.2 = ::1
## End of file.
Now, create the server certificate request using below command.
$ openssl req -config openssl-server.cnf -newkey rsa:2048 -sha256 -nodes -out servercert.csr -outform PEM
After this command executes, you will have a request in servercert.csr and a private key in serverkey.pem.
Verify the created certificate with below command :
$ openssl req -text -noout -verify -in servercert.csr
Certificate:
verify OK
Certificate Request:
Version: 0 (0x0)
Subject: C=US, ST=MD, L=MyLocality, CN=srx_domain1/emailAddress=srx_domain1@srx_domain1.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ce:3d:58:7f:a0:59:92:aa:7c:a0:82:dc:c9:6d:
...
f9:5e:0c:ba:84:eb:27:0d:d9:e7:22:5d:fe:e5:51:
86:e1
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Subject Key Identifier:
1F:09:EF:79:9A:73:36:C1:80:52:60:2D:03:53:C7:B6:BD:63:3B:61
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Subject Alternative Name:
DNS:example.com, DNS:www.example.com, DNS:mail.example.com, DNS:ftp.example.com
Netscape Comment:
OpenSSL Generated Certificate
Signature Algorithm: sha256WithRSAEncryption
6d:e8:d3:85:b3:88:d4:1a:80:9e:67:0d:37:46:db:4d:9a:81:
...
76:6a:22:0a:41:45:1f:e2:d6:e4:8f:a1:ca:de:e5:69:98:88:
a9:63:d0:a7
Next, you have to sign it with your CA.
First, open openssl-ca.cnf and add the following two sections.
####################################################################
[ signing_policy ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
####################################################################
[ signing_req ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
Second, add the following to the [ CA_default ] section of openssl-ca.cnf. I left them out earlier, because they can complicate things (they were unused at the time). Now you'll see how they are used, so hopefully they will make sense.
base_dir = .
certificate = $base_dir/cacert.pem # The CA certificate
private_key = $base_dir/cakey.pem # The CA private key
new_certs_dir = $base_dir # Location for new certs after signing
database = $base_dir/index.txt # Database index file
serial = $base_dir/serial.txt # The current serial number
unique_subject = no # Set to 'no' to allow creation of
# several certificates with same subject.
Third, touch index.txt and serial.txt:
$ touch index.txt
$ echo '01' > serial.txt
Then, perform the following:
$ openssl ca -config openssl-ca.cnf -policy signing_policy -extensions signing_req -out servercert.pem -infiles servercert.csr
You should see similar to the following:
Using configuration from openssl-ca.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'US'
stateOrProvinceName :ASN.1 12:'MD'
localityName :ASN.1 12:'MyLocality'
commonName :ASN.1 12:'Test CA'
emailAddress :IA5STRING:'test@example.com'
Certificate is to be certified until Oct 20 16:12:39 2016 GMT (1000 days)
Sign the certificate? [y/n]:Y
1 out of 1 certificate requests certified, commit? [y/n]Y
Write out database with 1 new entries
Data Base Updated
After the command executes, you will have a freshly minted server certificate in servercert.pem. The private key was created earlier and is available in serverkey.pem.
Finally, you can inspect your freshly minted certificate with the following:
$ openssl x509 -in servercert.pem -text -noout
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 9 (0x9)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=MD, L=MyLocality, CN=Test CA/emailAddress=test@srx_domain1.com
Validity
Not Before: Jan 24 19:07:36 2014 GMT
Not After : Oct 20 19:07:36 2016 GMT
Subject: C=US, ST=MD, L=MyLocality, CN=Test Server
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:ce:3d:58:7f:a0:59:92:aa:7c:a0:82:dc:c9:6d:
...
f9:5e:0c:ba:84:eb:27:0d:d9:e7:22:5d:fe:e5:51:
86:e1
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
1F:09:EF:79:9A:73:36:C1:80:52:60:2D:03:53:C7:B6:BD:63:3B:61
X509v3 Authority Key Identifier:
keyid:42:15:F2:CA:9C:B1:BB:F5:4C:2C:66:27:DA:6D:2E:5F:BA:0F:C5:9E
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Subject Alternative Name:
DNS:example.com, DNS:www.example.com, DNS:mail.example.com, DNS:ftp.example.com
Netscape Comment:
OpenSSL Generated Certificate
Signature Algorithm: sha256WithRSAEncryption
b1:40:f6:34:f4:38:c8:57:d4:b6:08:f7:e2:71:12:6b:0e:4a:
...
45:71:06:a9:86:b6:0f:6d:8d:e1:c5:97:8d:fd:59:43:e9:3c:
56:a5:eb:c8:7e:9f:6b:7a
Please refer to openssl documentation for copy_extension, unique_subject, policy_match etc and add those the file if needed.
This document describes only the basic key generation steps.
Load sever certificate on SRX :
router# run request security pki local-certificate load filename server_CASignedcert.pem key server_key.pem certificate-id srx_domain1
-------------------------------------------------------
3. Generate client cert and load it in client browser :
--------------------------------------------------------
Follow the steps in step-2 and generate client certificate.
In case you need to connect CN of the certificate to the username from Active-directory - where user's role can be fetched, ensure that client CN is test1client@srx_domain1.com,
where, Active-directory already has a user with name test1client in domain srx_domain1.com.
Active-directory entry :
PS C:\Users\Administrator> Get-ADUser -Filter {SamAccountName -like "*test*"}
DistinguishedName : CN=test1client N,DC=srx_domain1,DC=com
Enabled : True
GivenName : test1Client
Name : test1client N
ObjectClass : user
ObjectGUID : a28777ef-0023-45f1-a192-147eff664cbd
SamAccountName : test1client
UserPrincipalName : test1client@srx_domain1.com
After the client certificate is generated in pem format, convert it in pkcs format :
openssl pkcs12 -export -out client_cert.p12 -in clientcert.pem -inkey clientkey.pem -passin pass:root -passout pass:root
Now, on client machine, on web browser, load client_cert.p12 in 'your certificates' section.
Also, load ca_cert.pem in 'authorities' section of browser certificates.
Verifizierung
Dieser Abschnitt enthält eine Liste von show Befehlen, mit denen Sie das Feature in diesem Beispiel überprüfen können.
Überprüfen der mTLS-Authentifizierung
Zweck
Überprüfen Sie die mTLS-Authentifizierung.
Aktion
Geben Sie im Betriebsmodus den show services user-identification debug-counters | match MTLS Befehl ein, um den Status der mTLS-Authentifizierung anzuzeigen.
user@host> show services user-identification debug-counters | match MTLS MTLS Authentication Successful : 2 MTLS Authentication failed : 0 MTLS profile match failed, fallback password : 0 MTLS auth processed by userfw : 1 MTLS auth processed by fwauthd : 0 MTLS auth processed by none : 0 MTLS failure due to NULL domain : 0 MTLS PTIM failed : 0
Bedeutung
Die Beispielausgabe bestätigt:
-
Sie haben die mTLS-Authentifizierung erfolgreich konfiguriert.
-
Die Benutzer-Firewall hat die mTLS-Authentifizierung erfolgreich verarbeitet.
Siehe auch
Konfigurieren Sie ein benutzerdefiniertes Logo und Bannerbotschaften
Erfahren Sie, wie Firewall-Administratoren ein benutzerdefiniertes Logo festlegen und Anmelde- und Abmeldebannermeldungen konfigurieren können, die während der Pass-Through- und Captive Portal-Authentifizierung angezeigt werden.
Führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes Logo festzulegen und Login-Success-, Login-Fail- und Logout-Bannermeldungen zu konfigurieren, die während der Captive Portal-Authentifizierung angezeigt werden.
Das Captive Portal zeigt standardmäßig die Schaltfläche "Abmelden" an, ohne dass eine zusätzliche Konfiguration durch Firewall-Administratoren erforderlich ist. Nach der Anmeldung können sich Firewall-Benutzer über die im Captive Portal angezeigte Schaltfläche zum Abmelden abmelden.
Legen Sie ein benutzerdefiniertes Logo fest, das während folgender Ereignisse angezeigt wird:
Captive Portal-Authentifizierung.
[edit] user@host# set access firewall-authentication web-authentication logo file path
Beispiel:
[edit] user@host# set access firewall-authentication web-authentication logo path/var/tmp/mylogo.png
Konfigurieren von benutzerdefinierten Bannermeldungen für erfolgreiche und fehlgeschlagene Anmeldungen, die während
Pass-Through-Authentifizierung.
[edit] user@host# set access firewall-authentication pass-through http banner success string user@host# set access firewall-authentication pass-through http banner fail string
Captive Portal-Authentifizierung.
[edit] user@host# set access firewall-authentication web-authentication banner success string user@host# set access firewall-authentication web-authentication banner fail string
Beispiel:
[edit] user@host# set access firewall-authentication web-authentication banner success Login Success user@host# set access firewall-authentication web-authentication banner fail Login Failed
Konfigurieren Sie Anmeldebannermeldungen, die während der Passthrough-Authentifizierung angezeigt werden.
[edit] user@host# set access firewall-authentication pass-through http banner login string
Beispiel:
[edit] user@host# set access firewall-authentication pass-through http banner login Successful Login
Konfigurieren Sie Abmeldebannermeldungen, die während der Captive Portal-Authentifizierung angezeigt werden.
[edit] user@host# set access firewall-authentication web-authentication banner logout string
Beispiel:
[edit] user@host# set access firewall-authentication web-authentication banner logout Successful Logout
Bestätigen Sie die Konfiguration.
[edit] user@host# commit