You are on page 1of 10

Лабораторна робота 2. Реалізація VPN на основі OpenVPN.

Мета лабораторної роботи: Метою цієї лабораторної роботи є навчання


студентів налаштовувати та розгортати віртуальну приватну мережу (VPN) на
основі OpenVPN. Студенти здійснюватимуть налаштування як на серверній, так
і на клієнтській стороні VPN, вивчатимуть процес забезпечення безпеки
з’єднання та тестуватимуть його працездатність.

Крок 1.Підготовка робочого середовища

Рисунок 1. Реєстрація аккаунту в OpenVPN

Рисунок 2. Вигляд онлайн застосунку OpenVPN


Крок 2. Налаштування сервера OpenVPN
Для того, щоб можна було розпочати роботу впершу чергу потрібно
згенерувати secret-key, це ми робимо за допмогою командного рядка та
команди openvpn.exe --genkey --secret static.key.

Рисунок 3. Створення секретного ключа

Рисунок 4. Приклад секретного ключа


Далі ми створюємо конфігураційний файл, який бути мати такий вміст:
# OpenVPN server configuration file

# Port number to listen for incoming connections


port 1194

# Protocol to use
proto tcp

# IP address to listen on
# (optional, defaults to any IP address)
#ipaddr 192.168.0.1

# Ciphers to use
cipher AES-256-GCM
# Authentication method to use
auth SHA512

# Certificate authority file


ca /etc/openvpn/ca.crt

# Server certificate file


cert /etc/openvpn/server.crt

# Server key file


key /etc/openvpn/server.key

# Diffie-Hellman parameters
dh /etc/openvpn/dh.pem

# Configure logging
log-append /var/log/openvpn.log
verb 3

# Allow connections from anywhere


# (optional, defaults to only allowing connections from the local network)
#client-connect /etc/openvpn/client-connect.sh

Зберігаємо даний файл, та потім використовуємо його для того, щоб


створити VPN-підключення

Рисунок 5. Створення VPN-підключення


Щоб дозволити трафік між інтерфейсами Home і OpenVPN0, які мають
приватний рівень безпеки, виконайте команду: no isolate-private. Також я
застосую команду ip nat 10.1.0.2 255.255.255.255 для того, щоб цей сервер
використовувати для підключення до інтернет мережі. Після чого виконуємо
команду system configuration save для того щоб зберегти всі внесені зміни.

Рисунок 6. Збереження налаштувань в системі серверу


Після збереження конфігурації необхідно відкрити порт для підключення
OpenVPN. Для цього потрібно створити правило для інтерфейсу «Провайдер»
або для інтерфейсу, який використовується для доступу до Інтернету на
сторінці «Міжмережевий екран»

Рисунок 7. Додавання правила мережевого екрану


Далі слід згенерувати сертифікати серера та клієнта за допомогою
команди:
sudo openvpn --genkey --secret /etc/openvpn/ta.key
sudo openvpn --genca --batch --out /etc/openvpn/ca.crt
sudo openvpn --genkey --server --secret /etc/openvpn/server.key --ca
/etc/openvpn/ca.crt --dh /etc/openvpn/dh.pem –out
/etc/openvpn/server.crt
Після створення сертифікатів можна перейти до налаштування фаєрволу
за допомогою команди :
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

# Redirect all traffic from the VPN interface to the LAN interface
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Завершивши налаштування серверної частини, можна запустити
OpenVPN за допомогою команди: openvpn --config /etc/openvpn/server.conf

Рисунок 8. Налаштоване серверне підключення в OpenVPN

Крок 3. Налаштування клієнтського OpenVPN


Для того, щоб додати клієнтського користувача в OpenVPN потрібно
перейти на сторінку користувачів, та там користуючись даними потенційного
користувача додати його до створеної мережі.
Рисунок 9. Додавання користувача
Після чого користувачу на пошту прийде лист із інформацією про
запрошення до під’єднання в нову мережу, а також особисті дані, які потрібні
для майбутнього підлкючення:

Рисунок 10. Лист запрошення


Або ж можна створити файл конфігурації для клієнта client.ovpn з таким
вмістом:
conf
Copy code
client
dev tun
proto udp
remote your_server_ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
Після чого провести копіювання сертифікатів та ключів на клієнтський
комп’ютер та провести запуск створеного файлу конфігурації за допомогою
команди: openvpn --config client.ovpn
Крок 4. Забезпечення безпеки VPN
Для того, щоб забезпечити безпечну роботу даної мережі слід
дотримуватися таких пунктів:

1. Використання Логіну та Пароля:


 В конфігураційному файлі сервера можна створити опції для
