Nach drei Jahren Entwicklung wird die stabile Veröffentlichung des Proxy-Servers Squid 5.1 prĂ€sentiert, die fĂŒr den Einsatz in produktiven Systemen bereit ist (die Versionen 5.0.x hatten den Status von Beta-Versionen). Nachdem der Version 5.x der Status stabil zugewiesen wurde, werden in ihr kĂŒnftig nur noch Sicherheitsfehlerbehebungen und StabilitĂ€tsprobleme vorgenommen, auch kleinere Optimierungen sind erlaubt. Die Entwicklung neuer Funktionen wird in einem neuen experimentellen Zweig 6.0 erfolgen. Benutzern der vorherigen stabilen Version 4.x wird empfohlen, den Ăbergang auf die Version 5.x zu planen.
Wichtigste Neuerungen in Squid 5:
- Im Implementierungsprotokoll ICAP (Internet Content Adaptation Protocol), das zur Integration mit externen Content-ĂberprĂŒfungssystemen verwendet wird, wurde die UnterstĂŒtzung fĂŒr den Mechanismus zur AnfĂŒgung von Daten (trailer) hinzugefĂŒgt, der es ermöglicht, zusĂ€tzliche Header mit Metadaten, die nach dem Nachrichtentext eingefĂŒgt werden, an die Antwort anzuhĂ€ngen (zum Beispiel kann eine PrĂŒfziffer und Details zu ermittelten Problemen ĂŒbermittelt werden).
- Beim Weiterleiten von Anfragen wird der Algorithmus âHappy Eyeballsâ verwendet, der sofort die erhaltene IP-Adresse nutzt, ohne auf die Auflösung aller potenziell verfĂŒgbaren Zieladressen IPv4 und IPv6 zu warten. Statt die Einstellung âdns_v4_firstâ zur Bestimmung der Reihenfolge der Nutzung von IPv4- oder IPv6-Adressen zu berĂŒcksichtigen, wird nun die Reihenfolge der DNS-Antworten berĂŒcksichtigt: Wenn beim Warten auf die Auflösung zuerst die DNS AAAA-Antwort eintrifft, wird die erhaltene IPv6-Adresse verwendet. Damit wird die Einstellung der bevorzugten Adressfamilie nun auf der Ebene der Firewall, DNS oder beim Starten mit der Option ââdisable-ipv6â vorgenommen. Die vorgeschlagene Ănderung ermöglicht eine Beschleunigung der Zeit zur Etablierung von TCP-Verbindungen und verringert den Einfluss von Verzögerungen bei der Auflösung in DNS auf die Leistung. IP-Adressen FĂŒr die Verwendung in der Direktive âexternal_aclâ wurde der Handler âext_kerberos_sid_group_aclâ hinzugefĂŒgt, um die Authentifizierung mit GruppenprĂŒfungen in Active Directory mittels Kerberos zu unterstĂŒtzen. FĂŒr die Abfrage des Gruppennamens wird das Tool ldapsearch verwendet, das im OpenLDAP-Paket bereitgestellt wird.
- FĂŒr die Verwendung in der Direktive âexternal_aclâ wurde der Handler âext_kerberos_sid_group_aclâ hinzugefĂŒgt, um die Authentifizierung mit GruppenprĂŒfungen in Active Directory mithilfe von Kerberos durchzufĂŒhren. Zur Abfrage des Gruppennamens wird das Dienstprogramm ldapsearch verwendet, das im Paket OpenLDAP enthalten ist.
- Das Berkeley DB-Datenbankformat wurde aufgrund von Lizenzproblemen als veraltet erklĂ€rt. Der Branch Berkeley DB 5.x wird seit mehreren Jahren nicht mehr unterstĂŒtzt und weist unbehobene SicherheitsanfĂ€lligkeiten auf. Ein Upgrade auf neuere Versionen ist aufgrund der LizenzĂ€nderung auf AGPLv3 nicht möglich, deren Anforderungen auch fĂŒr Anwendungen gelten, die BerkeleyDB in Form einer Bibliothek verwenden â Squid wird unter der GPLv2-Lizenz bereitgestellt, und die AGPL ist inkompatibel mit der GPLv2. Anstelle von Berkeley DB wurde das Projekt auf die Verwendung der Datenbank TrivialDB umgestellt, die im Gegensatz zu Berkeley DB fĂŒr gleichzeitigen parallelen Zugriff auf die Datenbank optimiert ist. Die UnterstĂŒtzung fĂŒr Berkeley DB bleibt vorerst erhalten, jedoch wird nun empfohlen, in den Handlern âext_session_aclâ und âext_time_quota_aclâ den Speichertyp âlibtdbâ anstelle von âlibdbâ zu verwenden.
- Die UnterstĂŒtzung fĂŒr den HTTP-Header CDN-Loop, der in RFC 8586 definiert ist und es ermöglicht, Schleifen beim Einsatz von Content Delivery Networks zu erkennen, wurde hinzugefĂŒgt (der Header bietet Schutz gegen Situationen, in denen eine Anfrage wĂ€hrend der Umleitung zwischen CDNs aus bestimmten GrĂŒnden zurĂŒck zur ursprĂŒnglichen CDN kommt und eine endlose Schleife bildet).
- Im SSL-Bump-Mechanismus, der es ermöglicht, den Inhalt von verschlĂŒsselten HTTPS-Sitzungen abzufangen, wurde die UnterstĂŒtzung fĂŒr die Umleitung von modifizierten (neu verschlĂŒsselten) HTTPS-Anfragen ĂŒber andere Proxy-Server, die in cache_peer angegeben sind, hinzugefĂŒgt, unter Verwendung eines regulĂ€ren Tunnels basierend auf der HTTP CONNECT-Methode (die Ăbertragung ĂŒber HTTPS wird nicht unterstĂŒtzt, da Squid derzeit TLS innerhalb von TLS nicht ĂŒbertragen kann). SSL-Bump ermöglicht es, bei der ersten abgefangenen HTTPS-Anfrage eine TLS-Verbindung zum Zielserver herzustellen und dessen Zertifikat zu erhalten. Danach verwendet Squid den Hostnamen aus dem tatsĂ€chlich von dem Server erhaltenen Zertifikat und erstellt ein gefĂ€lschtes Zertifikat, mit dem der angeforderte Server beim Austausch mit dem Client imitiert wird, wĂ€hrend weiterhin die fĂŒr die Datenerfassung verwendete TLS-Verbindung mit dem Zielserver aufrechterhalten wird (um zu vermeiden, dass die Umstellung in den Browsern auf der Clientseite Warnungen ausgibt, muss das fĂŒr die Generierung der gefĂ€lschten Zertifikate verwendete Zertifikat in den Speicher der Stammzertifikate aufgenommen werden).
- Es wurden die Direktiven mark_client_connection und mark_client_pack zum VerknĂŒpfen von Netfilter-Tags (CONNMARK) mit clientseitigen TCP-Verbindungen oder einzelnen Paketen hinzugefĂŒgt.
In unmittelbarem Anschluss wurden die Versionen Squid 5.2 und Squid 4.17 veröffentlicht, in denen Schwachstellen behoben wurden:
- CVE-2021-28116 â Informationsleck bei der Verarbeitung speziell formatierter WCCPv2-Nachrichten. Diese Schwachstelle ermöglicht es einem Angreifer, die Liste der bekannten WCCP-Router zu beschĂ€digen und den Verkehr der Proxy-Server-Kunden auf seinen eigenen Host umzuleiten. Das Problem tritt nur in Konfigurationen auf, in denen die UnterstĂŒtzung fĂŒr WCCPv2 aktiviert ist und eine IP-Adressenspoofing des Routers möglich ist.
- CVE-2021-41611 â Fehler bei der ĂberprĂŒfung TLS-Zertifikate, der den Zugriff unter Verwendung von nicht vertrauenswĂŒrdigen Zertifikaten ermöglicht.
Quelle: opennet.ru
