Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Подключение vpn Почты России на Linux

  • Скопировать и добавить сертификаты
  • Зайти под sudo юзером (именно от рута, т.к. sudo sh не работает, у них там скрипт криво написан) и установить
    Downloads/SNX_CLI_MAB/FWDIR_CSHELL# sh ./snx_install_linux30.sh

После этого всё работает

Скрипт для автоматического ввода пароля. Возможно потребуется установить expect.

Запуск через докер (не пробовал)

Настало время разобраться с самым безопасным вариантом работы в удаленном режиме, это работа через VPN подключение. Тут уже не будет никаких пробросов портов, мы будем подключаться непосредственно к изолированной сети так, как будто наш компьютер подключен к этой сети физически. В результате чего, мы можем либо использовать нужные ресурсы локальной сети компании, либо подключаться к нашему рабочему месту через Удаленное подключение к рабочему столу.

https://youtube.com/watch?v=g4xtLH_z27E%3Frel%3D0%26fs%3D1%26wmode%3Dtransparent

Технические требования

Все тоже самое, как в первом видео про аппаратный проброс портов, только тут добавляется сервер с установленной операционной системой Windows Server. Конечно, создать VPN сервер можно и другими средствами, но в данном видео речь пойдет именно про поднятие роли VPN сервера в Windows Server.

Аббревиатура VPN (Virtual Private Network) – расшифровывается как виртуальная частная сеть, которая используются для обеспечения защищенного подключения к сети. И подключаться к нашей сети мы будем через VPN подключение.

Как это выглядит на практике?

Рассмотрим схему сети, которую будем использовать в качестве примера для демонстрации работы VPN.

Есть офисная сеть, в которой есть один физический сервер Windows Server 2016, на котором поднят контроллер домена, DNS, DHCP, файловый сервер, а также там крутится виртуальный сервер, поднятый через Hyper-V. Плюс две рабочие станции на Windows 7 и Windows 10.

Собственно, такую сеть мы создавали в процессе прохождения комплексного обучения, несмотря на то, что она виртуальная, она ничем не отличается от функционирования реальной физической сети.

Так вот задача заключается в том, чтобы подключаться к данной сети через интернет и использовать все доступные ресурсы сети безопасно.

Что для этого мы сделаем? Мы поднимем и настроим роль VPN на контроллере домена, создадим VPN подключение на удаленной машине, через которое сможем подключаться к нашей сети удаленно. А далее либо использовать нужные файловые ресурсы, либо подключаться к нужной машине через удаленный рабочий стол.

с точки зрения работы, все выглядит так, как будто к вашему компьютеру подключили сетевой кабель из сети компании, так как вам становятся доступны все ресурсы компании, как если бы вы были физически к ней подключены. Если не наложены определенные ограничения настройками системы.

Используя данный способ соединения, вы можете подключаться к вашему рабочему месту безопасно, даже из общедоступных сетей (Wi-Fi сеть торгового центра, кафе и другие) и ваши данные не будут перехвачены, так как они будут зашифрованы.

Устанавливаем роль VPN

Перейдем к практике и для начала нам нужно поднять роль VPN на сервере (Пуск Диспетчер серверов Управление Добавить роли и компоненты Далее Далее Далее Удаленный доступ Далее Далее DirectAccesss и VPN Добавить компоненты Далее Далее Установить)

Так как у меня роль Маршрутизации уже установлена, я её добавлял при подключении офисной сети к Интернет, то мне добавлять этот компонент не нужно.

Настройка VPN сервера

Выполним настройку службы удаленного доступа (Средства Маршрутизация и удаленный доступ Выбираем наш сервер ПКМ Свойства Общие Галочку: IPv4-сервер удаленного доступа IPv4 Протокол DHCP если у вас в сети его нет, то Статический полу адресов: 192. 168. 10-192. 168. 20 Если есть то, Протокол DHCP Адаптер, выбираем сеть, в которой крутится DHCP сервер Безопасность Разрешить пользовательские политики IPSec для L2TP и IKEVv2-подключения Вводим ключ безопасности Применить Перезапускаем службу Маршрутизации и удаленного доступа Диспетчер задач Службы Маршрутизация и удаленный доступ Перезапустить)

Проверить правила в файерволе

Настройка VPN подключения

Выясняем какой у нас IP адрес на сервере, он опять же должен быть «белый» 192. 168. 167

Настраиваем VPN подключение на клиентском компьютере (Центр управления сетями и общим доступом Создание и настройка нового подключения Подключение к рабочему месту Использовать мое подключение к интернету (VPN) IP адрес Свойства подключения Безопасность Протокол L2TP Дополнительные параметры Для проверки подлинности использовать общей ключ вводим ключ Шифрование данных Обязательное, отключить если нет шифрования)

Чтобы на клиенте не пропадал интернет при подключении к VPN, переходим в (Свойства сетевого VPN подключения Сеть IPv4 Свойства Дополнительно Использовать основной шлюз в удаленной сети Убираем галочку ОК)

Подключаемся к виртуальной сети

У меня выдается сообщение «Клиент удаленного доступа попытался подключится через порт, зарезервированный только для маршрутизаторов», так как я сначала настроил роль маршрутизации, так что нужно кое-что подправить на сервера (Диспетчер сервера Маршрутизация и удаленный доступ Порты ПКМ L2TP Настроить Подключение удаленного доступа (только входящие) ОК)

Выбираем VPN подключение (Подключиться Вводим имя пользователи и пароль)

Проверка работоспособности

Для проверки можем подключиться к нашему виртуальному серверу через IP адрес, открыть общий доступ к какой-нибудь папке и проверить работу локальной сети.

Для подключения к удаленному рабочему столу, нужно указать его IP адрес и ввести учетные данные пользователя, под которым работает сотрудник.

С их помощью можно решать технические проблемы близких или использовать ресурсы устройств на расстоянии.

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Клиент — это любое устройство (ПК, планшет или смартфон), а сервер — удалённый компьютер, к которому оно подключается.

Удалённый помощник (Microsoft Remote Assistance)

  • К каким платформам можно подключаться: Windows.
  • С каких платформ возможно подключение: Windows.

«Удалённый помощник» — встроенная в Windows утилита, благодаря которой можно быстро подключать компьютеры друг к другу без сторонних программ. Этот способ не позволяет обмениваться файлами. Но к вашим услугам полный доступ к удалённому компьютеру, возможность совместной работы с другим пользователем и текстовый чат. Инструкция для сервера

  • Запустите утилиту. Для этого наберите в поиске по системе «Удалённый помощник». Если у вас Windows 10, ищите по запросу MsrA. Кликните правой кнопкой мыши по найденному элементу и выберите «Запуск от имени администратора».
  • Когда помощник предложит выбрать способ приглашения, кликните «Сохранить приглашение как файл». Затем введите его название, папку хранения и подтвердите создание файла.
  • Когда файл появится в указанном месте, на экране отобразится окно с паролем. Скопируйте пароль и отправьте его вместе с файлом клиенту по почте или любым другим способом.
  • Дождитесь запроса на подключение от клиента и одобрите его.

Инструкция для клиента

  • Откройте файл, созданный сервером, и введите полученный пароль. После этого вы увидите экран удалённого компьютера и сможете наблюдать за ним в специальном окне.
  • Чтобы управлять файлами и программами чужого компьютера так, будто вы находитесь рядом с ним, кликните в верхнем меню «Запросить управление» и дождитесь ответа от сервера.

Файл и пароль являются одноразовыми, для следующего сеанса они уже не подойдут. Удалённый рабочий стол (Microsoft Remote Desktop)

  • К каким платформам можно подключаться: Windows (только в редакциях Professional, Enterprise и Ultimate).
  • С каких платформ возможно подключение: Windows, macOS, Android и iOS.

Это средство представляет собой ещё одну встроенную в Windows программу, предназначенную для удалённого доступа. От предыдущей она отличается прежде всего тем, что выступающий сервером компьютер нельзя использовать во время подключения: его экран автоматически блокируется до конца сеанса. Зато клиентом может быть Mac и даже мобильные устройства. Кроме того, подключённый пользователь может копировать файлы с удалённого компьютера через общий буфер обмена. Чтобы использовать «Удалённый рабочий стол», нужно правильно настроить сервер. Это займёт у вас некоторое время. Но если не хотите разбираться в IP‑адресах и сетевых портах, можете использовать другие программы из этой статьи. Они гораздо проще. Инструкция для сервера

В общих чертах действия сводятся к следующему. Вы заходите в специальный раздел настроек роутера и создаёте виртуальный сервер, прописывая в его параметрах локальный IP‑адрес и порт 3389. Открытие доступа к компьютеру через перенаправление портов создаёт новые лазейки для сетевых атак. Если боитесь вмешательства злоумышленников, ещё раз подумайте, стоит ли использовать именно этот способ. Инструкция для клиента

После этого вы получите полный контроль над рабочим столом удалённого компьютера. Общий экран (Screen Sharing)

  • К каким платформам можно подключаться: macOS.
  • С каких платформ возможно подключение: macOS.

Пожалуй, простейший способ установить удалённое подключение между двумя компьютерами Mac — сделать это с помощью стандартного macOS‑приложения «Общий экран». Сторонние утилиты для этого вам не понадобятся. Чтобы подключиться к удалённому компьютеру, нужно найти в поиске Spotlight «Общий экран» и запустить эту программу. В появившемся окошке следует набрать Apple ID удалённого компьютера или имя его пользователя, если оно есть в списке контактов на текущем Mac. После этого остаётся только отправить запрос на подключение. Получив запрос, пользователь на стороне сервера может разрешить полное управление своим компьютером и его содержимым или только пассивное наблюдение. Удалённый рабочий стол Chrome (Chrome Remote Desktop)

  • К каким платформам можно подключаться: Windows, macOS, Linux.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS.

«Удалённый рабочий стол Chrome» — очень простая кросс‑платформенная программа для организации удалённого доступа. Её десктопная версия представляет собой приложение для Google Chrome, которое позволяет управлять всей системой без лишних настроек. В десктопной версии «Удалённый рабочий стол Chrome» отображаются два раздела меню: «Удалённый доступ» и «Удалённая поддержка». В первом необходимо задать имя и пароль для подключения к компьютеру. Во втором можно сгенерировать код для соединения (сервер), также ввести код (клиент) для подключения к удалённому ПК. Мобильное приложение «Удалённый рабочий стол Chrome» предоставляет удалённый доступ к компьютеру. При этом подключаться в обратную сторону — с компьютера к мобильному устройству — нельзя. В то же время десктопная версия может сделать компьютер как клиентом, так и сервером.

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

  • К каким платформам можно подключаться: Windows, macOS, Linux, Android, iOS.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS.

TeamViewer можно назвать одной из самых известных программ для создания удалённых подключений. Своей популярностью она обязана поддержке множества платформ, простоте использования и количеству функций. Среди прочего программа позволяет записывать сеансы на видео, общаться участникам в голосовом и текстовом чатах и открывать удалённый доступ только к выбранным приложениям. Чтобы подключить два устройства, нужно сгенерировать на сервере ID и пароль и ввести их на стороне клиента. У TeamViewer очень дружелюбный интерфейс с обилием подсказок, поэтому освоить её очень легко. Вы можете установить полноценную версию программы либо использовать её портативный вариант QuickSupport. Последний не нуждается в установке, но поддерживает не все возможности TeamViewer. Кроме того, список доступных функций программы меняется в зависимости от используемых платформ. Приложение не найденоПриложение не найденоReal VNC

  • К каким платформам можно подключаться: Windows, macOS, Linux, Raspberry Pi.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Raspberry Pi, Chrome, Android, iOS.

