На данный момент существует три основных типа VPN, которые могут быть использованы для шифрования передаваемой информации, с целью защиты от ее прослушивания и протоколирования. Если вы думаете, что VPN нужен для того, чтобы скрывать ваш IP, то вы ошибаетесь, так как это является второстепенным свойством VPN, для сокрытия вашего IP адреса существуют всевозможные прокси сервера, которые настоятельно рекомендуется использовать в связке с VPN. В идеале ваша связка должна выглядеть так : socks proxy -->vpn-->http/socks proxy (правда данную связку можно организовать только используя OpenVPN).* Тип первый - Обычный виндовый. Наиболее распространен среди предоставляемых сервисов, основан на протоколе PPTP, для шифрования трафика используется протокол MPPE( модификация потокового шрифта RC4), для передачи данных протокол GRE, для управления трафиком TCP. Данный протокол является убогой поделкой фирмы НЕКРОСОВТтм, который она же сама не рекомендует использовать «из-за врожденных дефектов». Каждый компонент этого протокола в отдельности уязвим к различным типам атак, например сеанс установления PPP соединения не шифруется, так как к этому моменту параметры шифрования еще не установлены, а это значит, что любой кто контролирует какой либо хост на пути до VPN шлюза будет знать, и сможет менять настройки которые выдает вам ваш VPN сервер, то есть например, подсунуть вам свой DNS сервер, думаю не надо объяснять, что будет в этом случае. Теперь о серверах, все известные мне pptp серверы работают с правами root или администратор в случае windows, то есть, серьезно снижают общий уровень безопасности сервера, а разработчики poptop - pptp сервера под Линукс рекомендуют использовать вместо него OpenVPN или IPSec. Еще момент – если вы хотите использоват авторизацию по сертификатам x.509 это можно будет сделать только, если сервер работает под управлением windows, чего ни один нормальный человек в здравом уме делать не станет. Единственное преимущество данного типа заключается в простоте настройки и использования, вбил сервер, логин и пароль, нажал кнопочку «Подключение» и порядок, никакого дополнительного софта ставить не надо, в общем для людей называемых в определенных кругах юзерами – самое оно. Тип второй – L2TP/IPSec Наименее распространенный, для шифрования используется IPSec, для передачи данных udp. Решение, надо сказать, грамотное, потому как патент на него имее не НЕКРАСОВТтм, а гораздо более уважаемая контора Cisco Systems. Данный протокол лишен всех недостатков PPTP и, одновременно, не требует установки ПО сторонних производителей, однако для клиентов с динамическими IP адресами мы можем использовать только аутентификацию по сертификатам x.509, что само по себе достаточно прогрессивно и удобно, однако наводит тоску на юзеров. Основные проблемы тут с серверной частью, для работы IPSec с клиентами из-за NAT, необходимо использовать технологию NAT-T, которая , например в Linux, в настоящий момент имеет статус экспериментальной. Нет надежного, хорошо зарекомендовавшего себя l2tp серверного решения под UNIX. К тому же, это не лучший вариант для людей, которые экономят на своем трафике, так как к размеру каждого передаваемого прибавляется, заголовок IPSEC примерно 56 байт, заголовок L2TP 16 байт, ну и NAT-T еще чуть-чуть добавит. С точки зрения безопасности клиента здесь тоже не все ладно, существует возможность проведения одним клиентом DOS атаки другого. С безопасностью сервера такие же проблемы, как и у PPTP серверов, и даже больше, потому что мы имеем уже две сетевые службы, запущенные из под рута ISAKMP и L2TP.* Тип третий – OpenVPN Для шифрования используется протокол TLS, для передачи даны можно использовать как TCP так и UDP. Решение использует только открытые технологии и распространяется под лицензией GPL. Этот тип VPN лишен всех недостатков присущим первым двум типам. Огромное преимущество данного типа перед первыми двумя – это возможность подключения к VPN серверу через socks сервер, то есть, если вы хотите, например, потестить сервис VPN, не раскрывая при этом свой IP адрес, с OpenVPN вы можете это сделать. Никаких проблем с NAT. Возможна аутентификация, как с использованием паролей, так и с использованием сертификатов x.509. Кроме того, безопасность серверной стороны на прядок выше чем в предыдущих двух типах, так как сервер OpenVPN работает под выделенной учетной записью, и к тому же предусмотрена дополнительная защита в виде HMAC подписей пакетов на этапе установления соединения (если HMAC не совпадает, пакет отбрасывается без какого либо ответа), что существенно снижает угрозу таких типов атак как DOS или флуд, переполнение буфера в реализации SSL/TLS, а так же затрудняет обнаружение службы при сканировании портов. Я тут видел на секлабе в комментариях какой то «спец» писал, что мол в OpenVPN было найдено много уязвимостей поэтому надо использовать poptop, но любой специалист по информационной безопасности скажет вам, что безопасность продукта определяется не количеством найденных уязвимостей, а тем как на них реагирует производитель( реакция разработчиков OpenSource всегда быстрее – посмотрите на скорость латания дыр в Windows и Oracle), как и тем соблюдается ли принцип минимизации прав сетевой службы, т.е. если сетевая служба работает под рутом, это уже не безопасно. А что касается уязвимостей, надо следить за сообщениями и вовремя патчиться, и это касается не только VPN. Единственный недостаток этого типа, это необходимость установки стороннего клиента, однако это не должно смущать тех, кто использует Оперу вместо ослика или Light Alloy в вместо Windows Media Player, ведь решения от M$ всегда славились своим убогим функционалом. Не является исключением и VPN.