Проксі-сервер SOCKS5 для маршрутизації вашого трафіку може підвищити анонімність і швидкість роботи. Але не безпеку, оскільки він працює без шифрування даних. У цій статті ми пояснимо, що це за проксі-сервер, розкриємо його переваги і сфери застосування.
Socks-проксі - це проксі, які передають дані за протоколом Socket Secure. Він допомагає забезпечити безпечний зв'язок на непомітному для користувача рівні. Ці проксі направляють трафік через брандмауер і полегшують зв'язок з сервером. При цьому проксі не вносить жодних змін і даних: трафік перенаправляється в чистому вигляді. Таким чином, сайти не побачать реальну IP-адресу клієнта і те, що він користується проксі.
При цьому Socks-проксі:
І будьте уважнішими, якщо працюєте з безкоштовними Socks-серверами. У них вищий ризик витоку даних і підвищеної кількості реклами. Ми вже порівнювали їх з платними в нашій статті «Платні vs безкоштовні проксі».
Аутентифікація - це спосіб підключення до проксі. При аутентифікації ваші дані захищені трохи краще. А при парсингу шанс отримати блокування менший. Тобто, проксі-сервери SOCKS5 безпечніше з'єднань через протокол HTTP. Ви можете підключитися до SOCKS5 за допомогою одноразового пароля, SMS-коду, коду аутентифікатора і так далі.
SOCKS5 пропонує три типи аутентифікації:
Є два покоління Socks-проксі:
SOCKS5 - це ті самі SOCKS, так як найчастіше називають SOCKS-проксі, оскільки ця версія проксі є більш популярною. Тому цифру "5" зазвичай пропускають. Обидва терміни можна використовувати взаємозамінно.
SOCKS-проксі можна використовувати для тих самих цілей, що і HTTP-проксі. Наприклад, підвищити швидкість завантаження на сайтах за рахунок кешування, обійти блокування, зберегти конфіденційність при роботі в мережі.
SOCKS5, на відміну від HTTP, підходить для роботи поза браузером. Протокол працює на рівні сеансу - 5 рівень в моделі OSI. Це означає, що протокол дозволяє передавати будь-які дані без інкапсуляції.
OSI - це модель для роботи протоколів між собою та узгодження роботи різних пристроїв. Вона показує ступені передачі даних від програми до кабелю.
Вона виглядає так:
Рівні хоста в моделі OSI
Рівень | Тип даних | Функції | Приклади |
7. Прикладний | Дані | Доступ до мережевих служб | HTTP, FTP, POP3, SMTP, WebSocket |
6. Представлення | Дані | Представлення та шифрування даних | ASCII, EBCDIC, JPEG, MIDI |
5. Сеансовий | Дані | Управління сеансом зв'язку | SOCKS5, RPC, PAP, L2TP, gRPC |
4. Транспортний | Сегменти та датаграми | Пряма зв'язок між кінцевими пунктами та надійність | TCP, UDP, SCTP, Порти |
3. Мережевий | Пакети | Визначення маршруту та логічна адресація | IPv4, IPv6, IPsec, AppleTalk, ICMP |
2. Канальний | Біти та кадри | Фізична адресація | PPP, IEEE 802.22, Ethernet, DSL, ARP, мережева карта |
1. Фізичний | Біти | Робота з середовищем передачі, сигналами та двійковими даними | USB, RJ («вита пара», коаксіальний, оптоволоконний), радіоканал |
Але шифрування даних в SOCKS5 не є обов'язковим. Тому будь-який учасник передачі даних зможе побачити ваші дані. Але у цьому є плюс - швидкість передачі даних найвища серед усіх протоколів для проксі і навіть швидше, ніж VPN.
Виділені (не загальнодоступні) проксі-сервери SOCKS5 можна налаштувати на підвищену захист, як VPN-сервер. Наприклад, через приватний сервер з зашифрованим SSH-тунелем (Secure Shell Protocol). Трафік тоді буде йти через віддалений сервер. Не плутайте з SSL-шифруванням. По суті, ви можете самостійно створити локальний проксі за допомогою утиліти PuTTy.
Завдяки SSH весь трафік, включаючи трафік SOCKS5, можна направляти від клієнта через приватний зашифрований тунель SSH на віддалений SSH-сервер. Це може допомогти вам приховати трафік і обійти більш розумні (L7-DPI) мережеві екрани. Але для цього знадобляться продвинуті навички налаштування.
Схематично підключення буде виглядати так:
Різні види SOCKS раніше працювали тільки з TCP-протоколом, а SOCKS5-проксі обробляють і UDP-трафік. Тому ми рекомендуємо використовувати SOCKS5, оскільки він більш універсальний.
При цьому протоколи чудово доповнюють один одного.
Якщо клієнт обмінюється TCP-даними, SOCKS пересилає дані через встановлене з'єднання. Якщо клієнт обмінюється UDP-даними, можливо, доведеться використовувати TCP-з'єднання для встановлення початкового зв'язку, оскільки сам UDP вміє лише відправляти дані. Після цього TCP потрібен лише для успішних відповідей проксі-сервера SOCKS5 та інструкцій щодо відправки UDP-пакетів. Детальніше про відмінності протоколів можна дізнатися з статті на Spiceworks.
SOCKS5 проксі ви можете налаштувати на будь-якому рівні. Зокрема SOCKS5 застосовують на рівні додатка. Тобто ви можете вибрати, які програми будуть передавати трафік через цей проксі. Це важливо, якщо проксі-сервер потрібно включити лише для одного додатка. Проксі-сервери SOCKS зазвичай використовують у браузері або P2P-клієнті обміну файлами, наприклад BitTorrent.
Для звичайного завантаження, передачі та завантаження контенту проксі-сервери SOCKS - найкращий варіант, вони виділяються:
Вони підійдуть для типових завдань, з якими справляються і інші варіанти проксі. Але покажуть більшу ефективність в таких сценаріях:
Основна проблема SOCKS5 - відсутність шифрування даних. Це може призвести до: