Nach drei Jahren Entwicklung wird die stabile Version des Proxy-Servers Squid 5.1 vorgestellt, die bereit ist fĂŒr den Einsatz in Produktionsumgebungen (die Versionen 5.0.x hatten den Status von Beta-Versionen). Nachdem die 5.x-Reihe den Status 'stabil' erreicht hat, wird es nur noch Sicherheitsupdates und StabilitĂ€tsverbesserungen geben; kleine Optimierungen sind ebenfalls erlaubt. Die Entwicklung neuer Funktionen erfolgt in der neuen experimentellen Reihe 6.0. Nutzern der vorherigen stabilen Version 4.x wird empfohlen, den Ăbergang zur 5.x-Reihe zu planen.
Die wichtigsten Neuerungen in Squid 5:
- Die Implementierung des ICAP-Protokolls (Internet Content Adaptation Protocol), das zur Integration mit externen InhaltsprĂŒfsystemen verwendet wird, erhĂ€lt UnterstĂŒtzung fĂŒr einen Anhang-Mechanismus (Trailer), der es ermöglicht, zusĂ€tzliche Header mit Metadaten anzuhĂ€ngen, die nach dem Nachrichtentext platziert werden (zum Beispiel können PrĂŒfziffern und Details zu gefundenen Problemen ĂŒbermittelt werden).
- Beim Weiterleiten von Anfragen kommt der âHappy Eyeballsâ-Algorithmus zum Einsatz, der sofort die erhaltene IP-Adresse verwendet, ohne auf die Auflösung aller potenziell verfĂŒgbaren Zieladressen IPv4 und IPv6 zu warten. Anstelle der BerĂŒcksichtigung der Konfiguration âdns_v4_firstâ zur Bestimmung der Reihenfolge fĂŒr die Verwendung der Adressfamilien IPv4 oder IPv6 wird jetzt die Antwortreihenfolge im DNS berĂŒcksichtigt: Wenn wĂ€hrend der Auflösung die Antwort DNS AAAA zuerst eintrifft, wird die erhaltene IPv6-Adresse verwendet. IP-Adressen Damit erfolgt die Konfiguration der bevorzugten Adressfamilie jetzt auf Ebene der Firewall, DNS oder beim Start mit der Option ââdisable-ipv6â. Die vorgeschlagene Ănderung ermöglicht eine schnellere Etablierung von TCP-Verbindungen und reduziert die Auswirkungen von Verzögerungen bei der DNS-Auflösung auf die Leistung.
- FĂŒr die Verwendung in der Direktive âexternal_aclâ wurde der Handler âext_kerberos_sid_group_aclâ hinzugefĂŒgt, um die Authentifizierung mit GruppenĂŒberprĂŒfung in Active Directory mittels Kerberos zu ermöglichen. FĂŒr die Abfrage des Gruppennamens wird das Utility ldapsearch verwendet, das im OpenLDAP-Paket bereitgestellt wird.
- Der Support fĂŒr das Berkeley DB-Datenbankformat wurde aufgrund von Lizenzproblemen fĂŒr obsolet erklĂ€rt. Der Branch Berkeley DB 5.x wird seit einigen Jahren nicht mehr gepflegt und weist unbehobene SicherheitslĂŒcken auf. Ein Umstieg auf neuere Versionen ist durch die Ănderung der Lizenz auf AGPLv3, deren Anforderungen auch auf Anwendungen zutreffen, die BerkeleyDB in Form einer Bibliothek verwenden, nicht möglich â Squid wird unter der GPLv2-Lizenz bereitgestellt, und AGPL ist mit GPLv2 nicht kompatibel. Statt Berkeley DB wird das Projekt nun auf das Datenbanksystem TrivialDB umgestellt, das im Gegensatz zu Berkeley DB fĂŒr gleichzeitigen parallelen Zugriff auf die Datenbank optimiert ist. Die UnterstĂŒtzung fĂŒr Berkeley DB bleibt vorerst bestehen, doch in den Handlern âext_session_aclâ und âext_time_quota_aclâ wird nun die Verwendung des Speichertypen âlibtdbâ anstelle von âlibdbâ empfohlen.
- Die UnterstĂŒtzung fĂŒr den HTTP-Header CDN-Loop, der in RFC 8586 definiert ist und dazu dient, Schleifen bei der Verwendung von Content Delivery Networks zu erkennen, wurde hinzugefĂŒgt (der Header schĂŒtzt vor Situationen, in denen eine Anfrage wĂ€hrend der Weiterleitung zwischen CDNs aus irgendeinem Grund an das ursprĂŒngliche CDN zurĂŒckgegeben wird und somit eine unendliche Schleife entsteht).
- Im SSL-Bump-Mechanismus, der das Abfangen von Inhalten verschlĂŒsselter HTTPS-Sitzungen ermöglicht, wurde die UnterstĂŒtzung fĂŒr die Umleitung von manipulierten (neu verschlĂŒsselten) HTTPS-Anfragen ĂŒber andere Proxy-Server, die in cache_peer angegeben sind, hinzugefĂŒgt. Dies erfolgt ĂŒber einen regulĂ€ren Tunnel basierend auf der HTTP CONNECT-Methode (die Ăbertragung ĂŒber HTTPS wird nicht unterstĂŒtzt, da Squid derzeit kein TLS innerhalb von TLS ĂŒbertragen kann). SSL-Bump ermöglicht es, bei der ersten abgefangenen HTTPS-Anfrage eine TLS-Verbindung zum Zielserver herzustellen und dessen Zertifikat zu erhalten. AnschlieĂend verwendet Squid den Hostnamen aus dem tatsĂ€chlichen vom Server erhaltenen Zertifikat und erstellt ein gefĂ€lschtes Zertifikat, mit dem der angeforderte Server bei der Interaktion mit dem Client imitiert wird. Dabei wird weiterhin die TLS-Verbindung verwendet, die mit dem Zielserver aufgebaut wurde. Um zu verhindern, dass die Manipulation Warnungen im Browser des Clients auslöst, muss das fĂŒr die Generierung der gefĂ€lschten Zertifikate verwendete Zertifikat im Stammzertifikatspeicher hinzugefĂŒgt werden.
- Es wurden die Direktiven mark_client_connection und mark_client_pack hinzugefĂŒgt, um Netfilter-Marken (CONNMARK) an Client-TCP-Verbindungen oder einzelnen Paketen zu binden.
Im Anschluss wurden die Versionen Squid 5.2 und Squid 4.17 veröffentlicht, in denen mehrere SicherheitsanfÀlligkeiten behoben wurden:
- CVE-2021-28116 â Informationsleck bei der Verarbeitung speziell gestalteter WCCPv2-Nachrichten. Diese Schwachstelle ermöglicht es einem Angreifer, die Liste bekannter WCCP-Router zu manipulieren und den Datenverkehr von Proxy-Server-Clients auf sein eigenes Host umzuleiten. Das Problem tritt nur in Konfigurationen mit aktivierter UnterstĂŒtzung fĂŒr WCCPv2 und bei der Möglichkeit des IP-Router-Spoofings auf.
- CVE-2021-41611 â Fehler bei der ĂberprĂŒfung TLS-Zertifikaten, der den Zugriff mit nicht vertrauenswĂŒrdigen Zertifikaten ermöglicht.
Quelle: opennet.ru
