Вероятно, вы слышали о прокси и, возможно, даже о прокси SOCKS. По своей сути, прокси-серверы или прокси — это аппаратные или программные посредники, которые находятся на локальном или удаленном компьютере. В этой промежуточной роли они маршрутизируют весь трафик между веб-браузерами (веб-клиентами) и веб-серверами через себя, тем самым блокируя или предотвращая прямое соединение.
В то же время, в зависимости от типа, прокси скрывают некоторую информацию о вашей личности в Интернете. Примеры скрытых данных включают ваш IP-адрес и местоположение.
Действительно, существует несколько типов прокси. Их можно условно разделить на четыре группы по следующим признакам:
- Протокол, т. е. прокси-серверы SOCKS, а также прокси-серверы HTTP и HTTPS.
- Количество активных пользователей, т.е. общие прокси, частные прокси, и девственные прокси
- Направление маршрутизации трафика, т. е. прямые прокси и обратные прокси.
- Тип назначенного IP-адреса, т.е. резидентные прокси, прокси для дата-центров, и мобильные прокси
Однако в этой статье основное внимание будет уделено прокси-серверам, идентифицируемым по протоколу, используемому для общения в Интернете. В эту категорию входят прокси-серверы SOCKS, а также прокси-серверы HTTP и HTTPS.
Что такое прокси-сервер SOCKS?
Прокси-сервер SOCKS — это посредник, который использует протокол SOCKS для облегчения сетевого подключения между хостами или между веб-клиентом и веб-сервером через брандмауэр. Этот прокси-сервер запускает программное обеспечение, известное как демон SOCKS. Программное обеспечение специально устанавливается на хосте брандмауэра (компьютере, на котором установлен брандмауэр), создавая безопасный маршрут через этот брандмауэр.
Таким образом, это означает, что протокол SOCKS не обходит брандмауэры, а позволяет маршрутизировать связь через брандмауэр через прокси-сервер. Соответственно, межсетевой экран блокирует весь несанкционированный трафик, а также трафик, не соответствующий определенным параметрам, например, имени пользователя или тот, который не был отправлен по протоколу SOCKS.
Однако предположим, что связь отправляется через этот протокол и, как следствие, через прокси-сервер SOCKS. В этом случае пользователи получат доступ к Интернету или смогут общаться с другими компьютерами во внешней сети. Как правило, прокси-сервер SOCKS поддерживает соединения уровня приложения, т. е. те, которые отправляются через протоколы уровня приложения, проходят. (Протоколы прикладного уровня включают HTTP, HTTPS, SMTP, TELNET, FTP, POP, MIME и другие.)
Как работает прокси-сервер SOCKS
В результате такого расположения компьютеры пользователей, называемые хостами, используют прокси-сервер SOCKS в качестве безопасной временной точки, которая обеспечивает безопасную связь с другими хостами или веб-серверами. А учитывая, что сетевой брандмауэр или хост брандмауэра по-прежнему защищает соединение через этого посредника, он предотвращает доступ нежелательных злоумышленников к связи между хостами. Таким образом, только стороны, имеющие учетные записи на хосте (прокси-аккаунт), могут получить доступ к сетевым пакетам, отправленным по протоколу SOCKS, через межсетевой экран.
Прокси-сервер SOCKS обеспечивает связь не только между компьютерами пользователей, но также между веб-клиентами и веб-серверами. И как и все остальные прокси-серверы, он является посредником в сетевом трафике, блокируя прямой доступ. Таким образом, когда клиент отправляет запросы HTTP, HTTPS или FTP, сервер SOCKS получает их и впоследствии передает веб-серверу от имени клиента. При этом он получает ответы от сервера и пересылает их клиенту. Однако, прежде чем обсуждать прокси-серверы SOCKS более подробно, давайте сначала разберемся в протоколе SOCKS, его истории и том, как он работает.
История протокола SOCKS
Название прокси-сервера SOCKS происходит от сетевого протокола, известного как Socket Secure, который сокращен до SOCKS. Судя по приведенному выше описанию, протокол SOCKS обеспечивает основу для сетевого подключения через сетевой брандмауэр. Протокол претерпел различные улучшения с момента его первого представления в начале 1990-х годов. В этом разделе будет описана эволюция с годами.
SOCKS Версия 1
Оригинальный протокол SOCKS был предложен в бумага представлен на третьем симпозиуме по безопасности USENIX UNIX в 1992 году. Однако на момент представления статьи SOCKS работал в MIPS Computer Systems уже три года. Это означает, что SOCKS был первоначально создан примерно в 1989 году.
В статье, написанной Дэвидом Кобласом и Мишель Коблас, обсуждается, как можно использовать протокол SOCKS для обеспечения удобного и безопасного сетевого подключения через хост брандмауэра. Его создатели задумали его как решение существовавшей тогда проблемы: методы создания безопасной среды, посредством которой компьютеры могли подключаться к Интернету, были громоздкими, неудобными или легко могли быть скомпрометированы.
В документе представлен пакет SOCKS, который включает в себя библиотеку SOCKS, протокол и демон (прокси-программное обеспечение SOCKS). Библиотека включала вызовы, которые устанавливали соединения с демоном SOCKS, установленным на брандмауэре. Таким образом, библиотека обеспечивала передачу информации и сетевые соединения таким образом, что демон казался инициатором запросов. Таким образом, для внешнего хоста демон (прокси-сервер SOCKS) будет выглядеть инициатором запросов. Подпрограммы или вызовы библиотеки SOCKS включали:
- Соединять: он запрашивает, чтобы прокси-сервер SOCKS (демон) установил исходящее соединение с заданным IP-адресом, номером порта и именем пользователя.
- Связывать: запрашивает входящее соединение, ожидаемое с данного внешнего IP-адреса. Он также содержит требования к имени пользователя, но это имя пользователя принадлежит запрашивающей стороне (отправителю) и используется для регистрации информации. Обычно вызов Bind привязывает новое соединение сокета к свободному порту брандмауэра.
- Слушать: Ожидает (прослушивает), готов принимать вызовы от внешнего хоста.
- ПолучитьSOCKName: он получает IP-адрес и номер порта сокета на брандмауэре.
- Принимать: принимает соединение с внешнего хоста.
1ТП3Т Версия 4 (1ТП3Т4)
Ин-Да Ли расширил протокол SOCKS, создав 1ТП3Т версия 4 (SOCKS4) перед последующим введением 1ТП3Т версия 4а (1ТП3Т4а). Соответственно, SOCKS4a расширил возможности протокола, поддерживая разрешение доменного имени хоста (сервера) назначения для нахождения его IP-адреса.
1ТП3Т Версия 5 (1ТП1Т)
В 1996 году группа авторов написала памятка описание SOCKS версии 5. В статье расширены возможности протокола SOCKS за счет расширения возможностей базовой структуры, позволяющей поддерживать более сложные протоколы прикладного уровня. Кроме того, в SOCKS5 введена поддержка клиент-серверных приложений как в протоколе управления передачей (TCP), так и в протоколе пользовательских дейтаграмм (UDP). Кроме того, он расширил систему адресации, включив в нее IPv6-адреса и адресация доменного имени.
Наконец, SOCKS5 представил строгую аутентификацию. Новая версия определяет обобщенную структуру для использования произвольных протоколов аутентификации. Например, при инициировании соединения SOCKS могут использоваться следующие аутентификации:
- Дополнительное согласование имени пользователя и пароля службы аутентификации (Однако дополнительное согласование имени пользователя и пароля не защищено и поэтому не рекомендуется в случаях, когда хакеры или третьи лица могут предпринять «перехват».)
- Безопасная аутентификация имени пользователя и пароля который использует известные ключи хоста и передает ключи посредством зашифрованной связи.
- Аутентификация GSS-API метод
Примечательно, что в результате доработок появилось несколько типов прокси SOCKS, а именно:
- SOCKS4 прокси
- SOCKS5 прокси
SOCKS4 против SOCKS5: сходства и различия
Сходства между SOCKS4 и SOCKS5
Протоколы SOCKS4 и SOCKS5 и, соответственно, прокси-серверы схожи в следующих отношениях:
- Служба SOCKS в SOCKS4 и SOCKS5 расположена на порту 1080.
- Они используют одни и те же операции, т.е. соединять, связывать, слушать, принимать, и получитьSOCKname.
Различия между SOCKS4 и SOCKS5
Протоколы и прокси SOCKS4 и SOCKS5 различаются по-разному, описанным в таблице ниже:
SOCKS4 | SOCKS5 | |
Поддерживаемые домены | Он поддерживает только TCP | Он поддерживает как TCP, так и UDP. |
Безопасность | Он обеспечивает незащищенное прохождение брандмауэра, поскольку не проверяет подлинность сетевых пакетов. | Он поддерживает схемы строгой аутентификации, такие как требования к имени пользователя и паролю, тем самым способствуя безопасному обходу брандмауэра. |
Поддерживаемые протоколы | Он поддерживает FTP, SMTP, TELNET, HTTP и GOPHER (т. е. протоколы прикладного уровня). | Он поддерживает FTP, SMTP, TELNET, HTTP и GOPHER, а также NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP и DNS (т. е. протоколы прикладного и транспортного уровня). |
Адрес IP | Он поддерживает только адреса IPv4. | Он поддерживает адреса IPv4 и IPv6. |
Доменное имя | Он не способен разрешить все доменные имена и, следовательно, не может найти их IP-адреса. | Он может разрешать доменные имена всех серверов, чтобы найти их IP-адреса. |
Адресация | Он не поддерживает адресацию доменного имени. | Он поддерживает адресацию доменного имени. |
Насколько безопасно прокси-соединение SOCKS?
Соединение SOCKS, в отличие от соединения HTTPS, не шифруется. Но зашифрованное HTTPS-соединение может быть установлено через любое соединение SOCKS (внутри соединения), совершенно недоступное извне:
Это может показаться сложным, но на самом деле все очень просто, и такое соединение создается автоматически, когда пользователь впервые устанавливает соединение SOCKS (например, с помощью Проксификатор или надстройка для браузера Foxyproxy), а затем переходит на веб-страницу, использующую сертификат SSL («замок» слева от адресной строки).
Браузер <- > SOCKS (HTTPS) SOCKS <-> целевой веб-сайт
Это означает, что данное соединение полностью защищено, и никто, даже прокси-провайдер, не может точно узнать, что пользователь делает на сайте, что печатает, какие картинки или видео просматривает или загружает.
Преимущества и недостатки прокси-серверов SOCKS
Преимущества прокси SOCKS
Преимущества прокси SOCKS:
- Меньшие ошибки: Прокси-серверы SOCKS, в отличие от прокси-серверов HTTP, не интерпретируют и не перезаписывают пакеты данных, такие как заголовки. Таким образом, они не подвержены неправильной маркировке или другим ошибкам.
- Поддержка нескольких протоколов на прикладном и транспортном уровнях: прокси-серверы SOCKS4 поддерживают протоколы FTP, SMTP, TELNET, HTTP и GOPHER. Напротив, прокси-серверы SOCKS5 поддерживают протоколы FTP, SMTP, TELNET, HTTP и GOPHER, а также NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP и DNS. Напротив, прокси-серверы HTTP поддерживают только протоколы HTTP и HTTPS.
- Лучшая безопасность: Прокси SOCKS5, в частности, осуществляют аутентификацию на различных этапах. Это способствует безопасности. Однако, как правило, поскольку все прокси-серверы SOCKS не интерпретируют и не перезаписывают данные, они не могут обнаружить пакеты данных, содержащие вашу личную информацию.
- Повышенная конфиденциальность: Прокси SOCKS5 могут изменить ваш IP-адрес, скрывая таким образом такую информацию, как ваше реальное местоположение, особенно с учетом того, что IP-адреса хранят такие данные.
Недостатки прокси SOCKS
К недостаткам прокси SOCKS можно отнести следующее:
- Задержка соединения/медленная скорость: Прокси-серверам SOCKS5, в частности, приходится проходить ряд аутентификаций на разных этапах операций, что приводит к снижению скорости.
- Ограниченное обратное соединение: Команда привязки SOCKS5 недостаточно охватывает протоколы, требующие от сервера многократного подключения к клиенту (обратного соединения); вместо этого он в первую очередь подходит для таких протоколов, как FTP, которым требуется только одно обратное соединение.
- Ограниченные возможности поддерживаемого UDP: Первоначальная поддержка UDP в SOCKS5 имела ограниченные возможности. Например, протокол предусматривал, что приложения UDP должны отправлять данные и получать ответ. Однако многие приложения UDP могут получать данные UDP, не требуя информации об IP-адресе, отправки данных или использования определенного порта. Таким образом, прокси SOCKS5 имеют ограниченные возможности UDP.
- Обратная несовместимость: Прокси-серверы SOCKS5 не имеют обратной совместимости с более ранними версиями протокола SOCKS, такими как SOCKS4a.
Как использовать прокси SOCKS
Прокси SOCKS используются следующими способами:
- Они позволяют пользователям обходить геоблокировку. Таким образом, прокси SOCKS, особенно прокси SOCKS5, позволяют им получать доступ к контенту из других мест. (Геоблокировка или геоограничение это практика, при которой веб-сайты показывают контент только посетителям из определенного места.)
- Прокси-серверы SOCKS помогают обходить интернет-фильтрацию со стороны школ, рабочих мест и правительств, и это лишь некоторые из них.
- Анонимное использование мессенджеров, таких как Телеграмма
- Потоковое видео и живые звонки
- торрент или одноранговый обмен и загрузка
- Массовая и безопасная отправка электронной почты благодаря поддержке SMTP
- Общий просмотр веб-страниц, поскольку SOCKS5 поддерживает ряд протоколов уровня приложения.
- Блокировка несанкционированного доступа к бизнес-сетям: прокси-серверы SOCKS действуют как временный посредник, который обеспечивает безопасный доступ в Интернет через бизнес-брандмауэр, одновременно предотвращая доступ нежелательных злоумышленников к серверу или компьютерам в локальной сети.
Прокси SOCKS против прокси HTTP
Как подробно описано ранее, прокси-серверы SOCKS и HTTP-прокси представляют собой прокси-серверы на основе протокола. Подробное обсуждение возможностей HTTP и HTTPS-прокси можно найти в нашей статье HTTP и HTTPS прокси.
Сравнение прокси-серверов SOCKS и HTTP-прокси
В этом разделе подробно описаны сходства и различия между SOCKS и HTTP-прокси.
Сходства между прокси-серверами SOCKS и HTTP-прокси
Прокси-серверы SOCKS и HTTP схожи в следующих отношениях:
- Они оба основаны на интернет-протоколах.
Различия между прокси-серверами SOCKS и HTTP-прокси
Прокси-серверы SOCKS и HTTP отличаются следующим образом:
SOCKS Прокси | HTTP-прокси | |
Протоколы | Они поддерживают большое количество протоколов TCP, а также протоколов UDP. | Они поддерживают только протоколы HTTP и HTTPS. |
Безопасность | Они не шифруют данные | HTTPS-прокси шифруют данные |
Доступ к брандмауэру | Прокси SOCKS обеспечивают доступ в Интернет через сетевой брандмауэр. | Они не обеспечивают соединение через межсетевые экраны |
Интерпретация данных | Они не интерпретируют, не анализируют и не переписывают данные. | Они интерпретируют данные и в некоторых случаях перезаписывают пакеты заголовков. |
Совместимость | Прокси SOCKS могут использовать протоколы HTTP и HTTPS. | Прокси-серверы HTTP и HTTPS не могут использовать протокол SOCKS. |
Классификация OSI | Прокси-серверы SOCKS находятся на нижнем уровне (уровень 5) Классификация OSI, то есть сеансовый уровень | HTTP-прокси находятся на более высоком уровне (уровень 4) классификации OSI, т. е. на транспортном уровне. |
Конфигурация | Прокси-серверы SOCKS можно интегрировать только в веб-клиент или компьютер, который не является веб-сервером. | HTTP-прокси можно настроить как на веб-клиенте, так и на сервере. |
Порт | Услуги SOCKS доступны через прокси-порты SOCKS 1080 и 1085. | HTTP-прокси используют порты 80, 8080, 8085, 3128 и 3129, а HTTPS-прокси используют порт 443. |
Прокси-сервер SOCKS против VPN
Конечно, прокси SOCKS могут создать безопасный туннель через брандмауэр. Но знаете ли вы также, что можно создать безопасный туннель, используя виртуальная частная сеть или VPN? VPN создает безопасный маршрут связи между двумя сетями: локальной сетью и внешними сетями. Это достигается путем маршрутизации всего интернет-трафика через туннель, но не раньше, чем шифруются данные в точке входа (например, на вашем компьютере). Туннель заканчивается на выходном узле (выходном сервере VPN), который присваивает исходящим запросам из локальной сети или компьютера пользователя новый IP-адрес, эффективно скрывая реальный IP-адрес.
При использовании VPN все запросы исходят из заметки о выходе. В то же время все ответы веб-сервера завершаются на этом VPN-сервере. Благодаря такому расположению вы можете использовать VPN для доступа к геоблокированному контенту в любом месте, где у провайдера VPN есть сервер.
Например, если вы находитесь в Германии и хотите получить доступ к веб-контенту, доступному для просмотра только жителям Соединенных Штатов, вы можете просто использовать VPN-сервер в США.
Для этого вам необходимо сначала установить на свой компьютер программное обеспечение VPN, которое превратит ваш компьютер во входной узел. Программное обеспечение отвечает за шифрование данных. Далее вам нужно будет выбрать выходной узел, и как только VPN подключится к этому выходному серверу, вы сможете отправить свой запрос.
Преимущества VPN
Плюсы виртуальных частных сетей включают в себя:
- Шифрование и безопасность: VPN шифруют все запросы и ответы сервера, гарантируя тем самым непревзойденную безопасность. Именно по этой причине вам рекомендуется использовать VPN при каждом доступе в Интернет через общедоступный Wi-Fi.
- Обеспечьте доступ к геоблокированному контенту: VPN виртуально переносит вас в это место, направляя трафик через выходной узел в другой стране. В результате вы можете получить доступ к веб-контенту, который в противном случае вы не смогли бы получить в своей родной стране без VPN.
- Конфиденциальность в Интернете: VPN скрывают ваш реальный IP-адрес и впоследствии присваивают другой адрес. Таким образом, они защищают вашу конфиденциальность в Интернете, скрывая определенные данные о вас, такие как ваше местоположение (штат, город, страна и приблизительные координаты).
Недостатки VPN
К минусам виртуальных частных сетей относятся:
- Медленная скорость соединения: Поскольку это решение должно шифровать все исходящие запросы и входящие ответы, оно обычно работает медленнее.
- Регистрация пользовательских данных: Еще одним распространенным недостатком, который вызвал бурю негодования среди пользователей VPN, является то, что некоторые провайдеры VPN часто регистрируют пользовательские данные. Делают это для того, чтобы впоследствии по запросу предоставить указанные данные представителям правоохранительных органов. Фактически, несколько провайдеров попали в заголовки газет, предоставив следственным органам данные пользователей. Более того, некоторые страны, такие как Индия, имеют законы, обязывающие провайдеров VPN сохранять пользовательские данные. На этом фоне наблюдатели ранее советовали пользователи должны принимать политику провайдеров «Нет журналов» за чистую монету.
- Бесплатные VPN, как правило, небезопасны: такие VPN часто используют один и тот же безопасный туннель для нескольких пользователей, что может увеличить вероятность «прослушивания» или подслушивания.
- VPN запрещены в некоторых странах: некоторые страны сделали использование VPN совершенно незаконным. В других странах можно использовать только VPN, лицензированные государством.
Использование VPN
Виртуальные частные сети используются следующими способами:
- VPN обеспечивают безопасность при доступе в Интернет через общедоступные точки доступа.
- Доступ к геоблокированному контенту: как уже говорилось, VPN, как и прокси-серверы SOCKS5, позволяют вам получить доступ к любому контенту из любого места.
- Упростите удаленную работу: компании защищают свои данные, требуя от удаленных сотрудников входа в свои системы или серверы через выделенные VPN.
Чем прокси SOCKS отличаются от VPN
Вспоминая вышеупомянутые особенности, преимущества и недостатки прокси-серверов SOCKS, как можно сравнить прокси-серверы SOCKS с VPN?
Сходства между прокси-серверами SOCKS и VPN
Прокси-серверы SOCKS и VPN имеют определенные сходства, в том числе:
- Конфиденциальность в Интернете: прокси-серверы SOCKS5 и VPN скрывают реальные IP-адреса, обеспечивая тем самым конфиденциальность в Интернете.
- Безопасность: оба решения повышают безопасность, хотя и по-разному. VPN шифруют данные, а прокси-серверы SOCKS5 выполняют аутентификацию.
- Поддерживаемые протоколы: некоторые VPN-протоколы, такие как OpenVPN, поддерживают TCP и UDP, а прокси SOCKS5 также поддерживают TCP и UDP.
- Обход географических ограничений: прокси-серверы SOCKS5 и VPN можно использовать для доступа к контенту, заблокированному в противном случае по географическому принципу.
Различия между прокси-серверами SOCKS и VPN
Прокси-серверы SOCKS и VPN имеют несколько различий. В таблице ниже суммированы эти различия:
SOCKS Прокси | VPN | |
Протоколы | Прокси-серверы SOCKS, особенно прокси-серверы SOCKS5, поддерживают прокси-серверы транспортного и прикладного уровня, включая FTP, SMTP, TELNET, HTTP, GOPHER, NTP, DHCP, BOOTP, NNP, TFTP, RTSP, RIP и DNS. | VPN обычно используют протоколы VPN, такие как IKEv2, OpenVPN, L2TP/IPSec, WireGuard, SSTP и PPTP. |
Скорость соединения | Прокси-серверы SOCKS обычно работают быстрее, поскольку не используют шифрование. | VPN работают медленно, потому что они шифруют данные |
Количество серверов | Поставщики прокси-услуг SOCKS часто предоставляют сотни тысяч или даже пару миллионов прокси-серверов. | У VPN-провайдеров обычно меньше серверов. |
Страны | Некоторые провайдеры SOCKS имеют прокси-серверы в более чем 150 странах. | Поставщики VPN обычно имеют VPN-серверы в меньшем количестве стран, часто менее 100. |
Заключение
Прокси-сервер SOCKS обеспечивает связь между компьютерами пользователей, а также между веб-клиентами и веб-серверами через сетевой брандмауэр. Этот тип прокси-сервера, основанный на протоколе SOCKS, предотвращает доступ злоумышленников к коммуникации между различными сторонами. С годами протокол SOCKS был улучшен, в результате чего появилось несколько версий, а именно SOCKS4, SOCKS4a и SOCKS5. В результате существует несколько типов прокси-серверов SOCKS, а именно прокси-серверы SOCKS4 и прокси-серверы SOCKS5, причем последние предлагают превосходные возможности. Прокси-серверы SOCKS используются разными способами, включая торрент, электронную почту, потоковое видео, живые звонки и общий просмотр. Они также обеспечивают анонимность в Интернете. В этой статье мы сравнили прокси-серверы SOCKS с VPN и HTTP-прокси и надеемся, что вы лучше информированы о том, какой из них выбрать в соответствии с вашими уникальными потребностями.