Created on
05-04-2023
08:10 AM
Edited on
11-25-2024
02:02 AM
By
Jean-Philippe_P
Description | This article describes how to block Psiphon, and proxy applications for users trying to bypass FortiGate's content restriction policies. |
Scope | FortiOS 7.0 and later, Application Control. |
Solution |
Disclaimer: Psiphon and proxy applications are constantly being updated and therefore FortiGate blocks are a 'best-effort' practice, which means that a 100% blocking success rate is not guaranteed, this is due to multiple factors including new patterns, domains registered, proxy server IPs, etc.
Application updates may result in being able to bypass the FortiGate detection mechanisms, the FortiGuard team is tirelessly working to ensure that any new update is immediately met with a new signature update as well as quickly as possible to block these connection attempts.
For an overview, visit this link: https://www.fortiguard.com/appcontrol/32642.
As a brief overview, the following steps will involve creating a Proxy-based Firewall Policy that has Deep Inspection, Application Control, and Web Filter Category Filtering:
Step 2: Configure the Application Control profile (Security Profiles -> Application Control) to block the 'Proxy' category (optional), as well as the 'Psiphon' (aka 'Psiphon3'; mandatory) and 'QUIC' signatures (mandatory) in the Application and Filter Overrides section:
Note:
Step 3 (optional): Configure the Web Filter profile to block the 'Proxy Avoidance' category:
Step 4: Create a Proxy-mode Firewall Policy with the aforementioned profiles applied (Deep Inspection, Application Control, Web Filtering):
Step 5: Try to connect with Psiphon on the end-user machine now. It should be unable to connect and in the FortiGate logs, it should show the blocks successfully:
Note: If the application can successfully connect after some time, take into consideration the initial disclaimer of this article.
Update: Custom Application Control Signatures for Psiphon.
The following are custom Application Control Signatures that are helpful for specifically blocking the Psiphon application (see further below for usage suggestions):
#signature-1 (Psiphon.resume.client.tagone):
#signature-2 (Psiphon.resume.client.tagtwo):
#signature-3 (Psiphon.resume.server.tag):
#signature-4 (Psiphon.resume.test):
For instructions regarding the creation of custom Application Control Signatures, refer to the following: Technical Tip: How to apply and validate a custom application signature in FortiGate Creating IPS and application control signatures
Usage: After creating the custom signatures, modify the Application Control profile from Step 2. Go to Application and Filter Overrides and add signature #4 with the Block action. Next, add a separate entry for signatures #1, #2, and #3 and set the Monitor action. These additional signatures will supplement the base Psiphon application as well as the QUIC application.
Additional Information regarding Psiphon network protocols: Psiphon uses Obfuscated SSH (OSSH) which is an SSH mode with the addition of an obfuscation layer on top of the SSH handshake to defend against protocol fingerprinting. A description of the protocol can be found here: https://github.com/brl/obfuscated-openssh/blob/ca93a2c09cf0f6d2f80e7daca18a669045665a3b/README.obfus...
The basic idea of using obfuscation with SSH is to implement a local port forwarding technique over SSH to bypass security devices. Additionally, Psiphon uses QUIC over UDP port 22 and 554.
In addition to previous information, consider also blocking SSH and port 554 on the 'Application and Filter Override' this action prevents the opening of Psiphon. |