Ещё одна популярная программа, которая доступна на всех ключевых платформах и отличается высокой стабильностью работы. Как и другие мощные инструменты, Real VNC распространяется на платной основе. Однако для домашнего персонального использования приложение полностью бесплатно — ограничением является лимит на пять компьютеров и трёх пользователей. Real VNC работает очень просто. На компьютер нужно установить серверную часть, задать пароль и другие несложные параметры с помощью пошагового мастера настройки. После этого через приложение‑клиент на ПК или мобильном устройстве можно подключиться к серверу для просмотра рабочего стола и управления им. Передача файлов работает только между компьютерами, но в бесплатной версии эта функция недоступна. Приложение не найденоAnyDesk

  • К каким платформам можно подключаться: Windows, macOS, Linux, Raspberry Pi, Android.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS, Chrome.

Мощный инструмент для удалённой работы, который охватывает все возможные задачи и полностью бесплатен при условии некоммерческого использования. Серверная часть AnyDesk имеет портативную версию и способна работать даже без установки. Помимо кроссплатформенности, к преимуществам программы можно отнести простоту подключения — нужно лишь ввести одноразовый код на клиентском устройстве и подтвердить соединение на сервере. AnyDesk поддерживает запись удалённых сессий, а также имеет аудиочат и функцию передачи файлов. Remote Utilities

  • К каким платформам можно подключаться: Windows.
  • С каких платформ возможно подключение: Windows, macOS, Linux, Android, iOS.

Материал был обновлён 18 января 2020 года

  • Что делать, если компьютер не видит внутренний жёсткий диск
  • Что делать, если компьютер включается и сразу выключается
  • Как поставить пароль на BIOS, чтобы защитить компьютер

3 бесплатных VPN-сервиса с российскими IP-адресами для Android

Помогут зайти на сайты «Госуслуг», РЖД, «Почты России» и других ведомств, находясь за границей.

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Виртуальная частная сеть с десятком серверов по России: в Москве, Самаре, Новосибирске, Екатеринбурге и других городах. Сервис не требует регистрации и не показывает рекламу после каждого соединения. Также приложение работает со множеством других стран. VPN RedCat

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

«VPN Бобёр» — аналог предыдущего варианта, RedCat: с таким же интерфейсом и изобилием рекламы. Впрочем, свою функцию приложение выполняет, а избавиться от баннеров можно, если купить подписку. Дополнение: платные тарифыПолучить российский IP‑адрес в качестве платной функции поможет ряд крупных VPN‑сервисов. В их числе Hotspot Shield, Tomato VPN, VPN Super, PotatoVPN, VPN Fast и другие.

  • Как обезопасить себя, если кто-то может завладеть вашим смартфоном или ноутбуком
  • 7 лучших бесплатных VPN-сервисов для компьютеров и смартфонов
  • 10 платных VPN-сервисов с выгодными тарифами

Сохраняйте приватность, не тратя на это ни копейки.

Объясняет, как получить доступ к руке на расстоянии с помощью VPN

Официальные сайты некоторых VPN‑сервисов могут работать нестабильно. Если у вас не получается перейти по ссылке и установить определённый вариант из списка, попробуйте другой. PsiphonКанадский VPN‑сервис, доступный на ПК и мобильных устройствах. Приложение выбирает регион сервера автоматически, но можно указать конкретную страну из трёх десятков вариантов. Ограничений на количество трафика нет, но в бесплатной версии заявлена скорость до 2 Мбит/c. Для ускорения разработчики предлагают покупать внутреннюю валюту Psicash и оплачивать с её помощью premium‑доступ. Он действует от часа до месяца. Взять паузу не получится — время отсчитывается с момента активации, даже если вы отключите приложение. VPN SuperЭто приложение предназначено исключительно для мобильных устройств под управлением Android и iOS. В VPN Super нет ограничений по трафику. У программы достаточно простой интерфейс — подключение выполняется одним нажатием кнопки, сервис не требует регистрации аккаунта. Также для пользователей не сохраняется список действий. Скорости загрузки около 10 Мбит/c должно быть достаточно для просмотра видеороликов и прослушивания музыки. В бесплатной версии можно вручную выбрать один из нескольких десятков серверов в разных странах. Tomato VPNTomato VPN — простой и быстрый VPN‑сервис для смартфонов. Он скрывает и меняет IP‑адрес, шифрует интернет‑трафик, переводит общедоступные Wi‑Fi‑сети в частные и преодолевает географические ограничения. Сервис предлагает серверы в 30 странах, но на бесплатном тарифе только автоматическое подключение к Франции. Также придётся мириться с рекламой в приложении, хотя она выводится лишь при отключении. iTop VPNСервис для компьютеров и смартфонов в бесплатной версии имеет ограничение трафика в 700 МБ в день. Для подключения доступны 16 серверов в нескольких странах, которые подходят для конкретных целей: обмена файлами, игр и стриминга, использования социальных сетей и мессенджеров. Программа работает без регистрации аккаунта и дополнительной настройки — достаточно просто установить и запустить соединение кнопкой. В мобильных приложениях при включении VPN всплывают рекламы и предложение купить подписку. TurboVPNБыстрый VPN с неограниченным трафиком, который доступен на всех популярных платформах, включая мобильные. В TurboVPN есть встроенный браузер, а также предусматривается выбор протокола соединения. А вот расположение сервера менять нельзя — для этого необходимо купить подписку. Как и все бесплатные VPN‑сервисы, при запуске TurboVPN предлагает всё-таки выбрать тариф и показывает рекламу, но не слишком навязчиво. Hotspot ShieldОдин из самых популярных VPN‑сервисов в мире. Приложение имеет достаточно удобный интерфейс, с которым не придётся долго разбираться. В Hotspot Shield ограничен дневной объём трафика, но время использования можно продлить просмотром рекламы. В бесплатной версии нельзя выбирать сервер вручную, а максимальная скорость подключения — 2 Мбит/с. Установленные на устройстве программы можно вносить в список исключений, чтобы для них соединение осуществлялось без VPN. Разработчики утверждают, что не сохраняют действия пользователей в Сети. Но сервис записывает некоторую информацию, включая IP‑адреса. После отключения от сервера эти данные удаляются. PotatoVPNЭтот сервис обеспечивает бесплатное подключение к шести различным серверам: в США, Канаде, Великобритании, Германии, Сингапуре и Индии. Для соединения не потребуется даже регистрация. Также PotatoVPN предлагает на выбор различные протоколы доступа, включая FTP, и не хранит IP‑адреса, выданные пользователям. UPD. Текст обновлён 17 августа 2022 года: заменили некоторые пункты из списка актуальными.

  • 3 специальных браузера для анонимного сёрфинга
  • 7 лучших бесплатных прокси-серверов
  • Как создать и настроить свой VPN-сервер
  • Что такое прокси-серверы и как ими пользоваться
  • Как защитить личные данные в интернете

