Alle Beiträge von neutrinus

Beat Caveng, Developer bei A-Enterprise GmbH. Blog Author zu den Themen, Python und Open Source. Tutorials zu Python Problemlösungen und Shell Scripts.

FortiGate SSL Inspection deaktivieren

Die FortiGate SSL/TLS-Inspektion ist der Prozess des Abfangens von SSL/TLS-verschlüsselter Internetkommunikation zwischen dem Client und dem Server. Das Abfangen kann zwischen dem Sender und dem Empfänger und umgekehrt (Empfänger zum Sender) ausgeführt werden – es ist die gleiche Technik, wie sie bei Man-in-the-Middle (MiTM)-Angriffen ohne die Zustimmung beider Seiten verwendet wird.

SSL/TLS Deep Inspection in der Praxis

Wenn Deep Inspection verwendet wird, gibt sich die FortiGate als Empfänger der ursprünglichen SSL-Sitzung aus, entschlüsselt und untersucht dann den Inhalt, um Bedrohungen zu finden und zu blockieren. Anschließend wird der Inhalt erneut verschlüsselt und an den echten Empfänger gesendet.

In der Praxis kommt es dabei schon mal zu ungewollten Blockierungen, insbesondere bei der Nutzung von Self-signed SSL-Zertifikate, dabei verhält sich die FortiGate wie eine Blackbox. Auch wird oft festgestellt, dass für Outlook Clients die Verbindung zum Exchange Server verweigert wird, dabei Outlook folgenden Fehler ausgibt.

Es liegt ein Problem mit dem Sicherheitszertifikat des Proxyservers vor.
Der Name auf dem Sicherheitszertifikat ist ungültig oder stimmt nicht mit dem Namen mail.example.org überein.
Outlook kann keine Verbindung zum Proxy-Server herstellen. (Fehlercode 8000000).

Um die FortiGate SSL Inspection ganz zu deaktivieren, kann man unter Security Profiles – SSL/SSH Inspection, für das Read-only Profile no-inspection ein Clone anlegen, und diesen entsprechend konfigurieren.

FortiGate SSL Inspection Clone

Unter Protocol Port Mapping wird für HTTPS ein ungenutzter Port eingetragen, hierdurch findet für Port 443 keine SSL/TLS Deep Inspection mehr statt. Das konfigurierte Profile custom-no-inspection für die entsprechnden Policy aktivieren. Bei Policy für interne und VPN Verbindungen sollte eine SSL/TLS Deep Inspection nicht erforderlich sein.

Reject source IP address on Linux server

Fire up a terminal and log on to the server by using SSH and then complete the steps for firewalld in the first chapter. The second chapter shows the commands for UFW, and the third shows using iptables.

firewalld tool

firewalld is on RHEL 7, CentOS 7 and later, Fedora 18 and later.

To ensure that firewalld is running on your server, run the following command. If firewalld is not running, go to the iptables chapter.

$ sudo systemctl status firewalld

Run the following command to block the IP address and to add the rule to the permanent set:

$ sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='xxx.xxx.xxx.xxx' reject"

Run the following command to reload the firewalld rules:

$ sudo firewall-cmd --reload

Run the following command to list and verify the new rule:

$ sudo firewall-cmd --list-all

Run the following command to remove a blocked IP address.

$ sudo firewall-cmd --remove-rich-rule="rule family='ipv4' source address='xxx.xxx.xxx.xxx' reject"

Run the following command to verify the firewalld is running.

$ firewall-cmd --state

Uncomplicated Firewall (UFW)

ufw is available on Debian 6 and later, Ubuntu 8.04 LTS and later.

To ensure that ufw is running on your server, run the following command. If ufw is not running, go to the iptables chapter.

$ sudo systemctl status ufw

Run the following command to block the IP address:

$ sudo ufw deny from xxx.xxx.xxx.xxx to any

Run the following command to list and verify the new rule:

$ sudo ufw status

Run the following command to remove a blocked IP address.

$ sudo ufw delete 7

Run the following command to show numbered list of firewall rules.

$ ufw status numbered

iptables tool

iptables is commonly pre-installed on all Linux distributions.

Run the following command to block the IP address:

$ sudo iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP

Run the following command to save the settings. The settings persist after the server reboots.

$ sudo service iptables save

Run the following command to list and verify the new rule:

$ sudo iptables -vnL

Run the following command to delete a iptables chain.

$ sudo iptables -D INPUT 7

Run the following command to show numbered list of iptables chains.

$ sudo iptables -L --line-numbers