Налаштування L2TP - клієнта для Linux

Додаткове завдання.

L2TP клієнт запускається за допомогою пакета xl2tpd. Спочатку необхідно перевірити, чи встановлений пакет xl2tp :

xl2tpd -v.

Якщо не отримана відповідь (версія програми), то необхідно встановити пакет xl2tp.

1. $ sudo apt - get install xl2tpd

2. Редагуємо файл /etc/xl2tpd/xl2tpd.conf:

$ sudo gedit /etc/xl2tpd/xl2tpd.conf

Необхідно прописати в нього наступні параметри, якщо відсутні:

[global]

access control = yes

[lac ]

lns = 192.168.0.122

redial = yes

redial timeout = 1

require chap = yes

require authentication = no

name =<s111>

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

require pap = no

autodial = yes

де <s111> - ваше ім'я користувача в chap-secrets.

3. Редагуємо /etc/ppp/options.xl2tpd:

$ sudo gedit /etc/ppp/options.xl2tpd

Прописуємо в нього:

unit 0

name <s111>

remotename l2tp

ipparam 192.168.0.122

connect /bin/true

mru 1460

mtu 1460

nodeflate

nobsdcomp

persist

maxfail 0

nopcomp

noaccomp

defaultroute

replacedefaultroute

4. У /etc/ppp/chap-secrets додаємо рядок (якщо його ще там немає):

s111 * 123 *


5. Вносимо зміни в /etc/init.d/xl2tpd:

$ sudo gedit /etc/init.d/xl2tpd

Необхідно поміняти секцію start таким чином:

start)

if !([ - f /var/run/xl2tpd/l2tp - control ]) ; then

mkdir - p /var/run/xl2tpd

touch /var/run/xl2tpd/l2tp - control

fi

echo - n "Starting $DESC : "

start - stop - daemon --start --quiet --pidfile /var/run/$NAME.pid \

--exec $DAEMON -- $DAEMON_OPTS

echo "$NAME".

 

Захоплення пакетів з допомогою Tcpdump

 

Простий приклад запуску Tcpdump c перенаправленням даних у файл lab10.txt:

tcpdump - i eth0 - n - nn - ttt > lab10.txt

 

Вивчення з’єднання за транспортного режиму IPSec тунелю. Налаштування сервера OpenVPN з операційною системою Linux.

Організація з’єднання OpenVPN сервера за операційною системою Linux з клієнтом на базі операційній системі Windows

OpenVPN

OpenVPN – це система, що дозволяє створювати шифровані тунелі між комп'ютерами за технологією VPN (Virtual Private Network, віртуальна приватна мережа) [1].

Основні плюси цієї системи :

– просте налаштування займає менше години і не вимагає спеціальних знань;

– економія трафіка за допомогою бібліотеки компресії lzo (Lempel - Ziv - Oberhumer);

– безпечне шифрування трафіка ключами завдовжки 1024 біта і вище, а клієнти розділені між собою в окремі підмережі.

Для забезпечення безпеки каналу, що управляє, і потоку даних, OpenVPN використовує бібліотеку OpenSSL. Завдяки цьому задіюється увесь набір шифрів, доступних в цій бібліотеці. Також може використовуватися пакетна авторизація HMAC, для забезпечення більшої безпеки, і апаратне прискорення для поліпшення продуктивності шифрування. Ця бібліотека використовує OpenSSL з протоколами SSLv3/TLSv1. OpenVPN можливо використовувати на базі операційних системах Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX, Microsoft Windows та декількіх інших.

OpenSSL – криптографічний пакет з відкритим початковим кодом для роботи з SSL/TLS. Дозволяє створювати ключі RSA (Rivest, Shamir і Adleman), DH, DSA (Digital Signature Algorithm) і сертифікати X.509, підписувати їх, формувати CSR і CRT. Також є можливість шифрування даних і тестування SSL/TLS з'єднань.

RSA (буквена абревіатура від прізвищ Rivest, Shamir і Adleman) – криптографічний алгоритм з відкритим ключем.

RSA став першим алгоритмом такого типу, придатним і для шифрування, і для цифрового підпису. Алгоритм використовується у великому числі криптографічних застосувань.

На 2009 рік система шифрування на основі RSA вважається надійною, починаючи з розміру в 1024 біта.

Групі учених зі Швейцарії, Японії, Франції, Нідерландів, Німеччини і США вдалося успішно обчислюти дані, зашифровані за допомогою криптографічного ключа стандарту RSA завдовжки 768 біт. За словами дослідників, після їх роботи в якості надійної системи шифрування можна розглядати тільки RSA -ключі довжиною 1024 біта і більше. Причому, від шифрування ключем завдовжки в 1024 біт варто відмовитися в найближчі три-чотири роки.

