Veröffentlichung von Outline-SS-Server 1.4, Shadowsocks-Proxy-Implementierung aus dem Outline-Projekt

Der Outline-SS-Server 1.4-Proxyserver wurde veröffentlicht und verwendet das Shadowsocks-Protokoll, um die Art des Datenverkehrs zu verbergen, Firewalls zu umgehen und Paketinspektionssysteme zu täuschen. Der Server wird vom Outline-Projekt entwickelt, das zusätzlich ein Framework für Client-Anwendungen und eine Steuerungsschnittstelle bereitstellt, mit der Sie schnell Mehrbenutzer-Shadowsocks-Server basierend auf Outline-SS-Server in öffentlichen Cloud-Umgebungen oder auf Ihren eigenen Geräten bereitstellen können. Verwalten Sie sie über eine Weboberfläche und organisieren Sie den Benutzerzugriff über Schlüssel. Der Code wird von Jigsaw entwickelt und gepflegt, einer Abteilung innerhalb von Google, die gegründet wurde, um Tools zur Umgehung der Zensur und zur Organisation des freien Informationsaustauschs zu entwickeln.

Outline-ss-server ist in Go geschrieben und wird unter der Apache-2.0-Lizenz vertrieben. Es basiert auf dem Proxy-Code.Server go-shadowsocks2 wurde von der Shadowsocks-Entwicklergemeinschaft entwickelt. In letzter Zeit konzentrierte sich das Shadowsocks-Projekt hauptsächlich auf die Entwicklung eines neuen Rust-Servers, während die Go-Implementierung seit über einem Jahr nicht mehr aktualisiert wurde und in puncto Funktionalität deutlich hinterherhinkt.

Die Unterschiede zwischen Outline-SS-Server und Go-Shadowsocks2 bestehen in der integrierten Unterstützung für die Verbindung mehrerer Benutzer über einen Netzwerkport, der Möglichkeit, mehrere Netzwerkports zum Empfangen von Verbindungen zu öffnen, der Unterstützung für Hot-Neustart und Konfigurationsaktualisierungen ohne Verbindungsunterbrechung Überwachungs- und Verkehrsmodifikationstools basierend auf der Prometheus-Plattform .io.

 Veröffentlichung von Outline-SS-Server 1.4, Shadowsocks-Proxy-Implementierung aus dem Outline-Projekt

Outline-ss-server bietet außerdem Schutz vor Angriffen, die das Senden von Probe-Requests und das Abfangen von Datenverkehr umfassen. Ein Probe-Request-Angriff zielt darauf ab, die Anwesenheit eines Proxys aufzudecken. Beispielsweise kann ein Angreifer Datensätze unterschiedlicher Größe an einen Shadowsocks-Zielserver senden und analysieren, wie viele Daten der Server verarbeitet, bevor er einen Fehler erkennt und die Verbindung schließt. Ein Angriff auf Datenverkehr basiert auf dem Abfangen der Sitzung zwischen Client und Zielserver. Server Anschließend wird versucht, die abgefangenen Daten erneut zu senden, um das Vorhandensein eines Proxys festzustellen.

Zum Schutz vor Angriffen durch Testanfragen unterbricht der Outline-SS-Server beim Eintreffen falscher Daten die Verbindung nicht und zeigt keinen Fehler an, sondern empfängt weiterhin Informationen und fungiert so als eine Art Schwarzes Loch. Zum Schutz vor Wiedergabe werden die vom Client empfangenen Daten zusätzlich anhand von Prüfsummen überprüft, die für die letzten mehreren tausend Handshake-Sequenzen gespeichert sind (maximal 40, die Größe wird beim Serverstart festgelegt und verbraucht 20 Byte Speicher pro Sequenz). Um wiederholte Antworten vom Server zu blockieren, verwenden alle Server-Handshake-Sequenzen HMAC-Authentifizierungscodes mit 32-Bit-Tags.

In Bezug auf den Grad des Versteckens des Datenverkehrs ähnelt das Shadowsocks-Protokoll in der Outline-SS-Server-Implementierung dem Obfs4-Plug-in-Transport im anonymen Tor-Netzwerk. Das Protokoll wurde entwickelt, um das Verkehrszensursystem in China („The Great Firewall of China“) zu umgehen und ermöglicht es Ihnen, den über einen anderen Server weitergeleiteten Datenverkehr recht effektiv zu verbergen (der Datenverkehr ist aufgrund der Anbringung eines zufälligen Startwerts und der Simulation von Datenverkehr schwer zu identifizieren ein kontinuierlicher Fluss).

SOCKS5 wird als Protokoll für Proxy-Anfragen verwendet – auf dem lokalen System wird ein Proxy mit SOCKS5-Unterstützung gestartet, der den Datenverkehr zu einem Remote-Server tunnelt, von dem aus die Anfragen tatsächlich ausgeführt werden. Der Datenverkehr zwischen dem Client und dem Server wird in einem verschlüsselten Tunnel platziert (authentifizierte Verschlüsselung wird unterstützt: AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM und AEAD_AES_256_GCM). Die Hauptaufgabe von Shadowsocks besteht darin, die Tatsache seiner Entstehung zu verbergen. Unterstützt wird die Organisation von TCP- und UDP-Tunneln sowie die Erstellung beliebiger Tunnel, die nicht durch SOCKS5 eingeschränkt sind, durch die Verwendung von Plugins, die an Plug-in-Transporte in Tor erinnern.

Source: opennet.ru

Kommentar hinzufügen