Я сделал VPN с российским IP для доступа к Госуслугам, сайту налоговой, РЖД, Почты России и так далее.

Сначала он понадобился мне. Потом я дал доступ друзьям. А сейчас помогаю вам.

Задонатить на сервер и кофе:

  • С карт РФ – CloudTips
  • C других карт – Buy Me A Coffee

Для тех, кто не знает: некоторые сайты недоступны из-за рубежа. Для доступа к ним нужен российский IP. Но большинство крупных VPN сервисов теперь не имеют серверов в России. Поэтому приходится делать свой.

Данная инструкция позволит вам самостоятельно создать свой собственный VPN-сервер и настроить VPN-соединения на iPhone, iPad и Mac. Вы получите доступ к заблокированным в стране ресурсам, а также скроете ваш трафик от злоумышленников, провайдеров и спецслужб.

Последнее обновление статьи: 22 марта 2022 года.

Инструкция была обкатана и проверена сотни раз и гарантированно сработает без каких-либо ошибок, если вы будете ей следовать. Актуальна для всех версий macOS, вплоть до macOS Monterey, а также всех версий iOS, вплоть до iOS 15.

Настройка займет от 15 минут времени, в зависимости от скорости вашей работы.

  • Преамбула
  • Немного теории: как работает VPN
  • Плюсы использования VPN
  • Недостатки VPN
  • О коммерческих VPN-сервисах: NordVPN, ExpressVPN, Cyberghost, и почему не стоит их использовать
  • В какой стране поднять свой VPN-сервер
  • Выбираем хостера и инструментарий
  • Сама инструкция по созданию собственного VPN-сервера на базе Linux Debian

Преамбула

В январе 2019 года я путешествовал по Азии. Находясь в Гуанчжоу, мне не удалось получить доступ к Google, YouTube и ряду других популярных сервисов. Они в принципе не работают на территории Китая и заблокированы правительством.

Помимо этого, в путешествиях вообще всегда есть определенная проблема с безопасным доступом в Интернет. Не всегда удается купить местную SIM-карту, поэтому приходится подключаться к Wi-Fi-сетям отелей, аэропортов и кафе. Фактически, мы ничего не знаем об этих сетях: кем они были созданы и насколько надежны.

То же самое и в родной стране. Если вы беззаботно подключаетесь к Wi-Fi-сети кафе, то у меня для вас плохие новости. Возможно прямо сейчас весь ваш трафик прослушивается злоумышленниками за соседним столиком.

Вывод: всегда, когда мы подключаемся к сети, которая не является нашей собственной, наша сетевая активность находится под перманентной угрозой.

Использование VPN — оптимальное решение двух обозначенных проблем сразу. Мы получаем доступ к заблокированным в стране ресурсам, а по пути еще и защищаем себя от прослушки.

Реализовать VPN можно двумя способами:

  • Воспользоваться коммерческим VPN-сервисом, например, Nord VPN.
  • Создать свой VPN-сервер.

Для меня использование коммерческого VPN было в принципе неприемлемым решением, и по ходу статьи я объясню почему я категорически не рекомендую пользоваться подобными сервисами. А так как я уже имел навык настройки серверов на Linux, я решил поднять собственный VPN-сервер: размять пальцы, прокачать скилл.

Однако, побродив по Интернету, я не нашел ни одной нормально работающей инструкции: все они были либо с ошибками, либо были заточены под слишком специфические кейсы, что не подойдет для обычного пользователя. Поэтому, я решил написать свою.

На мой взгляд, сегодня VPN должен быть у любого пользователя, который более-менее заботится о безопасности своих данных.

Инструкция написана для широкого круга читателей, однако, предполагает хотя бы минимальные знания Linux на уровне начального пользователя, который умеет обращаться с базовыми командами консоли (это правда очень и очень просто!). Настройка займет от 15 минут времени, в зависимости от скорости вашей работы.

К сожалению, Windows и Android в данной статье не рассматриваются, поскольку Windows последний раз я пользовался лет 15 назад, а Android — вообще совокупно 2 часа за всю жизнь, поэтому не представляю, что и как как сегодня все устроено в этих ОС. Не исключаю, что подходы, описанные здесь, сработают и для них. Инструкция в первую очередь создана для пользователей iPhone, iPad и Mac.

Как работает VPN

С помощью вашего обычного интернет-соединения между вашим устройством и VPN-сервером устанавливается специальное соединение — VPN-туннель. Все передаваемые и получаемые данные в этом соединении шифруются. С этого момента вся ваша сетевая активность осуществляется через данный туннель, а не через основной канал провайдера, и вы пользуетесь Интернетом как бы с самого VPN-сервера, а не с вашего устройства.

Для простоты понимания можно представить, что основной канал провайдера — это большая труба, а внутри этой трубы вы прокладываете свою собственную, защищенную, отсекая всем доступ в нее. И через эту трубу попадаете на свой сервер и сидите в Интернете как бы со своего сервера: там, где он физически располагается. That’s all.