Система RSA використовується для захисту програмного забезпечення і в схемах цифрового підпису.

DSA (Digital Signature Algorithm) – алгоритм з використанням відкритого ключа для створення електронного підпису, але не для шифрування (на відміну від RSA і схеми Эль-Гамаля). Підпис створюється таємно, але може бути публічно перевірений. Це означає, що тільки один суб'єкт може створити підпис повідомлення, але будь-хто може перевірити його коректність. Алгоритм, заснований на обчислювальній складності узяття логарифмів у кінцевих полях.

Алгоритм був запропонований Національним інститутом стандартів і технологій (США) в серпні 1991 і є запатентованим U.S. Patent 5231668 (англ.), але НИСТ зробив цей патент доступним для використання без ліцензійних відрахувань. Алгоритм разом з криптографічною хеш-функцией SHA – 1 є частиною DSS (Digital Signature Standard), уперше опублікованого в 1994 (документ FIPS – 186 (Federal Information Processing Standards)). Пізніше були опубліковані 2 оновлених версії стандарту: FIPS 186-2 (27 січня 2000 року) і FIPS 186-3(червень 2009).

Стандарт X.509 визначає формати даних і процедури розподілу загальних ключів за допомогою сертифікатів з цифровими підписами, які надаються сертифікаційними органами (CA). RFC 1422 створює основу для PKI на базі X.509.

У діючих стандартах визначений сертифікат X.509 версія 3 і список відгуку сертифікатів (CRL) версія 2.

Шифрований зв'язок досягається цифровим підписом довіреного CA під кожним сертифікатом. Сертифікат має обмежений термін дії, вказаний в його підписаному змісті. Оскільки користувач сертифікату може самостійно перевірити його підпис і термін дії, сертифікати можуть поширюватися через незахищені канали зв'язку і серверні системи, а також зберігатися в кеш-пам'яті незахищених призначених для користувача систем. Зміст сертифікату має бути однаковим в межах усього PKI. Нині в цій області пропонується загальний стандарт для Інтернет з використанням формату X.509 v3: номер версії, серійний номер, емітент, суб'єкт, публічний ключ суб'єкта (алгоритм, ключ), період дії, додаткові (необов'язкові) значення, алгоритм підпису сертифікату, значення підпису сертифікату.

SSL (англ. Secure Sockets Layer – рівень захищених сокетів) – криптографічний протокол, який забезпечує встановлення безпечного з'єднання між клієнтом і сервером. SSL спочатку розроблений компанією Netscape Communications. Згодом, на підставі протоколу SSL 3.0 був розроблений і прийнятий стандарт RFC, що отримав ім'я TLS.

Протокол забезпечує конфіденційність обміну даними між клієнтом і сервером, які використовують TCP/IP, причому, для шифрування використовується асиметричний алгоритм з відкритим ключем. При шифруванні з відкритим ключем використовується два ключі, причому будь-який з них може використовуватися для шифрування повідомлення. Тим самим, якщо використовується один ключ для шифрування, то відповідно для розшифровки треба використовувати інший ключ. У такій ситуації можна отримувати захищені повідомлення, публікуючи відкритий ключ, і зберігаючи в таємниці секретний ключ.

TLS (англ. Transport Layer Security) – криптографічний протокол, що забезпечує захищену передачу даних між вузлами в мережі Інтернет.

TLS - протокол заснований на протоколі Netscape SSL версії 3.0 і складається з двох частин – TLS Record Protocol і TLS Handshake Protocol. Відмінності між SSL 3.0 і TLS 1.0 незначні, тому далі в тексті ті

TLS надає можливості автентифікації і безпечної передачі даних через інтернет з використанням криптографічних засобів. Часто відбувається лише автентифікація сервера, тоді як клієнт залишається не автентифікованим. Для взаємної автентифікації кожна із сторін повинна підтримувати інфраструктуру відкритого ключа (PKI), яка дозволяє захистити клієнт-серверні застосування від перехоплення повідомлень, редагування існуючих повідомлень і створення підробних.

SSL включає три основні фази:

Діалог між сторонами, метою якого є вибір алгоритму шифрування.

Обмін ключами на основі криптосистем з відкритим ключем або автентифікація на основі сертифікатів.

Хід роботи

2.1. Налаштування ядра cервера на ОС Linux

 

Зазначимо, на цьому етапі треба бути украй обережним і уважним. Ядро повинне містити опції подані нижче. На клієнтові потрібні тільки TUN і ipv4.

