Донецкий техникум промышленной автоматики

VPN: Захисти себе сам або анонімність в мережі | Інфонік - говоримо про доменах і хостингу без формальностей

  1. Як працює VPN?
  2. переваги VPN
  3. Як самостійно встановити Open VPN на хмарі NIC.UA

Virtual Private Network (віртуальна приватна мережа) захищає конфіденційність користувача в інтернет-просторі. Це схоже на приватну лаунж зону, приховану від сторонніх очей.

VPN забезпечує безпечне з'єднання з мережею через приватну мережу поверх мережі Інтернет. Спільно з HTTPS-з'єднанням це допомагає убезпечити персональні дані від крадіжки. Завдяки VPN можна приховати місцезнаходження або обійти регіональні та державні заборони. Наприклад, якщо у вас виникли складності з використанням Telegram месенджера, і ви не можете написати в нашу публічну групу t.me/nicua_group . У ній наша команда в повному складі оперативно відповідає на питання.

Як працює VPN?

Коли ви підключаєтеся до загальнодоступної мережі Wi-Fi в аеропортах або кафе без VPN, уявіть, що ваші дані проходять через великий тунель разом з даними інших користувачів. Що це означає? Їх можуть перехопити зловмисники. VPN надає «секретний канал» всередині цього загального тунелю. Всі дані в ньому шифруються, щоб ніхто не міг їх розпізнати. Після підключення до VPN, відстежити ваші дії складно. У цьому випадку тільки постачальник VPN і сайт, який ви відвідуєте, можуть стежити за вашим трафіком. Тепер, щоб зайти на веб-сайт, пристрій спочатку відправить запит доступу на VPN-сервер, який відправить запит на веб-сайт. Потім дані будуть відправлені на ваш пристрій. Веб-сайт буде думати, що VPN-сервер є користувачем.

