FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
Jonathan_Body_FTNT
Article Id 189588

Description

 

This article explains ICAP protocol support and its implementation within FortiOS.


Scope

 

FortiOS.


Solution

 
ICAP Definition:
The Internet Content Adaptation Protocol (ICAP) is a lightweight HTTP-like protocol specified in RFC 3507. ICAP is used to extend transparent proxy servers, so as to free up resources and standardize the way in which new features are implemented.

ICAP is generally used to implement virus scanning and content filters in transparent HTTP proxy caches. Content Adaptation refers to performing the particular value-added service (content manipulation) for the associated client request/response.

ICAP concentrates on using edge-based devices (proxies and caches) to help deliver value-added services. At the core of this process is a cache that will proxy all client transactions and will process them through ICAP Web servers.

These ICAP servers are focused on a specific function, for example, ad insertion, virus scanning, content translation, language translation, or content filtering. Off-loading value-added services from Web servers to ICAP servers allows those same web servers to be scaled according to raw HTTP throughput versus having to handle these extra tasks.

ICAP in its most basic form is a 'lightweight' HTTP-based remote procedure call protocol. In other words, ICAP allows its clients to pass HTTP-based (HTML) messages (Content) to ICAP servers for adaptation. Adaptation refers to performing the particular value-added service (content manipulation) for the associated client request/response.

FortiOS Implementation:
ICAP works with FortiOS by interacting with the standard transparent proxy as shown below:
 

config firewall policy
    edit 0
        set srcaddr "all"
        set dstaddr "all"
        set service "ANY"
        set icap-profile "ICAP-Profile"

    (...)

end

 

However, ICAP protocol and the FortiOS explicit proxy are not a supported configuration.
 

Related document:

ICAP support