Proxy-serveren outline-ss-server 1.4 er lansert. Den bruker Shadowsocks-protokollen for å skjule trafikkens natur, omgå brannmurer og jukse pakkeinspeksjonssystemer. Serveren utvikles av Outline-prosjektet, som i tillegg tilbyr en binding av klientapplikasjoner og et kontrollgrensesnitt som lar deg raskt distribuere flerbruker Shadowsocks-servere basert på outline-ss-server i offentlige skymiljøer eller på ditt eget utstyr, administrere dem via et webgrensesnitt og organisere brukertilgang ved hjelp av nøkler. Koden utvikles og vedlikeholdes av Jigsaw, en avdeling av Google som er opprettet for å utvikle verktøy for å omgå sensur og organisere fri utveksling av informasjon.
Outline-ss-server er skrevet i Go og distribuert under Apache 2.0-lisensen. Den er basert på proxy-koden.server go-shadowsocks2, laget av utviklerfellesskapet til Shadowsocks. I det siste har hovedaktiviteten til Shadowsocks-prosjektet vært fokusert på å utvikle en ny Rust-server, mens Go-implementasjonen ikke har blitt oppdatert på over et år og henger merkbart etter i funksjonalitet.
Forskjellene mellom outline-ss-server og go-shadowsocks2 er begrenset til støtte for å koble til flere brukere via én nettverksport, muligheten til å åpne flere nettverksporter for å godta tilkoblinger, støtte for omstart under drift og konfigurasjonsoppdateringer uten å bryte tilkoblinger, og innebygde verktøy for overvåking og endring av trafikk basert på prometheus.io-plattformen.

Outline-ss-server legger også til beskyttelse mot angrep som involverer sending av probeforespørsler og trafikkavspilling. Et probeforespørselsangrep har som mål å oppdage tilstedeværelsen av en proxy. For eksempel kan en angriper sende datasett av varierende størrelser til en Shadowsocks-målserver og analysere hvor mye data serveren leser før den oppdager en feil og lukker forbindelsen. Et trafikkavspillingsangrep er basert på å kapre økten mellom klienten og server etterfulgt av et forsøk på å sende de avlyttede dataene på nytt for å fastslå tilstedeværelsen av en proxy.
For å beskytte mot angrep via verifiseringsforespørsler, avbryter ikke outline-ss-serveren forbindelsen eller viser en feil når den mottar feil data, men fortsetter å motta informasjon, og fungerer som et slags svart hull. For å beskytte mot replay, kontrolleres data mottatt fra klienten i tillegg for repetisjoner ved hjelp av sjekksummer lagret for de siste tusen håndtrykksekvensene (maksimalt 40 tusen, størrelsen settes når serveren starter og bruker 20 byte minne per sekvens). For å blokkere gjentatte svar fra serveren, brukes HMAC-autentiseringskoder med 32-biters tagger i alle serverhåndtrykksekvenser.
Når det gjelder trafikkskjuling, er Shadowsocks-protokollen i outline-ss-server-implementasjonen nær den pluggbare Obfs4-transporten i det anonyme Tor-nettverket. Protokollen ble opprettet for å omgå trafikksensursystemet i Kina («Kinas store brannmur») og tillater ganske effektiv skjuling av trafikk som videresendes gjennom en annen server (trafikk er vanskelig å identifisere på grunn av vedlegget til et tilfeldig frø og simuleringen av en kontinuerlig flyt).
SOCKS5 brukes som en protokoll for proxy-forespørsler – en proxy med SOCKS5-støtte startes på det lokale systemet, som tunnelerer trafikk til en ekstern server hvorfra forespørsler faktisk utføres. Trafikk mellom klienten og serveren plasseres i en kryptert tunnel (autentisert kryptering AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM og AEAD_AES_256_GCM støttes), og å skjule det faktum at den er opprettet er den primære oppgaven til Shadowsocks. Organisering av TCP- og UDP-tunneler støttes, samt opprettelse av vilkårlige tunneler som ikke er begrenset til SOCKS5, gjennom bruk av plugins som ligner pluggbare transporter i Tor.
Kilde: opennet.ru