Случаи взлома VPN-туннеля (вашей трубы), при условии, что применяются нормальные алгоритмы шифрования и все настроено корректно, мне не удалось найти. Можно попробовать взломать и сам VPN-сервер и получить доступ к вашему трафику уже на нем, но это так же весьма сложная задача, и при условии нормальной защищенности сервера, стремится к невыполнимой. Никто просто не будет этим заниматься.

Плюсы использования VPN

  • VPN полностью скроет ваш трафик от прослушки при подключении к ненадежным (не лично вашим) Wi-Fi-сетям, и особенно полезен в путешествиях. Ни администратор Wi-Fi-сети, ни злоумышленники, сканирующие трафик, не смогут понять на какие сайты вы ходите, какие данные передаете или получаете.
  • VPN обеспечит доступ к ресурсам, заблокированным в стране. Поскольку VPN-сервер находится за пределами текущего государства, а вместе с ним виртуально и вы, то вам становятся доступны любые сервисы и сайты. Если, конечно, они не заблокированы в стране нахождения самого VPN-сервера.

Однако, не стоит воспринимать VPN как панацею. Тем паче не стоит думать, что с использованием VPN вы можете начать заниматься хакингом, ломать сети и воровать кредитки, как это часто показывают в популярных кинофильмах, а ля Mr. Robot. Во-первых, такая деятельность в принципе незаконна. Во-вторых, вас очень быстро обнаружат, обратившись к хостеру, у которого размещен ваш VPN-сервер, и последний сдаст ваши реальные координаты с потрохами. В-третьих, для этого существуют совершенно другие методы и подходы.

Поэтому, созданием собственного VPN-сервера мы в первую очередь обеспечиваем свободу пользования Интернетом, а также защиту от злоумышленников и излишне милитаризованной системы государства.

Недостатки VPN

  • Снизится скорость загрузки сайтов. По замерам это действительно так, однако, на практике падение скорости для обычного пользователя настолько незначительно и усредняется (ведь какие-то ресурсы наоборот начнут загружаться быстрее), что данным недостатком в целом можно пренебречь.
  • В играх, критичных к пингу, а ля CS:GO, VPN придется выключать.

NordVPN, ExpressVPN, Cyberghost, и почему не стоит их использовать

В настоящее время существуют так называемые коммерческие VPN-сервисы — компании, которые предоставляют вам свои VPN-сервера за определенную месячную плату. Например, NordVPN, ExpressVPN, CyberGhost и прочие.

На мой взгляд, использование подобных сервисов, несмотря на их предназначение, еще больше снижает безопасность ваших данных. Все просто: эти компании видят весь ваш трафик. Все, что вы получаете и передаете, на какие сайты ходите, какими сервисами пользуетесь. Конечно, все они заявляют о том, что не хранят клиентские логи и данные, однако, это невозможно проверить на практике. Более того, некоторые VPN-сервисы изначально были созданы именно для того, чтобы воровать ваши данные, и, по-факту, это является их основной «бизнес-моделью».

Кроме того, вы получите большие пинги и существенные просадки в скорости. Ведь на одном VPN-сервере располагаются тысячи таких же клиентов, как и вы.

Таким образом, использование коммерческих VPN-сервисов «для всех» абсурдно само по себе. Лучше уж тогда вообще не использовать никакой VPN, чем сливать свои данные неизвестно кому.

Использование коммерческих VPN может быть оправдано, но исключительно как эпизодическая и экстренная мера. Например, вы попали в страну, где какой-то нужный вам ресурс заблокирован, своего VPN-сервера у вас нет, а доступ нужен срочно.

В целом: не делайте этого.

В какой стране поднять свой VPN-сервер

Выбирайте страну для размещения VPN-сервера исходя из следующих критериев:

  • Кратчайшее расстояние до вас: это обеспечит наименьший пинг и просадки по скорости.
  • Минимальное количество запретов на свободу Интернета, доступность любых популярных мировых сервисов в этой стране.
  • Наименьшая политическая напряженность между вашей страной и страной VPN-сервера. В этом случае ваш трафик теперь уже с VPN-сервера не будут читать спецслужбы другого государства. Наверное :) Но здесь палка о двух концах. Например, многие российские пользователи предпочитают располагать VPN-сервер в Великобритании именно из-за высокой напряженности между странами, ведь в случае чего, последняя ни за что не сдаст ваш трафик российским спецслужбам. Поэтому, данный подход также может быть оправданным.

Для российских пользователей в целом подходит любая страна Евросоюза, однако, практика показывает, что лучшим решением является Германия: минимальный пинг, высокая скорость и великолепная доступность любых мировых ресурсов.

Выбираем хостера и инструменты

С 8 марта Amazon Web Services (AWS) закрыл регистрацию аккаунтов из России. Услуги же прочих зарубежных хостеров невозможно оплатить из-за неработающих карт Visa/MasterCard. Рекомендую попробовать хостера VDSina. ru по моей партнерской ссылке, у них есть серверы в Нидерландах. Данная инструкция не зависит от хостера и сработает на любой площадке, просто делайте все по образу и подобию.

Для того, чтобы создать свой VPN-сервер, нам нужно арендовать виртуальный сервер (Virtual Private Server) у одного из хостинг-провайдеров. На него мы установим Linux и затем настроим его.

Наиболее популярные хостинговые компании сегодня:

  • Amazon Web Services (AWS)
  • DigitalOcean
  • Hetzner
  • Vultr
  • Bluehost
  • Arubacloud
  • и прочие, которые вы найдете в бесчисленных топиках на форумах в духе «где поднять свой VPN-сервер»

Сегодня AWS предоставляет множество решений для облачных вычислений на любой вкус и цвет, но нам с вами нужна обычная виртуальная машина. Ее мы возьмем в одной из разработок AWS — Lightsail.

