Кіріспе

Прокси-серверді пайдаланатын Интернет протоколы. SOCKS – бұл клиент пен сервер арасында желілік пакеттерді прокси-сервер арқылы алмасатын Интернет протоколы. SOCKS5 қауіпсіздік үшін авторизацияны қосымша мүмкіндік ретінде ұсынады, осылайша серверге тек рұқсат етілген пайдаланушылар ғана қол жеткізе алады. SOCKS сервері TCP қосылымдарын кез келген IP-адреске проксилейді және UDP пакеттерін жіберуге мүмкіндік береді. SOCKS сервері TCP 1080 портында кіріс клиенттік қосылымдарды қабылдайды.

Тарих

Протоколды бастапқыда MIPS Computer Systems компаниясының жүйелік әкімшісі Дэвид Коблас жасады. 1992 жылы MIPS компаниясын Silicon Graphics компаниясы сатып алғаннан кейін, Коблас сол жылы Usenix қауіпсіздік симпозиумында SOCKS туралы баяндама жасады, соның арқасында SOCKS жалпы қолжетімділікке ие болды. Протоколды NEC компаниясының Ин Да Ли 4-ші нұсқасына дейін кеңейтті. SOCKS-тың эталондық архитектурасы мен клиентіне NEC компаниясынан бөлінген Permeo Technologies компаниясы иелік етеді. (Blue Coat Systems Permeo Technologies компаниясын сатып алды, ал одан кейін Symantec компаниясы сатып алды.) SOCKS5 протоколы бастапқыда өрт қабырғалары және басқа да қауіпсіздік өнімдерін басқаруды оңайлатуға арналған қауіпсіздік протоколы болды. Ол 1996 жылы IETF ұйымымен бекітілді (авторлары: М. Лич, М. Ганис, Ю. Ли, Р. Курис, Д. Коблас және Л. Джонс). Протокол Азиядан тыс нарықтарда технологияны таратқан Aventail Corporation компаниясымен бірлесіп әзірленді.

SOCKS прокси серверінің іске асырылуы

Sun Java System Web Proxy Server - HTTPS, NSAPI I/O сүзгілерін, динамикалық қайта конфигурацияны, SOCKSv5 және кері проксиді қолдайтын Solaris, Linux және Windows серверлерінде жұмыс істейтін кэштеу прокси сервері. WinGate - Microsoft Windows үшін SOCKS4, SOCKS4a және SOCKS5 (UDP ASSOCIATE және GSSAPI auth қоса) қолдауы бар көп протоколдық прокси сервер және SOCKS сервері. Ол сонымен қатар SOCKS қосылымдарын HTTP прокси-ге беруді қолдайды, сондықтан SOCKS арқылы HTTP-ді кэштеп, тексеруге болады. SocksGate5 SocksGate5 – OSI моделінің 7-ші қабатында, Application Layer-де тексеру мүмкіндігі бар SOCKS өрт қабырғасы. Пакеттер OSI 7-де тексерілетіндіктен, SOCKS өрт қабырғасы протокол талаптарына сәйкес келмейтін жағдайларды іздеп, белгілі бір мазмұнды тоқтатуы мүмкін. Dante – бұл контур деңгейіндегі SOCKS сервері, ол ыңғайлы және қауіпсіз желілік қосылысты қамтамасыз ету үшін қолданылады, Dante іске қосылған хостқа сыртқы желілік қосылым ғана қажет. HevSocks5Server – Unix (Linux/BSD/macOS) үшін жоғары өнімділігі және төмен жүктемелі SOCKS сервері. Ол стандартты TCP CONNECT және UDP ASSOCIATE әдістерін, сондай-ақ бірнеше пайдаланушы аты/парольді аутентификациялауды қолдайды.

SOCKS серверін қамтамасыз ететін басқа бағдарламалар

OpenSSH SOCKS протоколының бір бөлігі арқылы CONNECT командасын қолдап, динамикалық туннельдер құруға мүмкіндік береді. PuTTY – қашықтағы SSH серверлер арқылы SOCKS (динамикалық) туннельдерін жергілікті түрде құруды қолдайтын Win32 SSH клиенті. Secure ShellFish – SOCKS серверін қамтитын iOS және macOS үшін SSH клиенті. ShimmerCat – SOCKS5 протоколын пайдаланып ішкі желіні симуляциялайтын веб-сервер, бұл веб-дамытушыларға /etc/hosts файлын өзгертпей-ақ жергілікті сайттарын сынауға мүмкіндік береді. Tor – онлайн анонимділікті қамтамасыз ететін жүйе. Tor клиенттеріне тек TCP арқылы SOCKS сервер интерфейсін ұсынады. Shadowsocks – цензураны айналып өтуге арналған құрал. Ол SOCKS5 интерфейсін ұсынады. Ncat және socat сияқты netcat нұсқалары.

Клиенттер

Клиенттік бағдарламалық қамтамасыз ету SOCKS арқылы қосылу үшін SOCKS қолдауын біржағынан қамтуы тиіс.

Сокцифлер

Socksifier-лер бағдарламаларға прокси-протоколдарды қолдау қажеттілігінсіз прокси пайдалану үшін желілерге қол жеткізуге мүмкіндік береді. Ең көп таралған әдіс – виртуалды желілік адаптерді және трафикті адаптер арқылы жіберу үшін тиісті маршруттау кестелерін орнату. Win2Socks – бұл SOCKS5, HTTPS немесе Shadowsocks арқылы желіге қол жеткізуді қамтамасыз етеді. tun2socks – екінші жағы қолдаса UDP-ны да қолдайтын, SOCKS проксисінен виртуалды TCP TUN адаптерлерін құратын ашық кодты құрал. Linux және Windows жүйелерінде жұмыс істейді, macOS-қа портталған және Golang-те қайта іске асырылған. Жақсы өнімділігі бар C тілінде жазылған нұсқасы Linux/Android/BSD/macOS және iOS жүйелерінде жұмыс істейді. proxychains – бұл Unix бағдарламасы, ол іске қосылатын (динамикалық байланысты) бағдарламалар арқылы TCP трафигін SOCKS немесе HTTP проксилерінен өткізуге мәжбүрлейді. Unix-тәрізді әртүрлі жүйелерде жұмыс істейді.

Өкілеттіліктерді аудару

Polipo, тоқтатылған, IPv4 қолдауы бар, ашық бастапқы кодты HTTP/1.1 прокси сервері. Linux, OpenWrt, Windows, Mac OS X және FreeBSD жүйелерінде жұмыс істейді. Кез келген веб-браузер оны пайдалана алады. Privoxy – кэштеусіз SOCKS-тен HTTP проксиге айналдырушы. Tinyproxy – POSIX операциялық жүйелері үшін жеңіл HTTP/HTTPS прокси-демон. Бастапқыда жылдам және кішкентай болу үшін жасалған. Ол http прокси интерфейсін ұсынады және SOCKS4/5 және http жоғарғы деңгейдегі проксилерге қосыла алады.

Қауіпсіздік

Сұрау салудың және пакеттер алмасудың шифрланбауы SOCKS протоколын адам арасындағы шабуылдарға және IP-адрестерді ұрлауға осал етеді, нәтижесінде үкіметтер цензура жүргізуге мүмкіндік алады.