Ich möchte einige Websites in meiner Organisation blockieren, die auch auf https ausgeführt werden, z. B. Facebook, Twitter und Google Mail. Tintenfisch soll hier nicht gemäß den Anweisungen des höheren Managements verwendet werden. Wir können Untangle Lite Package und verwenden iptables
.
Gibt es eine andere Option als Squid, um dies zu tun? Auch eine iptables
Regel, um diese Art von Verkehr zu blockieren, wäre wirklich hilfreich.
ich habe das gefunden
iptables -t filter -I INPUT -m string --string facebook.com -j LOG --algo bm
iptables -t filter -I INPUT -m string --string facebook.com -j REJECT --algo bm
https funktioniert jedoch weiterhin auf Computern mit Ausnahme des lokalen Computers.
Antworten:
Versuchen Sie, anstelle der Übereinstimmung anhand der URL eine Übereinstimmung anhand des Inhalts des Zertifikats vorzunehmen.
Sie können auch den Fingerabdruck abgleichen. Wenn das Ziel jedoch sein Zertifikat ändert oder aktualisiert, wird Ihre Regel ungültig.
quelle
nat
Tabelle eingegeben (und es gibt keine INPUT-Kette in der Nat-Tabelle). Ich denke, Sie haben esfilter
dort gemeint . Es gibt auch eine (sehr) entfernte Chance, dass es mit Paketen übereinstimmt, bei denen 443 der Client-Port ist-p tcp
Die Firewall kann nicht steuern, auf welche HTTPS-URLs der Client zugreifen möchte, da die URL verschlüsselt ist. Die Firewall kann nur mithilfe von IP-Adressen steuern, zu welchen Sites der Client eine Verbindung herstellt. Dies hilft jedoch nicht, wenn sich die HTTP- und HTTPS-Versionen der Site unter derselben URL befinden (und selbst wenn dies nicht der Fall ist) eine riesige Liste von IP-Adressen zu führen).
Die einzig realistische Möglichkeit, HTTPS zu blockieren, besteht darin, es insgesamt zu blockieren. Bestehen Sie darauf, dass alle Verbindungen gültiges HTTP sein müssen (dh der Client beginnt mit dem Senden einer
HTTP
Leitung usw.). Dies kann nicht nur mit IPtables durchgeführt werden. Sie benötigen einen tatsächlichen protokollfähigen Proxy wie Squid. (Ich weiß nicht, wozu Untangle Lite fähig ist.)Sie können den größten Teil des HTTPS-Verkehrs blockieren, indem Sie den ausgehenden Verkehr zu Port 443 blockieren, da sich fast alle HTTPS-Server an diesem Port befinden. Oder lassen Sie nach einem Whitelist-Ansatz nur ausgehenden Datenverkehr zu Port 80 (dem normalen HTTP-Port) zu.
Ein anderer Ansatz wäre das Proxy aller HTTP- und HTTPS-Verbindungen. Dann können Sie nach URLs abgleichen. Dies erfordert einen Man-in-the-Middle-Angriff auf die Clients. Sie können dies tun, wenn Sie Ihre eigene Zertifizierungsstelle auf allen Clientcomputern bereitstellen und dort als Vertrauensbasis registrieren. Dies kann als unethisch angesehen werden.
Unabhängig davon, was Sie tun, richten bestimmte Benutzer einen Proxy außerhalb Ihrer Umgebung ein und führen IP über HTTP oder ähnliches aus.
Sie scheinen entweder zu versuchen, ein soziales Problem mit technischen Mitteln zu beheben, was kaum jemals funktioniert, oder Sie tun Ihr Bestes, um eine dumme Anforderung des Managements umzusetzen (in diesem Fall würde ich Port 443 blockieren, vielleicht nur für bestimmte IPs, mit denen Sie melden können, dass Sie Ihre Arbeit erledigt haben, egal wie nutzlos).
quelle
Ich kenne eine Option.
Wenn Sie interne DNS-Server verwenden möchten, fügen Sie in Ihre TLD-Zonendaten einige statische Verweise ein, die die Domänen (für die Sie keine externen Verbindungen herstellen möchten) auf nur 127.0.0.1 auflösen. Auf diese Weise lösen alle Hosts, die das zentrale DNS in Ihrem Netzwerk verwenden, Domänen (facebook.com/twitter.com per se) in Loopback-Adressen auf, die nirgendwohin führen.
Dies funktioniert, wenn Sie die vollständige autorisierende Kontrolle über die Resolver-Konfiguration der Client-Computer Ihres Netzwerks haben. Wenn die Arbeitsstationen / Clients Berechtigungen zum Ändern / Bearbeiten von / etc / hosts oder /etc/resolv.conf haben, können sie diese Option umgehen.
quelle
/etc/hosts
Datei erfolgen. Zum Beispiel:127.0.0.1 www.facebook.com
Eine Option ist Blackhole-Routen zu Netzwerkblöcken: (Aufgeführt sind für FB)
quelle
Ein einfacher Inhaltsfilter kann die SSL-Site nicht blockieren.
Verwenden Sie Intrusion Protection Tools wie Snort / Suricata.
Beispiel-IPS-Regel : Zum Blockieren von SSL-URLs für eine bestimmte IP-Adresse.
drop ip any 443 -> 192.168.3.30 any (content:".facebook.com"; msg:"Simplewall Ssl block for User30 : Urls => .facebook.com " sid:26648513;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".fbcdn.net"; msg:"Simplewall Ssl block for User30 : Urls => .fbcdn.net " ;sid:11469443;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".youtube.com"; msg:"Simplewall Ssl block for User30 : Urls => .youtube.com " ;sid:13989722;rev:1;)
Simplewall herunterladen : In Simplewall-Richtlinienregeln, die von Squid + Suricata IPS gemeinsam genutzt werden.
quelle
Sie sollten dies auf die FORWARD-Kette setzen, z
Dies wirkt sich auf andere Systeme im Netzwerk aus, mit Ausnahme der Firewall.
quelle