Lightsail — это упрощенное решение для создания виртуальных серверов, в отличие от своего старшего собрата EC2. Все завернуто в очень простой интерфейс, в котором разберется даже новичок. И для нашей столь нетребовательной к вычислительным ресурсам задаче как VPN-сервер, AWS Lightsail подходит лучше всего.

Вообще, вы можете арендовать сервер у любой компании. Данная инструкция не сильно зависит от площадки и сработает у любого хостера.

Использование VPN-сервера на базе AWS Lightsail будет обходиться вам в $3,5/мес. За эти деньги вы получаете машину с 512 Мб оперативной памяти. Подобная конфигурация легко справляется с обработкой VPN-трафика с трех устройств, даже если вы нагружаете их по самые помидоры. В комплекте идет 1TB трафика в месяц, сверх нормы — за деньги. Первые три месяца у AWS будут бесплатными.

Почему Debian, а не Ubuntu

Поднимать VPN-сервер мы будем на основе операционной системы Linux Debian, а не Ubuntu, которая довольно часто фигурирует в подобных инструкциях.

Лично я не люблю Ubuntu с самого ее появления из-за какой-то умозрительной нестабильности и общей аляповатости. К тому же, Ubuntu изначально создавалась именно как пользовательская система, а не серверная. Debian же надежен и стабилен как слон. В моей компании мы используем Debian во всех интернет-проектах последние 11 лет и никогда не имели с ним никаких проблем, получая великолепные быстродействие и надежность. С Ubuntu же вечно что-то происходит.

Протоколы VPN-соединения: почему IPsec IKEv2, а не Open VPN

Сегодня существуют разные протоколы VPN-соединения, их детальный разбор выходит за рамки этой статьи. Среди них наиболее популярны IPsec IKEv2 и OpenVPN.

Оба хороши и надежны, но мы будем использовать IKEv2, поскольку у OpenVPN, на мой взгляд, имеется огромный недостаток, который перекрывает его прочие достоинства.

OpenVPN требует установки своего приложения, которое всегда должно быть запущено на устройствах, что, во-первых, неудобно в использовании, а во-вторых, дополнительно жрет процессор и как следствие быстрее расходует батарею iPhone, iPad и, в меньшей степени, Mac.

IKEv2 же вшит в iOS и macOS и является для этих ОС нативным, не требуя установки никакого дополнительного ПО. Так же, считается, что IKEv2 гораздо быстрее и безопасней, чем OpenVPN.

В качестве серверной части мы будем использовать strongSwan — популярный VPN-сервер для Linux.

Готовые скрипты для развертывания VPN-сервера: Algo, Streisand и почему не стоит их использовать

Streisand нам не подходит в принципе, поскольку заточен под OpenVPN. Что же касается Algo, то пробежавшись по диагонали, я увидел, что данный скрипт устанавливает много лишних пакетов, без которых вполне можно обойтись, а также каких-то подозрительных пакетов, неизвестно кем созданных и кем проверенных. Кроме того, Algo устанавливается только на Ubuntu, что нам, опять же, не подходит.

Таким образом, мы будем создавать свой VPN-сервер, используя следующие технологии:

  • AWS Lightsail в качестве виртуального сервера
  • IKEv2 как протокол VPN
  • Linux Debian в качестве серверной ОС
  • strongSwan в качестве VPN-сервера
  • никаких готовых скриптов, всё настроим руками.

Итак, с теоретической частью покончено, приступаем к созданию своего VPN-сервера.

Инструкция по созданию собственного VPN-сервера на базе Linux Debian

Регистрируемся в Amazon AWS и подключаемся к серверу

Процесс регистрации в AWS очень прост и вы пройдете его самостоятельно. После регистрации перейдите в Lightsail, выберите гео-зону в которой вы хотите поднять свой VPN-сервер. Создайте новый инстанс, выберите «OS Only» и операционную систему Debian самой высокой версии:

Нам подойдет простейшая машина с 512 Мб оперативной памяти:

Открываем Terminal в macOS.

В первую очередь, чтобы избежать кое-какой известной проблемы терминала с локалью, зайдем в настройки Терминала, перейдем в Profiles и снимем галочку с “Set locale environment variables on startup”:

Закроем терминал с помощью Cmd+Q и запустим его снова.

Ограничим права нашему скачанному с Lightsail ключу, иначе macOS не позволит его использовать. Исхожу из того, что ключ вы скачали через Safari в папку Downloads. Если нет — подставьте свой путь до папки с ключем.

cd ~/Downloads/
chmod 600 YOUR_DOWNLOADED_KEY. pem

Совет: введите несколько первых символов имени файла ключа и нажмите Tab, терминал подставит остальное автоматически.

Напишем “Yes” и нажмем Enter.

Нас приветствует радостная надпись, мы подключились:

Все манипуляции будем осуществлять из-под пользователя root. Поехали:

Обновим индекс пакетов в репозиториях, возможно, есть обновления:

А затем установим эти обновления:

apt-get install strongswan

И набор стандартных плагинов:

apt-get install libstrongswan-standard-plugins

К детальной настройке strongSwan мы вернемся чуть позже, а пока создадим сертификаты доступа, чтобы наши устройства смогли подключиться к VPN серверу.

Создаем сертификаты доступа

Мы будем использовать самозаверенные сертификаты, поскольку VPN-сервером планируем пользоваться только мы. Для того чтобы создать сертификаты, нам потребуется пакет strongswan-pki. Установим его:

apt-get install strongswan-pki

Теперь нам нужно создать корневой сертификат, он же “CA” (Certificate Authority), который выпустит нам все остальные сертификаты. Создадим его в файле ca. pem.

cd /etc/ipsec. d
ipsec pki –gen –type rsa –size 4096 –outform pem > private/ca. pem
ipsec pki –self –ca –lifetime 3650 –in private/ca. pem –type rsa –digest sha256 –dn “CN=YOUR_SERVER_IP” –outform pem > cacerts/ca. pem

