ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
819444 Топик полностью
fk0, легенда (27.02.2018 00:26, просмотров: 193) ответил Evgeny_CD на [Прокси сервера и проксификаторы] Попытка собрать информацию по одному из методов защиты от стукачества.
У тебя проблема с терминологией, что называть прокси, а что vpn. Исторически, прокси, например socks, это способ использования сокетов удалённой машины. Софтина может сама вместо нормальной работы с сокетами использовать специальный протокол (тот же сокс, например, мозилла так умеет), а может запускаться с LD_PRELOAD библиотекой (через другую софтину) которая подменит ей функции работы с сокетами и прозрачно завернет в тот же сокс-протокол. Кроме SOCKS ещё есть HTTP-прокси работающие, соответственно, только с HTTP или HTTPS. Последнее (https) практически после начальной установки соединения даёт прямой коннект, но через сервер. Пошло как я понимаю от Squid и аналогичных серверов. В частности многие веб-браузеры поддерживают работу с http-прокси и даже socks (mozilla, например). Надо понимать, что траффик внутри протокола обеспечивающего прокси в данном случае никак не защищён о подвержен инстроспекции или даже модификации (цепочки http-прокси серверов, причём встраиваемых "прозрачно" между клиентом и сервером на стороне провайдера -- обычное дело). В случае ssh (см. ниже) траффик всё-же защищён самим ssh-протоколом. Причём надо сразу вспомнить про DNS. В случае socks может использоваться как локальный DNS, так и удалённый, в случае http-прокси только локальный. Ещё замечание про socks -- всем известный ssh-клиент умеет при подключении к серверу прикидыватья socks-прокси и таким образом отдельные программы могут пропускать свой траффик через ssh-сервер. Ну это опытные юниксоиды знают и сами. VPN -- это формально "виртуальная частная сеть". Практически у компьютера появляется отдельный виртуальный сетевой интерфейс связывающий с удалённым компьютером. Следовательно от программ ничего не требуется (какие-то там проксификаторы), они работают как обычно. И в компьютере конфигурируется, например, таблица роутинга так, что весь траффик с нелокальным адресом назначения, default gateway, отправляется через прокси. Как и DNS, хотя можно и локальным пользоваться продолжить, зависит от настройки резолвинга на локальной машине и/или наличия собственного (возможно только проксирующего, а может быть и резолвящего рекурсивно) DNS-сервера. В рамках VPN может быть, а может не быть шифрования или аутентификации, в зависимости от механизма реализации. Обычно когда продают доступ к прокси-серверу за деньги, то подразумевают VPN. Хорошо если по известноми распространённому протоколу (наиболее популярен OpenVPN, ранее пользовались PPTP), плохо если навязывают собственно ПО -- тут, понятно, дело в недокументированных функциях этого ПО. Хотя в современных браузерах, типа Chrome, вполне можно сделать расширение, которое завернёт траффик браузера в VPN. Не вникал в детали, думаю там что-то вроде socks прокси для процесса браузера только, возможно с шифрованием. Когда говорят об "открытых прокси" (лет 15 назад по интернетам гуляли списки), то обычно socks, но может быть что угодно, squid вполне тоже пойдёт (http -- наличие метода "connect" нужного для https позволяет по сути соединение с любым другим компом в интернете, единственное что, порт может быть ограничен только 443-м). Ввиду того, что прокси-протоколы в открытом виде подвержены интроспекции и модификации, наверное, смысла в прямом их применении нет, как и в прямом применении проксификаторов. Следует применять VPN с шифрованием и аутентификацией. Другое дело, что иногда сетевой стек напрямую не доступен. Например если пользователь не имеет прав доступа типа root (Администратор). Тогда смысл в "проксификаторах" может быть, но немножко иной. Операционная система может всё же позволять штатным образом использовать какой-либо VPN например. Но данный протокол может быть не совместим с сервером, может не обеспечивать шифрования, да ещё масса причин. Не важно: в таком случае "проксификатор" может быть запущен прямо на этом же компьютере. И что получается: весь траффик компьютера, как бы через VPN (не распространяющуюся дальше этого компютера) попадает в "проксификатор" выступающий VPN-сервером. И проксификатор уже может содержать отдельный tcp/ip стек или что-нибудь попроще, но так или иначе перенаправить траффик в настроящий VPN или прокси-сервер. Типичное применение: телефоны с Android: где есть штатный VPN но абсолютно бесполезный. И есть специальное ПО, которое запускается тут же на телефоне и прикидывается прокси-сервером. И перехватывает *весь* траффик телефона. Далее траффик может быть отфильтрован (типичное применение -- блокировка рекламы) и перенаправлен, например в socks-прокси реализуемый ssh-клиентом. Таким образом весь траффик телефона можно направить через собственный сторонний сервер к которому нужно только иметь ssh-доступ.
[ZX]