У ядрі нам знадобиться наступний функціонал, витяги з конфігурації:

CONFIG_NF_NAT=m

CONFIG_NF_NAT_PPTP=m

CONFIG_NETFILTER=y

CONFIG_TUN=m

Ну і розуміється підтримка ipv4, мережевої карти.

Якщо ці опції встановлені, то пропускаємо пункт конфігурація ядра ОС Linux і переходимо до конфігурації OpenVpn.

Збираємо і встановлюємо ядро. Можна скористатися make, make modules, make modules_install. Перезавантажуємося.

Після перезавантаження, перейдемо до установки ПО OpenVpn.

cd /usr/local/src/openvpn – перехід в настановну директорію

configure – задаємо конфігурацію

make – збираємо – створюємо бінарні файли

make install – встановлюємо ПО

 

2.2. Генерація ключів

 

Перейдемо в /еtс/openvpn/easy - rsa/. Відкриємо файл vars і перевіримо нижчеподані параметри, якщо їх немає, то впишемо:

export EASY_RSA="/etc/openvpn/easy - rsa/" #Шлях до easy - rsa.

export KEY_CONFIG='$EASY_RSA/whichopensslcnf $EASY_RSA' #Конфиг OpenSSL

export KEY_DIR="$EASY_RSA/keys" #Каталог, в якому ми триматимемо ключі.

export KEY_SIZE=1024 # Розмір ключа

export CA_EXPIRE=3650 # Термін дії CA

export KEY_EXPIRE=3650 # Термін дії ключа

export KEY_COUNTRY="UA"

export KEY_PROVINCE="UA"

export KEY_CITY="ODAC"

export KEY_ORG="ODAC"

export KEY_EMAIL="me@admin.odac"

Якщо були зміни, то імпортуємо зміни: source ./vars

Тепер створимо ключі, якщо вони створені і не були змінені, то цей пункт пропускаємо.

./clean - all - Очищаємо старі ключі, якщо вони були.

openvpn --genkey --secret ta.key - ключ TLS - auth

./build - dh - ключ Діффі-Хеллмана.

./pkitool --initca – сертифікат автентифікації для сервера.

./pkitool --server vpsrv - сертифікат сервера.

./pkitool vpclient - сертифікат клієнта.

 

Усе, ключі готові.

 

2.3. Налаштування сервера Оpenvpn

 

Переходимо в /etc/openvpn/, відкриваємо openvpn.conf і перевіряємо наступні параметри, якщо якісь параметри відсутні, то змінюємо [2]:

mode server # задаємо режим – сервер;

port 1194 # задаємо порт;

proto tcp # задаємо транспортний протокол;

dev tun # задаємо тип пристрою;

tls - server # задаємо тип сервера;

local 192.168.0.122 # задаємо локальну адресу сервера;

server 192.168.21.0 255.255.255.0 # задаємо діапазон, що виділяється клієнтам під мережу;

keepalive 10 120 # встановлюємо час життя з'єднання;

persist - key # використовуємо постійні ключі;

persist - tun # використовуємо постійне тунель-з'єднання;

status openvpn - status.log # задаємо log файл;

client - config - dir /etc/openvpn/ccd # вказуємо директорію для клієнтських сертифікатів;

push "route 192.168.21.0 255.255.255.0" # задаємо маршрут за замовчуванням;

duplicate - cn # дублюємо cn;

ca /etc/openvpn/keys/ca.crt # кореневий сертифікат

verb 3 # рівень деталізації

cert /etc/openvpn/keys/vpnserver.crt # сертифікат сервера

key /etc/openvpn/keys/vpnserver.key # ключ сервера

dh /etc/openvpn/keys/1.pem # ключ за Діффі-Хеллмана

 

Клієнтові необхідно передати файли:

ca.crt

vpclient.crt

vpclient.key

І їх також записати на сервері в директорії /etc/openvpn/ccd.

Після того, як усі файли перевірені і внесені зміни, необхідно запустити openvpn в режимі сервера.

Можливі варіанти запуску:

openvpn --config /etc/openvpn.conf

openvpn --config /etc/openvpn.conf --dev tunX.

Детальніше можна подивитися за допомогою команди довідки - man openvpn або підказки параметрів - openvpn - h.

Після запуску сервера openvpn потрібно активувати захоплення пакетів за допомогою tcpdump.

Здійснити підключення клієнта openvpn з ОС Windows.

Запустити команду ping на адресу сервера.

Від'єднати підключення.

Зупинити захоплення пакетів.

 








Дата добавления: 2016-05-11; просмотров: 852;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.031 сек.