переваги VPN

  1. Вберігає персональні дані від крадіжки.
  2. Приховує ваш IP адреса і місце розташування.
  3. Дозволяє доступ до контенту, який недоступний в конкретній країні або регіоні.
  4. Забезпечує єдине мережеве середовище для корпорації, офіси якої знаходяться в різних частинах світу.
  5. Забезпечує прямий доступ до корпоративної мережі співробітнику, який не перебуває у офісі. Все виглядає так, ніби ви протягнули мережевий кабель з офісу в будинок. Всі офісні ресурси (принтери, комп'ютери колег, файл-сервери) стають доступними.
  6. Економить витрати на окремі виділені лінії для кожного користувача (співробітника).

недоліки VPN

  1. Швидкість доступу інтернету при використанні VPN провайдера може бути нижче, ніж без нього. Перш за все, це стосується безкоштовних VPN.
  2. Технічні неполадки в роботі невеликих і маловідомих VPN провайдерів.
  3. Уявна анонімність. Не забувайте, що VPN провайдер може відстежувати ваші дії в мережі, хоча відкрито про це ніхто не говорить. Читайте уважно ліцензійні угоди. Не забувайте, що особистість користувача можна встановити за банківськими картками або через гаманці платіжних систем.

Отримай макісмум від хмари на NIC.UA

Радимо вам установити OpenVPN на власному хмарі NIC.UA.

  1. Для початку необхідно вибрати і сплатити власне хмара .
  2. Після цього в особистому кабінеті в розділі «Облік» у вас з'явиться назва вашого хмари і кнопка «Панель». Через неї ви зможете управляти своїм хмарним сервером. Вам необхідно створити підписку і налаштувати віртуальну мережу. Детальніше про те, як це зробити, читай у нас в базі знань NIC.UA .
  3. На етапі створення віртуальної машини ви можете вибрати ОС: Ubuntu, Debian, CentOS або Fedora.
  4. З оздаем правило в мережі, щоб віддалено підключитися до віртуальної машини по SSH. Детальніше про це, читай в нашій статті .

Тепер ви можете скористатися нашим готовим сценарієм Install_openvpn.

  1. Скачайте і розпакуйте на сервері архів Install_openvpn.tar
  2. Запустіть файл install_openvpn.sh
  3. Дочекайтеся закінчення роботи сценарію

В результаті, ви отримаєте встановлений і налаштований ОpenVPN у себе на хмарі, а також файл конфігурацій для підключення до нього в якості клієнта. Файл необхідно буде вказати обраної вами клієнтській програмі.

Як самостійно встановити Open VPN на хмарі NIC.UA

Нижче ми розповімо, як налаштувати OpenVPN сервер, щоб самостійно створити зашифроване з'єднання.

Вимоги. Сервер з ОС Ubuntu 16.04 (за бажанням можна використовувати Debian, CentOS або Fedora)

Крок 1. Встановлення необхідного програмного забезпечення для роботи OpenVPN.

Команди необхідно виконувати від імені користувача root. Якщо ви працюєте від імені іншого користувача, використовуйте команду sudo. Для установки серверної частини поновіть репозиторій і встановіть необхідне програмне забезпечення.

Для Ubuntu і Debian:

apt-get update apt-get install -y openvpn easy-rsa

Для CentOS і Fedora:

yum update yum install -y openvpn easy-rsa

Крок 2. Налаштування параметрів утиліти easy-rsa.

Для зручності, змінимо робочу директорію на easy-rsa:

cd / usr / share / easy-rsa

Примітка: Ч об дізнатися, де встановився easy-rsa, скористайтеся командою whereis easy-rsa

Змінимо параметр KEY_NAME в файлі змінних vars. Для цього скористайтеся будь-яким редактором, наприклад nano (vi, mcedit):

mcedit vars

Знаходимо рядок з потрібним параметром і наводимо її до виду:

export KEY_NAME = "server"

Примітка: замість ручного редагування файлу можна використовувати команду:

sed -i 's / export KEY_NAME \ = \ ". * \" / export KEY_NAME \ = \ "server \" /' vars

За бажанням, можна змінити такі параметри, як країна, адреса (на роботу OpenVPN дані параметри не впливають).

Крок 3. Створення сертифіката, генерація RSA-ключів.

Експортуємо змінні з файлу vars

source vars

Очистимо всі сертифікати

./clean-all

Створимо кореневий сертифікат на основі файлу vars, на всі питання в процесі створення натискаємо Enter

./build-ca

Створимо сертифікат OpenVPN і RSA-ключі для сервера. RSA-ключі використовуються для аутентифікації користувачів.

./build-key-server server

На всі запити натискаємо Enter. Поки не побачимо запит:

Certificate is to be certified until May 1 17:51:16 2026 GMT (3650 days) Sign the certificate? [y / n]:

Вводимо "y" і натискаємо Enter.

На наступний запит: 1 out of 1 certificate requests certified, commit? [y / n]

Також вводимо "y" і натискаємо Enter.

Створюємо ключ Діффі-Хеллмана. Ці ключі використовуються для шифрування вмісту пакетів. Створення може зайняти кілька хвилин (в цей час в термінал будуть виводиться символи "." І "+". Так і повинно бути, значить все йде нормально.

./build-dh

Створюємо сертифікат і ключ клієнта. Натискаємо Enter на всі запити в процесі створення (client1 можна замінити на інше ім'я, але тоді його треба врахувати в наступних кроках налаштування)

./build-key client1

Створюємо підпис HMAC, для перевірки конфігурації, щоб дати сервера можливість перевіряти цілісність пакетів.

openvpn --genkey --secret keys / ta.key

Крок 4. Підготовка файлів конфігурації.

Щоб дізнатися локальний адресу, можна скористатися командами ifconfig, ip addr або hostname -I

Для зручності можна виконати команду, яка виведе саме той IP адреса, який нам потрібен:

ip addr | grep "scope global" | grep -v -E "tun | tap" | grep -oE "\ b ([0-9] {1,3} \.) {3} [0-9] {1 , 3} \ b "| head -1

У прикладі ми використовуємо адресу 192.168.0.2

Встановлюємо в файлі servers.conf опцію local для запуску на IP адресу вашого сервера.

Нижче наведено робочий приклад конфігурації сервера, можна зберегти його під ім'ям server.conf

mcedit server.conf local 192.168.0.2 port тисячу сто дев'яносто чотири # Протокол може бути UDP або TCP. proto udp # У разі використання протоколу UDP: dev tun # У разі використання протоколу TCP: dev tap # Вказуємо місцезнаходження ключів для сервера. ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key # This file should be kept secret dh / etc / openvpn / keys / dh2048. pem # Задаємо IP і маску віртуальної мережі. У більшості випадків, ви можете не змінювати ці значення. server 10.8.0.0 255.255.255.0 # Вказуємо, де зберігаються файли з настройками IP-адрес клієнтів. ; Client-config-dir ccd # Включаємо запам'ятовування динамічно виданих адрес для VPN-клієнтів. ifconfig-pool-persist ipp.txt # Вказуємо мережі, до яких потрібно підключатися через тунель. За замовчуванням, в список внесені всі мережі. route 192.168.0.0 255.255.255.0 # Включаємо TLS t ls-server tls-auth /etc/openvpn/keys/ta.key 0 tls-timeout 120 auth SHA256 cipher AES-128-CBC # Якщо потрібно, щоб комп'ютери клієнтів вважали, що вони в локальній мережі і «бачили» один одного, видаляємо ";" в наступному рядку. ; Client-to-client keepalive 10 120 # Включаємо стиснення трафіку. comp-lzo # Визначаємо максимум одночасно підключених клієнтів. max-clients 10 user nobody group nogroup # Забороняємо перечитувати ключі, а також закривати і перевідкривати TUN \ TAP пристрій після отримання команд SIGUSR1 або ping-restart. persist-key persist-tun # Визначаємо, де буде зберігатися журнал. status openvpn-status.log log /var/log/openvpn.log # Визначаємо, наскільки докладним буде журнал. verb 3 # Визначаємо число однакових повідомлень поспіль. mute 20 # Щоб відкликати будь-якої сертифікат, видаліть ";" в рядку нижче і змініть адресу на адресу сертифіката. ; crl-verify /etc/openvpn/crl.pem # Дозволяємо VPN-сервера примусово перемикати клієнтів на VPN-з'єднання. push "redirect-gateway def1 bypass-dhcp" # Дозволяємо VPN-серверу передавати адресу внутрішнього DNS-сервера для перемикання клієнтів на VPN-з'єднання. push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

Зберігаємо файл і закриваємо редактор. Копіюємо конфігурацію в робочий каталог.

cp server.conf / etc / openvpn

Копіюємо сертифікати в робочий каталог.

cp -r ./keys / etc / openvpn

Крок 5. Запуск і управління сервером OpenVPN.

Запускаємо сервер.

systemctl start openvpn @ server

Перевіряємо статус сервера.

systemctl status openvpn @ server

Якщо сервер запустився, додаємо його в автозавантаження.

systemctl enable openvpn @ server

Для зупинки сервера можна використовувати команду

systemctl stop openvpn @ server

Крок 6. Створення конфігураційного файлу для клієнтських програм.

Створюємо директорію для конфігурації користувачів.

mkdir / etc / openvpn / client-configs /

Дізнаємося зовнішній адресу вашого сервера, наприклад на сайті https://dig.ua/search/myip.html

Або можна скористатися командою:

curl https://www.iplocation.net/ | grep "Your public IP Address is" | grep -oE "\ b ([0-9] {1,3} \.) {3} [0-9] { 1,3} \ b "

Створюємо файл client.conf. Приклад вмісту представлений нижче.
Додаємо в файл client.conf опцію remote і вписуємо свій зовнішній IP адреса замість 111.222.333.444

mcedit client.conf client dev tun proto udp remote

111.222.333.444 тисячі сто дев'яносто чотири resolv-retry infinite user nobody group nogroup #ca /etc/openvpn/keys/ca.crt #cert /etc/openvpn/keys/client.crt #key / etc /openvpn/keys/client.key tls-client tls-auth /etc/openvpn/keys/ta.key 1 auth SHA256 cipher AES-128-CBC remote-cert-tls server comp-lzo persist-key persist-tun key- direction 1 status openvpn-status.log #log /var/log/openvpn.log verb 3 mute 20

Якщо клієнти працюють на Linux і використовують файл / etc / openvpn / update-resolv-conf - розкоментуйте ці рядки.

# Script-security 2 # up / etc / openvpn / update-resolv-conf # down / etc / openvpn / update-resolv-conf

Можна створити сценарій створення конфігурації для клієнта на основі раніше створених конфігурацій. Сертифікати і конфігурацію об'єднуємо в один файл для зручності.

mcedit client.sh #! / bin / bash # Перший аргумент: Ідентифікатор клієнта KEY_DIR = / etc / openvpn / keys OUTPUT_DIR = / etc / openvpn / client-configs BASE_CONFIG =. / client.conf cat $ {BASE_CONFIG} \ <(echo -e '<ca>') \ $ {KEY_DIR} /ca.crt \ <(echo -e '</ ca> \ n <cert>') \ $ {KEY_DIR} / $ {1} .crt \ <( echo -e '</ cert> \ n <key>') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '</ key> \ n <tls-auth>') \ $ { KEY_DIR} /ta.key \ <(echo -e '</ tls-auth>') \> $ {OUTPUT_DIR} / $ {1} .ovpn

Зберігаємо файл і закриваємо редактор.

Надаємо права на виконання.

chmod + x client.sh

Запускаємо автоматичну збірку конфігурації.

./client.sh client1

Крок 7. Налаштування firewall для роботи OpenVPN.

Включаємо на сервері ip_forward
Для цього потрібно в файлі /etc/sysctl.conf розкоментувати рядок

# Net.ipv4.ip_forward = 1

Або можна скористатися командою:

#sed -i 's / \ # net \ .ipv4 \ .ip \ _forward \ = 1 / net \ .ipv4 \ .ip \ _forward \ = 1 /' /etc/sysctl.conf

Застосовуємо настройки.

sysctl -p

Додаємо правило в firewall, якщо ви скористалися наданою конфігурацією, то IP адреса міняти не потрібно

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j

MASQUERADE

Зберігаємо налаштування firewall.

iptables-save /etc/network/iptables.save

Додаємо в файл /etc/rc.local перед exit 0

mcedit /etc/rc.localiptables-restore </etc/network/iptables.save

У цій статті ми розглянули як виконується установка і настройка OpenVPN, а також як налаштувати openvpn для роботи з аутентифікацією по ключу. Якщо ви хочете захистити свої дані від крадіжки і не залежати від державних блокувань, ми рекомендуємо встановити VPN.

Якщо у вас не виходить налаштувати своє хмара, наші адміністратори з радістю допоможуть вам у цьому. просто замовте послугу настройки сервера .

Як працює VPN?
Як працює VPN?
Що це означає?