Izdanje outline-ss-server 1.4, implementacija proxyja Shadowsocks iz projekta Outline

Objavljen je proxy poslužitelj outline-ss-server 1.4 koji koristi protokol Shadowsocks za skrivanje prirode prometa, zaobilaženje vatrozida i zavaravanje sustava za inspekciju paketa. Poslužitelj se razvija u okviru projekta Outline, koji dodatno pruža okvir klijentskih aplikacija i kontrolno sučelje koje vam omogućuje brzu implementaciju višekorisničkih Shadowsocks poslužitelja temeljenih na outline-ss-poslužitelju u okruženjima javnog oblaka ili na vlastitoj opremi, upravljati njima putem web sučelja i organizirati korisnički pristup po tipkama. Kod razvija i održava Jigsaw, odjel unutar Googlea stvoren za razvoj alata za zaobilaženje cenzure i organiziranje slobodne razmjene informacija.

Outline-ss-server napisan je u Go-u i distribuira se pod licencom Apache 2.0. Kod koji se koristi kao osnova je proxy poslužitelj go-shadowsocks2, koji je stvorila zajednica programera Shadowsocks. U posljednje vrijeme glavna aktivnost projekta Shadowsocks usmjerena je na razvoj novog servera na Rust jeziku, a implementacija na Go jeziku nije ažurirana više od godinu dana i primjetno zaostaje u funkcionalnosti.

Razlike između outline-ss-server i go-shadowsocks2 svode se na podršku za povezivanje više korisnika putem jednog mrežnog priključka, mogućnost otvaranja nekoliko mrežnih priključaka za primanje veza, podršku za ponovno pokretanje i ažuriranje konfiguracije bez prekida veze, ugrađeni alati za nadzor i modifikaciju prometa temeljeni na platformi prometheus .io.

Izdanje outline-ss-server 1.4, implementacija proxyja Shadowsocks iz projekta Outline

outline-ss-server također dodaje zaštitu od napada probnim zahtjevima i ponavljanjem prometa. Napad kroz probne zahtjeve ima za cilj utvrditi prisutnost proxyja; na primjer, napadač može poslati skupove podataka različitih veličina na ciljani Shadowsocks poslužitelj i analizirati koliko podataka će poslužitelj pročitati prije otkrivanja greške i zatvaranja veze. Napad ponavljanja prometa temelji se na presretanju sesije između klijenta i poslužitelja i pokušaju ponovnog slanja presretnutih podataka kako bi se utvrdila prisutnost proxyja.

Kako bi se zaštitio od napada putem testnih zahtjeva, server outline-ss-server, kada stignu netočni podaci, ne prekida vezu i ne prikazuje grešku, već nastavlja primati informacije, ponašajući se kao svojevrsna crna rupa. Radi zaštite od ponavljanja, podaci primljeni od klijenta dodatno se provjeravaju na ponavljanje pomoću kontrolnih zbrojeva pohranjenih za posljednjih nekoliko tisuća sekvenci rukovanja (maksimalno 40 tisuća, veličina se postavlja pri pokretanju poslužitelja i troši 20 bajtova memorije po sekvenci). Za blokiranje ponovljenih odgovora poslužitelja, sve sekvence rukovanja poslužitelja koriste HMAC autentifikacijske kodove s 32-bitnim oznakama.

Što se tiče razine skrivanja prometa, protokol Shadowsocks u implementaciji outline-ss-server blizak je Obfs4 plug-in prijenosu u Tor anonimnoj mreži. Protokol je stvoren da zaobiđe sustav cenzuriranja prometa u Kini ("Veliki kineski vatrozid") i omogućuje vam prilično učinkovito skrivanje prometa proslijeđenog preko drugog poslužitelja (promet je teško identificirati zbog privitka nasumičnog sjemena i simulacije kontinuirani tok).

SOCKS5 se koristi kao protokol za proxy zahtjeve - na lokalnom sustavu se pokreće proxy sa podrškom za SOCKS5 koji tunelira promet na udaljeni poslužitelj s kojeg se zapravo izvršavaju zahtjevi. Promet između klijenta i poslužitelja odvija se u kriptiranom tunelu (podržana je autentificirana enkripcija AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM i AEAD_AES_256_GCM), prikrivanje činjenice njegovog nastanka primarni je zadatak Shadowsocksa. Podržana je organizacija TCP i UDP tunela, kao i kreiranje proizvoljnih tunela koji nisu ograničeni SOCKS5 korištenjem dodataka koji podsjećaju na plug-in transporte u Toru.

Izvor: opennet.ru

Dodajte komentar