Далее создадим сертификат для самого VPN-сервера в файле debian. pem:

И сертификат для самих устройств в файле me. pem. В следующем блоке ничего (в том числе в “CN=me”) менять не нужно:

Для надежности удалим файл ca. pem, он нам больше не потребуется:

Создание сертификатов завершено.

Очистим дефолтный конфиг strongSwan командой:

И создадим свой в текстовом редакторе nano:

config setup
uniqueids=never
charondebug=”ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2″

conn %default
keyexchange=ikev2
ike=aes128gcm16-sha2_256-prfsha256-ecp256!
esp=aes128gcm16-sha2_256-ecp256!
fragmentation=yes
rekey=no
compress=yes
dpdaction=clear
left=%any
leftauth=pubkey
leftsourceip=YOUR_SERVER_IP
leftid=YOUR_SERVER_IP
leftcert=debian. pem
leftsendcert=always
leftsubnet=0. 0/0
right=%any
rightauth=pubkey
rightsourceip=10. 0/24
rightdns=8. 8,8. 4

conn ikev2-pubkey
auto=add

Внимание! strongSwan требователен к отступам в конфиге, поэтому убедитесь, что параметры каждого раздела конфига отбиты через Tab, как это показано на примере, или хотя бы через пробел, иначе strongSwan не запустится.

Сохраним файл с помощью Ctrl+X и пойдем дальше.

Добавим в файл ipsec. secrets, который является хранилищем ссылок на сертификаты и ключи аутентификации, указатель на наш сертификат сервера:

Вставим в этот файл последней строкой указатель на наш сертификат сервера (да, прям вот так, начиная с двоеточия):

: RSA debian. pem

На этом настройка Strongswan завершена, можно рестартнуть службу:

Если все хорошо, то сервер запустится:

Если упадет в ошибку, то можно посмотреть, что именно произошло, почитав логи. Команда выведет 50 последних строк лога:

tail -n 50 > /var/log/syslog

Настроим сетевые параметры ядра

Теперь нам необходимо внести некоторые изменения в файл /etc/sysctl. conf:

Через Ctrl+W найдем в файле следующие переменные и внесем в них изменения:

#Раскомментируем (уберем решетку перед параметром) данный параметр, чтобы включить переадресацию пакетов
net. ipv4. ip_forward=1

#Раскомментируем данный параметр, чтобы предотвратить MITM-атаки
net. ipv4. conf. all. accept_redirects = 0

#Раскомментируем данный параметр, чтобы запретить отправку ICMP-редиректов
net. ipv4. conf. all. send_redirects = 0

#В любом месте файла на новой строке добавьте этот параметр, запретив поиск PMTU
net. ipv4. ip_no_pmtu_disc = 1

Сохраним файл через Ctrl+X и подгрузим новые значения:

Настройка сетевых параметров завершена.

iptables — это утилита, которая управляет встроенным в Linux файрволом netfilter. Для того, чтобы сохранить правила iptables в файле и подгружать их при каждом запуске системы, установим пакет iptables-persistent:

apt-get install iptables-persistent

После установки нас спросят, сохранить ли текущие правила IPv4 и IPv6. Ответим «Нет», так как у нас новая система, и нечего сохранять.

Перейдем к формированию правил iptables. На всякий пожарный, очистим все цепочки:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -Z

Разрешим соединения по SSH на 22 порту, чтобы не потерять доступ к машине:

iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp –dport 22 -j ACCEPT

Разрешим соединения на loopback-интерфейсе:

iptables -A INPUT -i lo -j ACCEPT

Теперь разрешим входящие соединения на UDP-портах 500 и 4500:

iptables -A INPUT -p udp –dport 500 -j ACCEPT
iptables -A INPUT -p udp –dport 4500 -j ACCEPT

Разрешим переадресацию ESP-трафика:

iptables -A FORWARD –match policy –pol ipsec –dir in –proto esp -s 10. 0/24 -j ACCEPT
iptables -A FORWARD –match policy –pol ipsec –dir out –proto esp -d 10. 0/24 -j ACCEPT

Настроим маскирование трафика, так как наш VPN-сервер, по сути, выступает как шлюз между Интернетом и VPN-клиентами:

iptables -t nat -A POSTROUTING -s 10. 0/24 -o eth0 -m policy –pol ipsec –dir out -j ACCEPT
iptables -t nat -A POSTROUTING -s 10. 0/24 -o eth0 -j MASQUERADE

Настроим максимальный размер сегмента пакетов:

iptables -t mangle -A FORWARD –match policy –pol ipsec –dir in -s 10. 0/24 -o eth0 -p tcp -m tcp –tcp-flags SYN,RST SYN -m tcpmss –mss 1361:1536 -j TCPMSS –set-mss 1360

Запретим все прочие соединения к серверу:

iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP

Сохраним правила, чтобы они загружались после каждой перезагрузки:

netfilter-persistent save
netfilter-persistent reload

Настройка iptables завершена.

И посмотрим работают ли правила iptables:

sudo su
iptables -S

Да, всё работает.

Работает ли strongSwan:

Разрешаем соединения в файрволе Lightsail

AWS Lightsail использует также и свой файрвол для защиты виртуальных машин. Если в нем не разрешить соединения на UDP-портах 500 и 4500, к VPN-серверу нельзя будет подключиться. Выберем наш инстанс в Lightsail, перейдем в «Networking», добавим эти порты и по пути удалим ненужный нам 80-й порт:

Удалите 80-й порт так же и в разделе IPv6 firewall, ниже по странице.

Настройка файрвола Lightsail завершена.

Создаем. mobileconfig для iPhone, iPad и Mac

Мы будем использовать один и тот же VPN-профайл. mobileconfig для всех наших устройств.