використання логіну та пароля. Для цього слід застосувати таку
команду auth-user-pass-verify /etc/openvpn/auth.sh via-env, яка буде
використовувати скрипт для перевірки логіну та паролю.
Приклад коду скрипта auth.sh:
#!/bin/bash
# Перевірка кількості аргументів
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <username> <password>"
exit 1
fi
# Зчитування логіну та пароля
username=$1
password=$2
# Перевірка логіну та пароля (приклад: логін - user,
пароль - pass)
if [ "$username" == "user" ] && [ "$password" ==
"pass" ]; then
exit 0 # Все в порядку, аутентифікація пройшла
успішно
else
exit 1 # Помилка аутентифікації
fi
2. Використання сертифікатів:
 Додайте аутентифікацію через сертифікати. Слід використовувати
пароль захисту сертифікату для додаткового рівня безпеки. Для цього
потрібно використовувати наступну команду:
auth-user-pass-verify /etc/openvpn/auth.sh via-env
cert client-cert.crt
key client-key.key
Також одним із методів покращення рівня безпеки мережі VPN є
покращення шифрування. Слід уділяти увагу до вибору криптографії, адже
сильні алгоритми шифрування виконують своє завдання набагато краще, тому
слід обирати саме їх, для цього слід виконати наступну команду:
cipher AES-256-CBC
auth SHA256
Ще слід захистити процес обміну ключами, особливо при використанні pre-
shared ключів, для цього можна виконати наступну команду: tls-auth
ta.key 0

Висновок: у цій лабораторній роботі було розглянуто налаштування


серверної та клієнтської частин OpenVPN. Були розглянуті такі аспекти безпеки
VPN, як функції аутентифікації, шифрування та захист від атак. Було також
розглянуто налаштування файрволу на сервері та клієнтському комп'ютері.
Питання для дослідження
1. Що таке віртуальна приватна мережа (VPN) і для чого вона
використовується?
Віртуальна приватна мережа (VPN) - це технологія, яка дозволяє
створювати зашифроване з'єднання між двома або більше пристроями через
Інтернет. VPN створює віртуальний тунельний канал, який пропускає весь
трафік між пристроями, захищаючи його від стороннього перехоплення.
2. Які переваги та можливі ризики пов’язані з використанням OpenVPN
для створенняVPN?
- безпека: OpenVPN застосовує сильне шифрування для того щоб надати
захист для даних, які передаються через Інтернет.
- конфіденційність: OpenVPN надає можливість використовувати свої
функції для захисту конфіденційної інформації.
- доступність: OpenVPN може використовуватися для доступу до ресурсів,
які недоступні з вашого поточного розташування.
- мобільність: OpenVPN можна використовувати на будь-якому пристрої,
який підтримує OpenVPN-клієнт.
- безкоштовність: OpenVPN є безкоштовним і відкритим програмним
забезпеченням.
3. Як налаштувати серверну частину OpenVPN?
Щоб налаштувати серверну частину OpenVPN, вам потрібно виконати такі
кроки:
- потрібно встановити програмне забезпечення OpenVPN.
- слід створити конфігураційний файл сервера. Конфігураційний файл
сервера повинен містити інформацію, необхідну для роботи OpenVPN,
наприклад IP-адресу сервера, порт, шифрування, сертифікати та інші
налаштування.
- необхідно згенерувати сертифікати сервера та клієнта. Сертифікати
забезпечують безпеку з'єднань OpenVPN. Їх можна створити за
допомогою інструменту OpenSSL, який входить до складу OpenVPN.
- провести налаштування правил файрволу. Правила файрволу дозволяють
OpenVPN працювати належним чином. Для налаштування правил
файрволу можна використати стандартний файрвол операційної системи.
4. Як налаштувати клієнтську частину OpenVPN?
- потрібно встановити програмне забезпечення OpenVPN.
- слід створити конфігураційний файл клієнта. Конфігураційний файл
клієнта містить інформацію, необхідну для підключення до сервера
OpenVPN, наприклад IP-адресу сервера, порт, шифрування та інші
налаштування.
- необхідно умпортувати сертифікати сервера. Сертифікати сервера
забезпечують безпеку з'єднань OpenVPN. Для того щоб імпортувати
сертифікати сервера можна використати клієнтське програмне
забезпечення OpenVPN.
5. Як забезпечити безпеку з’єднання у VPN?
- потрібно використовувати міцне шифрування. OpenVPN підтримує
широкий спектр алгоритмів шифрування. Використовуйте найновіший і
найбезпечніший алгоритм, який підтримується вашим клієнтським
програмним забезпеченням.
- слід використовувати аутентифікацію на основі сертифікатів.
Аутентифікація на основі сертифікатів забезпечує більший рівень
безпеки, ніж аутентифікація на основі паролів.
- необхідно налаштувати правила файрволу. Правила файрволу дозволяють
OpenVPN працювати належним чином і захищають VPN-трафік від
несанкціонованого доступу.
- виконувати збереження своїх сертифікатів в безпечному місці.
Сертифікати містять конфіденційну інформацію, тому важливо зберігати
їх в безпечному місці.

You might also like