ON THIS PAGE
Configuring SSL Proxy
Configuring SSL Forward Proxy
- SSL Proxy Configuration Overview
- Applying an SSL Proxy Profile to a Security Policy
- Configuring SSL Proxy Logging
- Ignoring Server Authentication
SSL Proxy Configuration Overview
-
Configuring the root CA certificate, see Enroll a Certificate
-
Loading a CA profile group, see Enroll a Certificate
-
Configure SSL proxy profile and associate root CA certificate and CA profile group
-
Create a security policy by defining input traffic match criteria
-
Applying an SSL proxy profile to a security policy
-
Optional steps such as creating allowlists and SSL proxy logging
Applying an SSL Proxy Profile to a Security Policy
SSL proxy is enabled as an application service within a security policy. In a security policy, you specify the traffic that you want the SSL proxy enabled on as match criteria and then specify the SSL proxy CA profile to be applied to the traffic.
To enable SSL proxy in a security policy:
This example assumes that you have already creates security zones trust and untrust and creating a security policy for the traffic from trust zone to untrust zone.
Configuring SSL Proxy Logging
When configuring SSL proxy, you can choose to set the option to receive some or all of the logs. SSL proxy logs contain the logical system name, SSL proxy allowlists, policy information, SSL proxy information, and other information that helps you troubleshoot when there is an error.
You can configure logging of all or specific events, such as error, warning, and information events. You can also configure logging of sessions that are allowlisted, dropped, ignored, or allowed after an error occurs.
[edit] user@host# set services ssl proxy profile profile-name actions log all user@host# set services ssl proxy profile profile-name actions log sessions-whitelisted user@host# set services ssl proxy profile profile-name actions log sessions-allowed user@host# set services ssl proxy profile profile-name actions log errors
You can use enable-flow-tracing option to enable debug tracing.
Ignoring Server Authentication
Junos OS allows you to configure an option to ignore server authentication completely. If you configure your system to ignore authentication, then any errors encountered during server certificate verification at the time of the SSL handshake are ignored. Commonly ignored errors include the inability to verify CA signature, incorrect certificate expiration dates, and so forth. If this option is not set, all the sessions where the server sends self-signed certificates are dropped when errors are encountered.
We do not recommend using this option for authentication because configuring it results in websites not being authenticated at all. However, you can use this option to effectively identify the root cause of dropped SSL sessions.
From configuration mode, specify to ignore server authentication:
[edit] user@host# set services ssl proxy profile profile-name actions ignore-server-auth-failure
SSL Reverse Proxy
- Overview
- Configuring the SSL Reverse Proxy
- Verifying the SSL Reverse Proxy Configuration on the Device
Overview
The proxy model implementation (reverse proxy) enhances server protection. It improves handshaking and supports more protocol versions. You can enable Layer 7 services like application security, IPS, Content Security, and ATP Cloud on SSL reverse proxy-decrypted traffic.
We recommend using the SSL reverse proxy and Intrusion Detection and Prevention (IDP) instead of using the IDP SSL inspection functionality. In recent Junos OS releases, IDP SSL Inspection is deprecated—rather than immediately removed—to provide backward compatibility and a chance to bring your configuration into compliance with the new configuration.
Reverse Proxy Features:
-
Terminates client SSL on the firewall and initiates a new SSL connection with a server. Decrypts SSL traffic from the client/server and encrypts again (after inspection) before sending to the server/client.
-
Supports all current protocol versions.
-
-
Supports RSA
-
Support DHE or ECDHE
-
-
Uses existing SSL forward proxy with TCP proxy underneath.
-
Just like forward proxy, decrypted SSL traffic is available for all security services.
-
All commonly used ciphers are supported.
You must configure either root-ca or
server-certificate in an SSL proxy profile. Otherwise
the commit check fails. See the following table for supported configurations
details.
|
server-certificate configured |
root-ca configured |
Profile type |
|---|---|---|
|
No |
No |
Commit check fails. You must configure either
|
|
Yes |
Yes |
Commit check fails. Configuring both
|
|
No |
Yes |
Forward proxy |
|
Yes |
No |
Reverse proxy |
Configuring multiple instances of forward and reverse proxy profiles are supported. But for a given firewall policy, only one profile (either a forward or reverse proxy profile) can be configured. Configuring both forward and reverse proxy on the same device is also supported.
You cannot configure the previous reverse proxy implementation with the new reverse proxy implementation for a given firewall policy. If both are configured, you will receive a commit check failure message.
The following are the minimum steps to configure reverse proxy:
The SSL forward proxy and reverse proxy require a profile to be configured at the firewall rule level. In addition, you must also configure server certificates with private keys for reverse proxy. During an SSL handshake, the SSL proxy performs a lookup for a matching server private key in its server private key hash table database. If the lookup is successful, the handshake continues. Otherwise, SSL proxy terminates the hand shake. Reverse proxy does not prohibit server certificates. It forwards the actual server certificate/chain as is to the client without modifying it. Intercepting the server certificate occurs only with forward proxy.
Configuring the SSL Reverse Proxy
This example shows how to configure reverse proxy to enable server protection. For server protection, additionally, server certificate(s) with private key(s) must be configured.
A reverse proxy protects servers by hiding the details of the servers from the clients, there by adding an extra layer of security.
To configure an SSL reverse proxy, you must:
Load the server certificate(s) and their key(s) into firewall’s certificate repository.
Attach the server certificate identifier(s) to the SSL proxy profile.
Apply SSL proxy profile as application services in a security policy.
To configure SSL reverse proxy:
Verifying the SSL Reverse Proxy Configuration on the Device
Purpose
Viewing the SSL reverse proxy statistics on the firewall.
Action
You can view the SSL proxy statistics by using the show services ssl proxy statistics command.
root@host> show services ssl proxy statistics PIC:spu-1 fpc[0] pic[1] ------ sessions matched 0 sessions whitelisted 0 sessions bypassed:non-ssl 0 sessions bypassed:mem overflow 0 sessions bypassed:low memory 0 sessions created 0 sessions ignored 0 sessions active 0 sessions dropped 0
Configure SSL Forward Proxy with Content Security
In this procedure, you configure an SSL forward proxy profile with Content Security. When you configure Content Security, the SSL proxy acts as an SSL server by terminating the SSL session from the client and establishing a new SSL session to the server. The firewall decrypts and then reencrypts all SSL proxy traffic. Content Security can use the decrypted content from SSL proxy.
Generate local certificate as root-ca.
Configure SSL Reverse Proxy with Content Security
In this procedure, you configure an SSL reverse proxy profile with Content Security.
Creating an Allowlist of Exempted Destinations for SSL Proxy
SSL encryption and decryption might consume memory resources on the firewalls. To limit this, you can selectively bypass SSL proxy processing for some sessions such as sessions that transacts with familiar trusted servers or domains. You can also exempt the sessions with financial and banking sites due to legal requirements.
To exempt the sessions from SSL proxy, you can create an allowlist by adding IP addresses or domain names of the servers. Allowlists include addresses that you want to exempt from undergoing SSL proxy processing.
Use the following steps to create allowlist:
Specify IP addresses and domain name in your global address book.
Refer the global address book in SSL proxy profile.
You can configure the following types of the IP addresses in global address book.
IPv4 addresses (plain text). For example:
set security address-book global address address-4 192.0.2.117
IPv4 address range. For example:
set security address-book global address address-2 range-address 192.0.2.117 to 192.0.2.199
IPv4 wildcard. For example:
set security address-book global address address-3 wildcard-address 203.0.113.0/24
DNS name. For example:
set security address-book global address address-1 dns-name www.abc.com
IPv6 address. For example:
set security address-book global address address-5 FE80::/10
Allowlists do not support the following types of IP addresses:
Translated IP addresses. Sessions are allowlisted based on the actual IP address and not on the translated IP address. Because of this, in the allowlist configuration of the SSL proxy profile, the actual IP address should be provided and not the translated IP address.
Noncontiguous netmasks. For example:
IP address -203.0.113.0 and mask 255.255.255.0 that is 203.0.113.0/24 is supported.
IP address - 203.0.113.9 and mask 255.0.255.0 is not supported.
Following example shows you how to use allowlists in SSL proxy profile.
In this example, you exempt all sessions to www.mycompany.com. For this, you first specify the domain in the address book and
then configure the address in the SSL proxy profile.
Creating an Allowlist of Exempted URL Categories for SSL Proxy
You can set up URL categories in the Content Security module to skip SSL inspection on the firewall. To do this, SRX links the SSL proxy profile with the Enhanced Web Filtering (EWF) feature. After enabling this, you can add URL categories to an allowlist in the SSL proxy profile, along with address books. You can choose from predefined categories or create custom ones supported by Content Security.
The security device uses the Server Name Indication (SNI) field extracted by the Content Security module to determine the URL category. The SSL proxy uses this information to determines whether to accept, and proxy, or to ignore the session.
SSL proxy allowlisting feature includes URL categories supported by Content Security and SSL proxy allowlisting feature extends support to custom URL categories supported by Content Security.
Following examples show how to configure the URL categories in SSL proxy profile:
- Creating an Allowlist of Exempted URL Categories
- Creating an Allowlist of Exempted Custom URL Categories
Creating an Allowlist of Exempted URL Categories
Use the following steps to configure the predefined URL categories in an SSL proxy profile.
Creating an Allowlist of Exempted Custom URL Categories
Use the following steps to configure custom URL categories in an SSL proxy profile.
Proxy Authentication Support
You can use proxy profiles to securely route outbound HTTPS traffic through a proxy server with authentication support. You can configure proxy authentication directly within proxy profiles. By setting a username and password, you ensure secure access to external feeds and services. This authentication mechanism supports multiple services to enable secure, authenticated HTTPS communication through a proxy server.
The following connections that support HTTP proxy for server communication now include proxy authentication support:
- SecIntel connection to ATP cloud to download and upload the feeds.
- IDP and Application Identification connection for signature database download.
- Content security (formerly known as Unified Threat Management) for following
functionalities:
- Avira AV virus database and engine update connections.
- Sophos AV scan queries to the cloud.
- Web Filtering URL category queries to the cloud.
- Web Filtering category updates.
- Web Filtering URL feed downloads.
-
ATP clouds connection for:
- Enrollment processes
- File submission connections
- Antivirus signature updates from Juniper CDN.
- Dynamic address group feeds
- Public Key Infrastructure daemon for:
- SCEP enrollment via HTTP and HTTPS.
- CRL downloads via HTTP and HTTPS.
Benefits of Proxy Authentication Support
Provide secure access to external feeds and services, improving the overall security posture by preventing unverified data sources from interacting with protected network environments.
Configuration Samples
For establishing secure and authenticated connections, you need to configure following settings:
Configure Autrhentication Credentials in Proxy Profile
Set up proxy authentication by configuring a username and a password in the proxy profile:
[edit] user@host# set services proxy profile <profile-name> protocol http host x.x.x.x port xxxx user@host# set services proxy profile <profile-name> protocol http username <username> user@host# set services proxy profile <profile-name> protocol http password <password>
Specify Proxy Profile in Security Services
Examples:
Proxy Profile for Application Identification and IDP
Create a proxy profile and use it for downloading the application signature package or IDP signature package through a proxy server:
[edit] user@host# set services application-identification download proxy-profile <profile-name>
[edit] user@host# set security idp security-package proxy-profile <profile-name>
See Install Application Signatures Package and Junos OS IDP Signature Package through an Explicit Proxy Server.
Proxy Profile for Content Security
Configure the proxy profile to Avira and Sophos antivirus engines for updates, and to Juniper Web Filtering for secure server communication
[edit] user@host# set security utm default-configuration anti-virus avira-engine pattern-update proxy-profile <profile-name> user@host# set security utm default-configuration anti-virus sophos-engine server proxy-profile <profile-name> user@host# set security utm default-configuration web-filtering ng-juniper server proxy-profile <profile-name>
See Example: Configure Avira Antivirus, Configure Sophos Antivirus Live Protection Version 2.0 with Web Proxy and Configuring Next-Generation Web Filtering .
Proxy Profile for Juniper ATP Cloud
To enable HTTP(S) outbound access through a web proxy on SRX Series Firewalls, configure Juniper ATP Cloud to use proxy profiles. These profiles are applied in anti-malware and SecIntel policies.
[edit] user@host# set services advanced-anti-malware connection url <url> user@host# set services advanced-anti-malware connection authentication tls-profile aamw-ssl user@host# set services advanced-anti-malware connection proxy-profile <profile-name>
[edit] user@host# set services security-intelligence url <url> user@host# set services security-intelligence authentication tls-profile aamw-ssl user@host# set services security-intelligence proxy-profile <profile-name>
See Explicit Web Proxy for Juniper ATP Cloud for details.
PKI
Configure the proxy profile in the CA profile. The device connects to the proxy host instead of the CA server during certificate enrollment, verification, or revocation
[edit] user@host# set security pki ca-profile ca-profile-1 proxy-profile <profile-name> user@host# set security pki ca-profile ca-profile-1 ca-identity deviceCA user@host# set security pki ca-profile ca-profile-1 enrollment url http://ca.junipersecurity.net:8080/ejbca/publicweb/apply/scep/SRX/pkiclient.exe user@host# set security pki ca-profile ca-profile-1 revocation-check crl url http://va.junipersecurity.net/ca/deviceCA.crl
- Support is available for only basic authentication. You’ll need to
provide a username and password, which are sent in the
Proxy-Authorizationheader in a Base64-encoded format. - Ensure you configure both username and password simultaneously.
- Regularly update passwords and monitor for unauthorized access attempts to maintain robust security.