Конфиг, который мы сделаем, устроен таким образом, чтобы инициировать соединение “On Demand”. Это означает, что при попытке любой службы или приложения выйти в Интернет, VPN-соединение будет всегда устанавливаться принудительно и автоматически. Таким образом, удастся избежать ситуации, когда вы забыли установить VPN-соединение, например, после перезагрузки девайса, а трафик в итоге пошел через провайдера, что нам совсем не нужно.

Скачаем скрипт, который сгенерирует для нас данный конфиг:

Для того, чтобы скрипт отработал, нам потребуется пакет zsh, установим его:

apt-get install zsh

Запустим скрипт и на выходе получим готовый файл iphone. mobileconfig:

chmod u+x mobileconfig. /mobileconfig. sh > iphone. mobileconfig

Отправьте скачанный файл iphone. mobileconfig на все ваши устройства через Airdrop. Подтвердите на устройствах установку конфигурации.

В macOS профайл устанавливается из System Preferences > Profiles. В iOS он появится в Settings > Profile Downloaded:

Готово! Соединения с VPN-сервером установятся автоматически.

Если захочется временно отключить VPN, чтобы получить доступ, например, к Авито, в macOS зайдите в System Preferences > Network, выберите VPN-соединение и снимите галочку “Connect on Demand”, нажмите Apply.

В iOS: Settings > General > VPN & Device Management > VPN > нажмите на иконку “i” у установленной VPN конфигурации и выключите тумблер “Connect On Demand”. Чтобы вернуться обратно к автоматическому принудительному установлению соединений, соответственно, верните эти галки/тумблеры обратно:

Кстати, в macOS так же стоит поставить галку “Show VPN status in menu bar”. Будет удобно быстро чекать активно ли сейчас VPN-соединение.

Приберемся за собой:

rm mobileconfig. sh
rm iphone. mobileconfig

Если соединения VPN успешно установились, но нет интернета

Скорее всего, ваш хостер переименовал обычно принятый дефолтным сетевой интерфейс eth0 во что-то другое по своему усмотрению (это нормально). И созданные нами правила роутинга iptables просто не могут отработать, поскольку обращаются к интерфейсу, которого нет.

Выполните команду ip addr или ifconfig, чтобы отобразить ваши сетевые интерфейсы:

И если вместо eth0 вы увидите что-то типа ens3, enp0s5 и т. п, как на скриншоте выше, то просто замените через

название eth0 в строках

-A POSTROUTING -s 10. 0/24 -o eth0 -m policy –dir out –pol ipsec -j ACCEPT

-A POSTROUTING -s 10. 0/24 -o eth0 -j MASQUERADE

-A FORWARD -s 10. 0/24 -o eth0 -p tcp -m policy –dir in –pol ipsec -m tcp –tcp-flags SYN,RST SYN -m tcpmss –mss 1361:1536 -j TCPMSS –set-mss 1360

на ваше название интерфейса. Перезагрузите сервер. Интернет заработает.

Прокачаем безопасность SSH (необязательный пункт)

Наш VPN-сервер уже работает и неплохо защищен, однако, я предлагаю еще чуток прокачать безопасность SSH, не вдаваясь в дебри.

Для того, чтобы ботнеты не пытались пробиться к нам по SSH через дефолтный порт, перебирая пароли и оставляя в логах кучу мусора, изменим его на какой-нибудь другой, а также внесем ряд косметических изменений.

Внимание! Не перезапускайте службы SSH и iptables и не перезагружайте машину, пока не пройдете данный раздел до конца, иначе вы потеряете доступ к машине!

Добавим новый 45323 TCP-порт в Lightsail:

Теперь настроим сам SSH:

#Раскомментируем и пропишем новый порт
Port 45323

#Раскомментируем и запретим попытки соединения с пустым паролем
PermitEmptyPasswords no

#Раскомментируем и настроим автоматический разрыв соединения при бездействии через 360 секунд. Это будет полезно, если вы забыли, что у вас на экране осталась активная сессия и отошли от компьютера. Сервер автоматически разорвет SSH-соединение через 6 минут. ClientAliveInterval 360
ClientAliveCountMax 0

Теперь обновим информацию в правилах iptables и заменим старый порт SSH на новый:

Заменим «22» в строке

-A INPUT -p tcp -m tcp –dport 22 -j ACCEPT

-A INPUT -p tcp -m tcp –dport 45323 -j ACCEPT

Сохраним файл через Ctrl+X и перезапустим машину:

После перезагрузки сервера проверьте соединение по SSH, добавив флаг «-p» и новый порт:

Всё должно работать.

Не забудьте удалить старый порт 22 в настройках файрвола Lightsail.

Заключение

Итак, мы с нуля настроили свой собственный защищенный VPN-сервер и получили VPN-конфигурации для всех наших устройств. Теперь весь наш трафик зашифрован и недоступен ни провайдеру, ни администратору Wi-Fi-сети, ни злоумышленникам, которые раньше могли его прослушивать. Теперь мы можем свободно подключаться к любым Wi-Fi сетям, не опасаясь за собственные данные. Кроме того, теперь нам доступны любые заблокированные в стране ресурсы.

Вообще, вы можете создать себе сколько угодно VPN-серверов и переключаться между ними. Если вы часто путешествуете, то можно создать серверы в тех географических зонах, где вы чаще всего бываете: это обеспечит меньший пинг и более высокую скорость передачи данных. Для замера этих параметров удобно использовать приложение Speedtest.

Бывает и так, что для определенной страны какой-либо ресурс недоступен по техническим причинам, в то время как из другой он работает корректно. В этом случае достаточно просто подключиться к другому VPN-серверу.

Делитесь инструкцией с друзьями, распространяйте в соцсетях.

Если вы нашли какие-либо ошибки в статье, пожалуйста, сообщите об этом.

Понравилась статья? Поделиться с друзьями:
sdo.russianpost.ru
Добавить комментарий

Adblock
detector