Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Встановлення OpenVPN серверу




root@router ~ # apt-get install openvpn

 

Створення сертифікатів і ключів для OpenVPN

Для функціонування OpenVPN необхідний сертифікат сервера і сертифікати клієнтів, випущені одним Центром Сертифікації (Certification Authority, CA), тобто потрібно інфраструктура відкритих ключів (Public Key Infrastructure, PKI). Найпростіший спосіб отримати ці сертифікати, це скористатися входять в пакет набором скриптів easy-rsa на OpenVPN сервері, який буде приймати вхідні підключення.

Пакет openvpn надає набір скриптів називаються easy-rsa. За замовчуванням, ці скрипти знаходяться в каталозі / usr / share / easy-rsa /. Однак, вони повинні знаходиться в / etc / openvpn щоб працювати без проблем. Скопіюємо ці файли:

cp -R / usr / share / easy-rsa / / etc / openvpn

Тепер необхідні для налаштування OpenVPN PKI файли тепер знаходяться в каталозі / etc / openvpn / easy-rsa /. Вони знадобляться для створення ключів і сертифікатів.


Налаштування змінних для OpenVPN PKI

Щоб менше набирати у подальших діях, варто внести кілька виправлень у файл / etc / openvpn / easy-rsa / vars. У самому кінці файлу знаходиться кілька рядків визначають вміст створюваних сертифікатів.

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

· export KEY_CONFIG = "$ EASY_RSA / openssl.cnf" # Конфиг OpenSSL

· export KEY_DIR = "/ etc / openvpn / vpnet / keys" # Каталог, в якому ми будемо тримати ключі.

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

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

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

· export KEY_COUNTRY = "UA" # Двобуквений код країни

· export KEY_PROVINCE = "Odesskaa" # Province, не актуально

· export KEY_CITY = "Odessa" # Місто

· export KEY_ORG = "PowerWare" # Компанія

· export KEY_CN = ""

· export KEY_EMAIL = "PowerWare @ mail.ru"

KEY_CN, тобто Common Name сертифікату необхідно буде вказувати своє для кожного сертифіката, таким чином варто залишити це напів порожнім, або ввести щось, що буде в будь-якому сертифікаті.

 

Iніціалізація інфраструктури відкритих ключів (PKI) для OpenVPN

Наступні команди инициализируют Центр Сертифікації (CA) і PKI:

  • cd / etc / openvpn / easy-rsa /
  • source vars
  • ./clean-all
  • ./build-ca

Остання команда запустить генерацію сертифікату Центру Сертифікації (CA), задавши попередньо кілька питань, на більшість з яких було отвечено при внесенні змін у файл / etc / openvpn / easy-rsa / vars. Лише Common Name сертифікату має бути унікальним.

cd /etc/openvpn/easy-rsa/

source vars

NOTE: If you run./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

./clean-all

./build-ca

Generating a 1024 bit RSA private key

...........................................++++++

.++++++

writing new private key to 'ca.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [RU]:

State or Province Name (full name) [YourProvince]:

Locality Name (eg, city) [YourCity]:

Organization Name (eg, company) [YourCompany]:

Organizational Unit Name (eg, section) [OrganisationUnit]:

Common Name (eg, your name or your server's hostname) [CommonName]:CompanyOpenVPNRCA

Name [KeyName]:CompanyOpenVPNRCA

Email Address [mail@example.com]:

 

В результаті буде згенеровано два файли: ca.crt з сертифікатом центру сертифікації та ca.key з приватним ключем. Важливо переконатися, що права на читання приватного ключа є тільки у root. Це ключ центру сертифікації, і він не повинен бути скомпрометований, інакше доведеться перевипустити всі сертифікати, так як зловмисник заволодів таким сертифікатом зможе підключитися до OpenVPN сервера.

 

Створення сертифіката сервера OpenVPN

Випуск сертифікату сервера виконується за допомогою команди:

./build-key-server server

по-замовчуванню, Common Name сертифікату буде «server», що в більшості випадків дуже незручно, і варто встановити Common Name, наприклад, в FQDN ім'я OpenVPN сервера. Додатково запитувані challenge password і optional company name залишимо порожніми../build-key-server

 

Generating a 1024 bit RSA private key

.................++++++

.........++++++

writing new private key to 'router1.example.com.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [RU]:

State or Province Name (full name) [YourProvince]:

Locality Name (eg, city) [YourCity]:

Organization Name (eg, company) [YourCompany]:

Organizational Unit Name (eg, section) [OrganisationUnit]:

Common Name (eg, your name or your server's hostname) [router1.example.com]:

Name [KeyName]:router1.example.com

Email Address [mail@example.com]:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName:PRINTABLE:'UA'

stateOrProvinceName:PRINTABLE:'Odesskaa'

localityName:PRINTABLE:'Odessa'

organizationName:PRINTABLE:'PowerWare'

organizationalUnitName:PRINTABLE:'OrganisationUnit'

commonName:PRINTABLE:''

name:PRINTABLE:'Filial1'

emailAddress:IA5STRING:'Filial1'

Certificate is to be certified until Jan 31 21:33:25 2022 GMT (3650 days)

Sign the certificate? [y/n]: y

 

1 out of 1 certificate requests certified, commit? [y/n] y

Write out database with 1 new entries

Data Base Updated

 

В результаті буде створено три файли Filial1.com.csr c кодом запиту сертифіката, Filial1.com.key з приватним ключем сертифікату та Filial1.com.crt з випущеним сертифікатом. Також важливо переконається, що файл з приватним ключем доступний на читання тільки для root. Це ключ і сертифікат сервера OpenVPN.

 

Створення сертифікатів клієнтів

Сертифікати клієнтів випускаються аналогічно:

./build-key PowerWare Filial 1

Кожне клієнтське підключення повинно мати свій унікальний ключ з унікальним ім'ям. Вся інша інформація може бути однаковою. Користувачів можна буде додати в будь-який час../build-key user_office2

Generating a 1024 bit RSA private key

...++++++

...............................++++++

writing new private key to 'user_office2.key'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [UA]:

State or Province Name (full name) [YourProvince]:

Locality Name (eg, city) [YourCity]:

Organization Name (eg, company) [YourCompany]:

Organizational Unit Name (eg, section) [OrganisationUnit]:

Common Name (eg, your name or your server's hostname) [user_office2]:

Name [KeyName]:user_office2

Email Address [mail@example.com]:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName:PRINTABLE:'UA'

stateOrProvinceName:PRINTABLE:'Kievskaa'

localityName:PRINTABLE:'Kiev'

organizationName:PRINTABLE:'PowerWare'

organizationalUnitName:PRINTABLE:'OrganisationUnit'

commonName:T61STRING:'Filial2'

name:T61STRING:'Filial2'

emailAddress:IA5STRING:'PowerWare@mail.com'

Certificate is to be certified until Jan 31 21:50:09 2022 GMT (3650 days)

Sign the certificate? [y/n]: y

 

1 out of 1 certificate requests certified, commit? [y/n] y

Write out database with 1 new entries

Data Base Updated

 

В результаті буде створено три файли Filials2.csr c кодом запиту сертифіката, Filial2.key з приватним ключем сертифікату та Filial2.crt з випущеним сертифікатом. Також важливо переконається, що файл з приватним ключем доступний на читання тільки для root. Це ключ і сертифікат клієнта сервера OpenVPN.

 

Генерація Diffie Hellman параметрів

Diffie Hellman параметри визначають метод авторизації та обміну ключами використовуваний OpenVPN сервером. Наступна команда створює ці параметри:. / build-dh

Це може тривати відносно довго../build-dh

Generating DH parameters, 1024 bit long safe prime, generator 2

This is going to take a long time

.........+............+.............................................................

...................+............................................................+...

.......................+.................................................

 

Переміщення ключів

Всі створені ключі та сертифікати зараз знаходяться в каталозі / etc / openvpn / easy-rsa / keys /. Їх необхідно перемістити.

Сервера OpenVPN знадобиться сертифікат центру сертифікації, сертифікат і ключ сервера а також параметри Diffie Hellman. У разі вищеописаного прикладу, це файли:

  • ca.crt
  • dh1024.pem
  • Filial1.com.crt
  • Filial1.com.key

Ці файли необхідно скопіювати в каталог / etc / openvpn / на цьому ж хості:

cd /etc/openvpn/easy-rsa/keys

cp ca.crt dh1024.pem Filial1.com.crt Filial1.com.key/etc/openvpn

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

  • ca.crt
  • Filial2.crt
  • Filial2.key

Приватний ключ центру сертифікації копіювати не слід! Мало того, у разі якщо відбудеться витік приватного ключа центру сертифікації, то буде необхідно перевипустити всі сертифікати.

 




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


Дата добавления: 2015-06-29; Просмотров: 30709; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.