7.1 Proxy Policies & Proxy Actions
Key Takeaways
- Fireware proxy policies implement a dual-connection architecture where the Firebox terminates the client TCP session, analyzes Layer 7 protocol syntax and reassembled payloads, and establishes an independent secondary TCP connection to the destination server.
- Unlike stateful packet filters that operate at Layers 3 and 4, application proxies enforce strict RFC protocol compliance, provide buffer overflow protection by validating header lengths, sanitize response headers to prevent server reconnaissance, and supply assembled data streams to security subscription engines.
- Fireware includes specialized built-in proxy policy types for HTTP, HTTPS, SMTP, FTP, DNS, POP3, and generic TCP-UDP, each bound to a protocol-specific Proxy Action containing granular inspection rule sets.
- Predefined Proxy Actions (such as HTTP-Client.Standard) are locked and read-only to preserve a secure baseline; administrators must clone predefined actions into custom actions (e.g., HTTP-Client.Custom) to customize filtering rules, alter thresholds, or attach subscription services.
- Granular content filtering rules within proxy actions evaluate traffic hierarchically, enabling administrators to control HTTP request methods (GET, POST, CONNECT), match URL path patterns, block unauthorized MIME types and file extensions, and strip information-leaking HTTP headers.
7.1 Proxy Policies & Proxy Actions
Quick Answer: Fireware proxy policies enforce Layer 7 security using a dual-connection architecture: the Firebox terminates the client's TCP connection, decodes and inspects protocol syntax and payloads against security subscriptions, and opens an independent TCP connection to the destination server. Unlike packet filters that only inspect 5-tuple headers at wire speed, proxies enforce strict RFC conformance, prevent buffer overflows, and strip sensitive server headers. Predefined Proxy Actions (e.g.,
HTTP-Client.Standard) are permanently read-only to protect baseline security; administrators must clone them into custom proxy actions to enable subscription engines, restrict HTTP methods (e.g., blockingPUT/DELETE), enforce MIME type validation, and block executable file extensions.
Dual-Connection Proxy Architecture in Fireware
At the foundation of WatchGuard Fireware's application-layer defense lies the dual-connection proxy model. In conventional stateful packet filtering, a firewall monitors the TCP three-way handshake and allows IP packets to traverse between client and server directly, modifying only IP and port headers when Network Address Translation (NAT) is applied. In contrast, an application proxy terminates direct communication entirely.
+---------------------------------------------------------------------------------------------------+
| FIREWARE DUAL-CONNECTION PROXY ARCHITECTURE |
+---------------------------------------------------------------------------------------------------+
| |
| [Client Workstation] [Remote Web Server] |
| 10.0.1.50:49210 203.0.113.80:80 |
| | | |
| | TCP Connection 1 (Client <-> Firebox) | |
| +=======================> [Firebox Proxy Engine] | |
| | - Terminate TCP Handshake | |
| | - Protocol Conformance (RFC) | |
| | - Reassemble TCP Streams | |
| | - Security Subscriptions: | |
| | * Gateway AntiVirus | |
| | * Intrusion Prevention | |
| | * APT Blocker & IntelligentAV | |
| | * WebBlocker Categorization | |
| | - Header Sanitization | |
| | | |
| | TCP Connection 2 (Firebox <-> Server) | |
| +================================================>+ |
| |
| * RESULT: The client and server NEVER exchange raw IP packets directly at any point. |
+---------------------------------------------------------------------------------------------------+
The Operational Sequence of a Proxy Session
When a client behind a Firebox initiates an outbound connection governed by an application proxy policy (such as HTTP-proxy or HTTPS-proxy):
- Client Connection Termination (Connection 1): The Firebox intercepts the client's initial TCP
SYNpacket and completes the three-way handshake with the client on behalf of the destination server. The client believes it is communicating directly with the external host, but the TCP socket terminates inside the Firebox proxy daemon. - Protocol Parsing & Syntax Validation: The proxy engine reads the incoming data stream, parsing application-layer commands, headers, and encoding formats. It verifies that the traffic strictly complies with official Internet Engineering Task Force (IETF) Request for Comments (RFC) standards for that protocol.
- Stream Reassembly & Buffer Inspection: Fragmented packets are reassembled in memory buffers. This allows deep inspection engines to reconstruct entire files, MIME types, and scripts. The reassembled payload is submitted to active security subscriptions, including Gateway AntiVirus (GAV), IntelligentAV, Intrusion Prevention Service (IPS), and APT Blocker.
- Server Connection Initiation (Connection 2): If the application data passes all security checks and policy rules, the Firebox initiates an entirely separate TCP three-way handshake to the destination server using its own external IP address (or the appropriate NAT address).
- Sanitized Payload Forwarding: The Firebox transmits the validated, sanitized application request to the server. When the server replies, the return stream undergoes identical deep inspection in reverse before the Firebox packages the response and transmits it across Connection 1 to the client.
Comparison: Packet Filters vs. Application Proxy Policies
To pass the WatchGuard Network Security Essentials exam, administrators must understand the technical and operational differences between packet filters and proxy policies across all layers of the OSI model.
| Inspection Dimension | Packet Filter Policy | Application Proxy Policy |
|---|---|---|
| OSI Operating Layer | Layer 3 (Network) and Layer 4 (Transport) | Layer 7 (Application Layer) |
| Connection Model | Single end-to-end TCP/UDP stateful session | Dual independent TCP sessions (Client-Firebox and Firebox-Server) |
| Header Inspection | 5-tuple: Source/Dest IP, Source/Dest Port, Protocol | Full application headers (HTTP, SMTP, FTP, DNS, etc.) |
| Payload Examination | Opaque pass-through; cannot read or reassemble data | Reassembles packet streams; inspects full payload and files |
| RFC Protocol Conformance | None; permits malformed or tunneling protocols | Enforces strict RFC compliance; drops out-of-spec commands |
| Buffer Overflow Defense | None; cannot evaluate command or header lengths | Enforces maximum line lengths, header limits, and chunk sizes |
| Header Sanitization | None; passes all headers unchanged | Strips server banners (Server, X-Powered-By), masks internal IPs |
| Subscription Services | Basic (Application Control & IPS only) | Full suite (GAV, IntelligentAV, IPS, WebBlocker, APT Blocker, RED) |
| Throughput & Resource Profile | Wire-speed throughput; negligible CPU/RAM usage | High security processing; requires memory buffering and CPU cycles |
| Policy Naming Convention | Standard service name (e.g., HTTP, HTTPS, DNS) | Service name with -proxy suffix (e.g., HTTP-proxy, DNS-proxy) |
Why Packet Filters Cannot Stop Modern Application Attacks
Stateful packet filters are engineered for high-velocity traffic forwarding based on state tables. If an attacker crafts an HTTP GET request containing an SQL injection attack (' OR '1'='1) or delivers a zero-day ransomware payload across TCP port 80, a packet filter evaluates only the Layer 3 and Layer 4 headers. Because TCP port 80 is permitted, the packet filter passes the malicious payload straight through to the web server or workstation. Only an application proxy with active subscription services can disassemble the payload, identify the malicious signature or heuristic pattern, and drop the connection.
Built-in Proxy Policy Types in Fireware
Fireware OS provides a comprehensive library of protocol-specific application proxies. Each proxy is engineered around the specific state machine, syntax rules, and RFC standards of its respective protocol.
+---------------------------------------------------------------------------------------------------+
| FIREWARE BUILT-IN PROXY POLICY TYPES |
+-------------------+---------------+---------------------------------------------------------------+
| PROXY POLICY TYPE | DEFAULT PORT | PRIMARY PROTOCOL INSPECTION CAPABILITIES |
+-------------------+---------------+---------------------------------------------------------------+
| HTTP-proxy | TCP 80 | URL paths, HTTP methods, MIME types, file extensions, headers |
| HTTPS-proxy | TCP 443 | SNI domain filtering, TLS handshake validation, DPI bridge |
| SMTP-proxy | TCP 25 | Email commands (HELO, MAIL FROM, RCPT TO), spamBlocker, TLS |
| FTP-proxy | TCP 21 | Passive/Active mode negotiation, FTP commands (PUT, GET, DELE)|
| DNS-proxy | UDP/TCP 53 | Query length, opcode checking, domain rules, DNSWatch security|
| POP3-proxy | TCP 110 | Post Office Protocol email retrieval, spamBlocker, AV scanning|
| TCP-UDP-proxy | Custom Ports | Generic Layer 7 proxy for non-standard or proprietary traffic |
+-------------------+---------------+---------------------------------------------------------------+
Detailed Analysis of Core Proxy Types
1. HTTP-proxy (TCP Port 80)
Intersects standard unencrypted web traffic. It provides the most granular rule categories in Fireware, allowing administrators to filter on request methods, header values, URL paths, MIME types, and file transfers, while simultaneously coordinating with WebBlocker and Gateway AntiVirus.
2. HTTPS-proxy (TCP Port 443)
Manages encrypted Transport Layer Security (TLS) and Secure Sockets Layer (SSL) sessions. It operates in two modes: Server Name Indication (SNI) Domain Filtering (inspecting only the unencrypted domain header) or Deep Packet Inspection (DPI) (terminating the TLS tunnel, decrypting plaintext, passing it to an internal HTTP-proxy action, and re-encrypting).
3. SMTP-proxy (TCP Port 25)
Protects incoming and outgoing corporate mail transfer agents (MTAs). It inspects SMTP command verbs (such as HELO, EHLO, MAIL FROM, and RCPT TO), validates sender/recipient address syntax, restricts maximum message sizes, enforces STARTTLS encryption, and routes message attachments to Gateway AntiVirus, APT Blocker, and spamBlocker.
4. FTP-proxy (TCP Port 21)
Inspects File Transfer Protocol control channels and dynamically opens ephemeral data ports for Active and Passive FTP transfers. It restricts dangerous commands (e.g., blocking DELE or MKD while permitting RETR), validates filename formats, blocks malicious file uploads/downloads, and prevents FTP bounce attacks.
5. DNS-proxy (UDP/TCP Port 53)
Inspects Domain Name System queries and replies. It mitigates DNS tunneling, DNS cache poisoning, and amplification attacks by enforcing maximum query and response lengths, disallowing illegal resource record types, validating transaction IDs, and integrating with DNSWatch to redirect malicious domain queries to secure blackhole sinkholes.
6. POP3-proxy (TCP Port 110)
Secures legacy client email retrieval sessions, scanning incoming messages and attachments for malware before they land in user desktop email clients.
7. TCP-UDP-proxy (Custom Ports)
A versatile, generic proxy engine used to apply Layer 7 inspection rules to applications that utilize non-standard port numbers or proprietary protocols. It enables administrators to enforce byte patterns, connection timeouts, and basic protocol anomalies without requiring a dedicated protocol parser.
Predefined vs. Custom Proxy Actions
Every proxy policy in Fireware is paired with a Proxy Action. While the proxy policy defines who can connect to what (the From and To rules, schedule, and port binding), the Proxy Action contains the actual Layer 7 inspection rule book.
+---------------------------------------------------------------------------------------------------+
| PREDEFINED vs CUSTOM PROXY ACTION WORKFLOW |
+---------------------------------------------------------------------------------------------------+
| |
| [Predefined Proxy Action] |
| Name: HTTP-Client.Standard |
| Status: LOCKED / READ-ONLY |
| Purpose: Guaranteed secure baseline; cannot be edited or modified directly. |
| |
| | |
| | 1. Clone Action (Policy Manager or Web UI) |
| v |
| |
| [Custom Proxy Action] |
| Name: HTTP-Client.Corporate_Secure |
| Status: UNLOCKED / EDITABLE |
| Modifications: |
| • Enable Gateway AntiVirus, APT Blocker, WebBlocker |
| • Block HTTP Request Methods: PUT, DELETE, TRACE |
| • Block MIME Types: application/x-msdownload, application/x-dosexec |
| • Block File Extensions: .exe, .bat, .ps1, .vbs, .iso |
| • Strip Response Headers: Server, X-Powered-By |
| |
| | |
| | 2. Bind to Proxy Policy |
| v |
| |
| [HTTP-proxy Policy] |
| From: Any-Trusted ---> To: Any-External ---> Proxy Action: HTTP-Client.Corporate_Secure |
+---------------------------------------------------------------------------------------------------+
Why Predefined Proxy Actions Cannot Be Edited Directly
When an administrator opens Policy Manager or the Fireware Web UI, Fireware presents several built-in predefined actions, such as HTTP-Client.Standard, HTTP-Server.Standard, HTTPS-Client.Standard, and SMTP-Incoming.Standard.
- Locked Architectural Integrity: Predefined proxy actions are hardcoded templates designed to adhere to standard industry practices. They are strictly read-only.
- Protection Against Configuration Drift: If administrators could alter predefined actions directly, an inadvertent misconfiguration could compromise multiple policies across the firewall or leave the system without a reliable reference configuration.
- The Cloning Workflow: To implement custom inspection rules, administrators must clone a predefined action:
- Open the proxy policy properties and navigate to the Proxy Action selection menu.
- Select the predefined action (e.g.,
HTTP-Client.Standard) and click Clone. - Assign a meaningful name (e.g.,
HTTP-Client.FinanceorHTTP-Client.Branch). - The newly created custom proxy action is now editable, unlocking all configuration tabs, subscription toggles, and pattern tables.
- Save the policy and save the configuration to the Firebox.
Rule Hierarchy and Action Outcomes Inside Proxy Actions
Within a proxy action, rules are organized across functional tabs (e.g., HTTP Request Methods, Path, MIME Types). Within each tab, Fireware evaluates rules in a hierarchical, first-match order:
- Exact Match First: Exact strings or explicit definitions take precedence over wildcard patterns.
- Wildcard Expressions: Fireware supports standard wildcards:
*represents zero or more characters, while?represents a single character. - Configurable Action Outcomes: When incoming traffic matches a rule, the administrator can assign one of several actions:
- Allow: The request or response is permitted to pass without modification.
- Drop: The packet or connection is silently discarded without notifying the client, exhausting attacker timeouts.
- Block: The connection is severed immediately, and the remote host's IP address can optionally be added to the Firebox Auto-Block list.
- Strip (Headers): Removes the matching header from the HTTP stream while allowing the remainder of the payload to pass.
- Quarantine (Email): Available in the SMTP proxy; places suspicious attachments or messages into the Quarantine Server database for administrative review.
Granular Content Filtering Rules in HTTP-Proxy
The HTTP-Client proxy action provides the most common real-world content filtering controls tested on the certification exam.
1. HTTP Request Methods (Verbs)
HTTP defines methods that specify the desired action to be performed on a resource (RFC 7231). In a standard web browsing environment, clients primarily require read and submission capabilities:
- Permitted Safe Methods:
GET(retrieve web resources),POST(submit web forms and data), andHEAD(retrieve header metadata). - High-Risk Methods:
PUT(upload files to a web server),DELETE(remove resources from a web server),TRACE/TRACK(echo client requests, vulnerable to Cross-Site Tracing attacks), andOPTIONS(query server capabilities, often used for reconnaissance). - The
CONNECTMethod: Used to establish a two-way tunnel through an unencrypted HTTP proxy, commonly leveraged to tunnel TLS or non-HTTP traffic. In anHTTP-Clientaction,CONNECTis typically denied to prevent users from bypassing port restrictions; TLS traffic should traverse the dedicatedHTTPS-proxyinstead. - Default Action for Undefined Methods: Administrators can set an explicit action (e.g., Block or Drop) for any method not specifically listed in the table, protecting against non-standard or malformed HTTP verbs used in exploit payloads.
2. URL Path and Query String Matching
The Path tab allows administrators to inspect and filter the uniform resource identifier (URI) path following the domain name (e.g., in http://example.com/downloads/setup.exe, the path is /downloads/setup.exe):
- Blocking Malicious Endpoints: Administrators can define wildcard path rules, such as
*/admin/*,*.php?id=*, or*/wp-login.php, to prevent internal users from accessing unauthorized management portals or to shield internal web servers. - Case Sensitivity: Fireware allows administrators to configure whether URL path matching is case-sensitive or case-insensitive, ensuring that requests for
/PAYROLL/and/payroll/are evaluated consistently.
3. MIME Type Filtering
MIME (Multipurpose Internet Mail Extensions) types define the media format of content transmitted across HTTP, conveyed through the Content-Type header (e.g., text/html, image/png, application/pdf).
- Detecting Disguised Payloads: Attackers frequently disguise dangerous executable files by appending benign file extensions (such as naming a trojan
quarterly_report.pdforphoto.jpg). However, when the web server transmits the file, its web daemon sends the actual MIME typeapplication/x-msdownloadorapplication/octet-stream. - Content-Type Inspection: The Firebox HTTP proxy inspects the
Content-Typeheader of inbound HTTP responses. If the MIME type matches a blocked entry (e.g.,application/x-dosexec), the Firebox terminates the download immediately, regardless of what file extension was requested in the URL. - Magic Byte Stream Verification: When Gateway AntiVirus is active, the proxy also reads the initial bytes of the file stream ("magic numbers," such as
MZfor Windows PE binaries orPKfor ZIP archives) to verify that the payload content matches the declared MIME type.
4. File Extension Blocking
Under the Transfer Encoding > File Extensions tab, administrators define rules based on the filename extension requested in the HTTP session:
- Common Blocked Categories: Executable files (
.exe,.com,.scr,.pif,.msi), script files (.bat,.cmd,.vbs,.ps1,.js), disk images (.iso,.vhd,.img), and dynamic libraries (.dll,.so). - Dual-Extension Defense: Fireware evaluates the entire filename string, defeating evasive naming techniques such as
document.pdf.exeorinvoice.docx.vbs.
5. HTTP Header Sanitization & Information Disclosure Prevention
Both request and response headers can be inspected, stripped, or modified:
- Inbound Server Banners: Web servers automatically broadcast software information in HTTP responses using the
Serverheader (e.g.,Server: Apache/2.4.41 (Ubuntu)) and application framework headers likeX-Powered-By: PHP/7.4.3orX-AspNet-Version: 4.0.30319. Attackers use these banners to identify vulnerabilities for targeted exploitation. In anHTTP-Serverproxy action, administrators configure Fireware to strip or replace these headers with generic values. - Client Header Scrubbing: For outbound traffic, the proxy can strip sensitive client information, such as stripping internal IP addresses from
ViaorX-Forwarded-Forheaders, or enforcing standardizedUser-Agentstrings to prevent endpoint profiling.
Proxy Action Configuration Matrix
The following table summarizes the primary configuration tabs within a custom HTTP-Client Proxy Action:
| Configuration Tab | Primary Inspection Target | Recommended Enterprise Action | Security Objective |
|---|---|---|---|
| HTTP Request Methods | HTTP Verbs (GET, POST, CONNECT, etc.) | Allow GET, POST, HEAD; Block CONNECT, TRACE, DELETE | Prevent HTTP tunneling and unauthorized remote web modifications |
| URL Path | URI path and query string parameters | Block patterns matching sensitive scripts and directories | Mitigate access to malicious or administrative endpoints |
| MIME Types | Content-Type header in HTTP responses | Block application/x-msdownload, application/x-dosexec | Prevent disguised executable file downloads regardless of filename |
| File Extensions | File extensions in URLs and content disposition | Block .exe, .bat, .ps1, .vbs, .scr, .iso | Stop high-risk executable and script downloads |
| Headers | Request and response HTTP header fields | Strip Server, X-Powered-By; sanitize User-Agent | Prevent server reconnaissance and endpoint finger-printing |
| Subscription Services | AV, Sandbox, IPS, and Web filtering hooks | Enable GAV, APT Blocker, IPS, and WebBlocker | Provide multi-layered deep malware and URL classification analysis |
A network security administrator wishes to modify the default HTTP inspection settings on a Firebox to block the download of executable files (.exe) and enable Gateway AntiVirus scanning. Upon opening the default 'HTTP-Client.Standard' proxy action in Policy Manager, the administrator observes that all configuration fields and action buttons are grayed out. Why are these settings locked, and what is the proper administrative workflow to implement the desired changes?
An organization is evaluating perimeter security architectures. An engineer asserts that deploying an HTTP-proxy policy provides significantly greater protection against application-layer exploits than an HTTP packet filter policy. Which technical mechanism accurately describes how the Firebox HTTP-proxy handles network connections at Layer 7 to achieve this superior protection?
A threat actor attempts to bypass perimeter perimeter filtering by renaming a malicious Windows executable file from 'payload.exe' to 'vacation_photo.jpg' and hosting it on an external HTTP web server. The Firebox has an HTTP-proxy policy configured with an HTTP-Client proxy action that permits image file extensions (.jpg, .png) but blocks the 'application/x-msdownload' MIME type. What occurs when an internal workstation attempts to download this file?
During a security audit, a penetration tester identifies that internal web servers protected by a Firebox are broadcasting their exact operating system and web server versions in HTTP response headers (e.g., 'Server: Apache/2.4.41 (Ubuntu)' and 'X-Powered-By: PHP/7.4.3'). How can an administrator eliminate this information disclosure vulnerability using Fireware proxy configurations?