Openvpn sertifikatı və açar faylları. Biz konfiqurasiyanı yekunlaşdırırıq və ya hər biri üçün. OpenVPN Şəbəkə Komponentləri

Virtual şəxsi şəbəkə. Onun köməyi ilə biz:

  • Biz oturarkən təhlükəsiz bir əlaqə kanalı yaradın pulsuz Wi-Fi bir kafedə.
  • Şəbəkə iştirakçıları arasında fayl mübadiləsi.
  • Ümumi şlüzdən istifadə edərək İnterneti paylayın.

Əsas üstünlüklər:

  • Quraşdırmaq asandır.
  • Təhlükəsizlik.
  • Əlavə avadanlıq tələb etmir.
  • Yüksək sürət və sabitlik.

Linux-da OpenVPN-in quraşdırılması ilə bağlı məqalənin müəllifi kimi, mən də normal bir məqalə, hətta hər şeyi ən xırda detallarına qədər təsvir edən məqalə tapmadım. Habrahabr haqqında bu məqalədə hər şeyi mümkün qədər aydın şəkildə izah etməyə çalışacağam. Beləliklə, gedək!

Dağıtım yükləyin.

Yazı zamanı mövcud versiya 2.3.2 . Yüklə Windows quraşdırıcısıƏməliyyat sisteminizin bit ölçüsündən asılı olaraq 32 və ya 64 bit versiya.

Quraşdırma.

Quraşdırarkən, sürücünün quraşdırılmasını xahiş etdikdə müsbət cavab verdiyimizə əmin olun. Sistemdə yeni virtual şəbəkə adapteri görünəcək.

Sertifikatların və açarların yaradılması.

Bir vaxtlar bu məqam məni dayandırdı, deyirlər, yaxşı, açarlar bunlardır, gedib daha sadə bir şey axtaracağam. Ancaq təəssüf ki, daha yaxşısını tapmadım. Beləliklə, C:\Program files\OpenVPN\easy-rsa-ya keçin, init-config.bat-ı işə salın, vars.bat görünəcək, onu Notepad-da açın. Biz ən altındakı sətirlərlə maraqlanırıq, onları istədiyiniz kimi doldurmaq lazımdır; Məsələn:
KEY_COUNTRY=RU təyin edin
təyin KEY_PROVINCE=Baldur
təyin edin KEY_CITY=Piter
KEY_ORG=OpenVPN təyin edin
təyin edin
KEY_CN=server təyin edin
KEY_NAME=server təyin edin
KEY_OU=ouou təyin edin

Harada yazılıb server toxunma. Saxlandı.
İndi openssl-1.0.0.cnf-i açın və default_days 365 xəttini axtarın, onu 3650-yə təyin edin. Bu, sertifikatlarımızın ömrünü 10 il uzadacaq. Saxla. Sonra açırıq komanda xətti start-standard-command line (Windows Vista/7/8-də administrator olaraq) ardıcıl olaraq yazın:

cd C:\OpenVPN\easy-rsa
vars
hər şeyi təmiz

Cavabda iki dəfə “Fayllar kopyalandı: 1” yazılmalıdır. Beləliklə, hər şey qaydasındadır. Eyni pəncərədə yazırıq:
qurmaq-dh
Diffie-Hellman açarı yaradacaq.
qurmaq-ca
İlkin sertifikat yaradacaq.
Suallar veriləcək, C:\Program files\OpenVPN\easy-rsa yolunu görənə qədər Enter düyməsini sıxmağınız kifayətdir. Sonra yazırıq:
əsas server qurmaq
Suallarınız üçün Enter düyməsini basın, sadəcə vaxtınızı ayırın! Sonda iki sual olacaq: “Sertifikatı imzalayın?” və “1 sertifikat sorğusundan 1-i təsdiqləndi, yerinə yetirildi?”, hər iki suala Y cavabını verin. İndi müştəri sertifikatı yaradaq:
əsas müştəri
Burada ümumi ad soruşduqda daha diqqətli olmalısınız (məsələn, adınız və ya serverinizin ana adı), müştəri daxil etməlisiniz. Sonda həmçinin iki dəfə Y var. Hər bir müştəri üçün yeni sertifikat yaratmalısınız, yalnız fərqli bir adla, məsələn, build-key client1 və onu ümumi adda göstərməlisiniz. Hər şeyi düzgün etmisinizsə, nəfəs ala bilərsiniz! Ən çətin hissəsi bitdi. Qovluqda C:\Program Files\OpenVPN\easy-rsa\keyləri götürürük: ca.crt, dh1024.pem, server.crt, server.key və onları C:\Program Files\OpenVPN\config.

Biz konfiqurasiya yaradırıq.

C:\Program Files\OpenVPN\config-ə keçin, yaradın mətn sənədi, daxil edin:
# L3 tunelini qaldırın
dev melodiya
#Protokol
proto udp
# VPN-in dinlədiyi port
port 12345
# Açarlar və sertifikatlar
caca.crt
cert server.crt
açar server.key
dh dh1024.pem
# Kobud desək, biz ünvanları saxlayırıq
topologiya alt şəbəkəsi
# Ünvan hovuzu
server 10.8.0.0 255.255.255.0
# Şifrələmə üsulu
şifrə AES-128-CBC
# Sıxılma
komp-lzo
# Pingi bir az təkmilləşdirin
mssfix
# Müştərilərin ömrü, cavab verilmədikdə - əlaqəni kəsir
yaşatmaq 10 120
# Debug səviyyəsi
fel 3

Faylı server.ovpn olaraq yadda saxlayın. Bu bizim server konfiqurasiyamızdır. İndi serveri işə salmağa çalışaq. İş masasında qısa yol olacaq OpenVPN Gui. Başladıqdan sonra qabda qırmızı bir işarə görünəcək. Bunun üzərinə iki dəfə klikləyirik, əgər yaşıl yanırsa, onda hər şey yaxşıdır, yoxsa, log qovluğundakı jurnala baxın.

İndi müştəri konfiqurasiyası:
müştəri
dev melodiya
proto udp
# Server ünvanı və port
uzaq ünvan 12345
# Düymələr konfiqurasiya qovluğunda olmalıdır
caca.crt
cert client.crt
əsas müştəri.açar
şifrə AES-128-CBC
yox
komp-lzo
davamlı açar
davamlı-tun
fel 3

Bunu client.ovpn kimi yadda saxlayın. İstənilən qovluq yaradın və C:\Program files\OpenVPN\easy-rsa-da yerləşən client.ovpn konfiqurasiyasını və ca.crt, client.crt, client.key sertifikatlarını oraya qoyun. Windows üçün müştəri yükləyin müştəri maşını quraşdırın, qovluğu konfiqurasiya və sertifikatla köçürün və client.ovpn-i işə salın. Əgər qoşulmusunuzsa, əmr satırına ping 10.8.0.1 yazmağa cəhd edin. Paketlər gəlib? Təbrik edirik! Server hazırdır! İndi idarəetmə panelinə-idarə xidmətlərinə gedin, orada OpenVPN-i axtarın, iki dəfə klikləyin və avtomatik olaraq təyin edin. İndi server yenidən başladıqdan sonra öz-özünə başlayacaq.

Biz konfiqurasiyanı yekunlaşdırırıq və ya hər biri üçün.

İndi sizə İnterneti və quraşdırma ilə bağlı digər xırda şeyləri necə yayacağınızı söyləyəcəyəm. Kiçik şeylərdən başlayaq. Bütün manipulyasiyaları server konfiqurasiyası ilə həyata keçirəcəyik.
Müştərilərinizin bir-birini “görməsini” istəyirsinizsə, yəni. məlumat mübadiləsi edə bilər, sonra konfiqurasiyaya daxil olun
müştəridən müştəriyə.
Əgər müştərilərə veriləcək statik ünvanlara ehtiyacınız varsa, konfiqurasiya qovluğunda ip.txt faylını yaradın və onu konfiqurasiyaya daxil edin.
ifconfig-pool-persist ip.txt
Hər kəs üçün sertifikatlar yaratmaq istəmirsiniz? Sonra yazırıq dublikat-cn, lakin qeyd edin ki, ifconfig-pool-persist bu seçimlə işləmir.
İndi müştəri konfiqurasiyası haqqında. Sertifikat fayllarını ötürə bilməzsiniz, ancaq onları birbaşa konfiqurasiyaya daxil edin, ancaq bunu notepaddan deyil, məsələn, AkelPad və ya Notepad++-dan etmək daha yaxşıdır. ca.crt açın və ——SERTİFİKATIN BAŞLAYIN—————SERTİFİKATIN SONU—— arasından seçin. Konfiqurasiya belə görünəcək:


——SERTİFİKATLA BAŞLAMA——
sertifikat
——SON SERTİFİKAT——


——SERTİFİKATLA BAŞLAMA——
sertifikat
——SON SERTİFİKAT——


——ŞƏXSİ AÇARA BAŞLA——
açar
——Özəl Açarı SON——

İnternet paylayırıq

Bunu etmək üçün server konfiqurasiyasına daxil olun:
"redirect-gateway def1" düyməsini basın
"dhcp-seçim DNS 8.8.8.8" düyməsini basın
"dhcp-seçim DNS 8.8.4.4" düyməsini basın

Parametrlərdə verilmiş DNS ünvanlarını əvəz edirik. Panelə keçərək ona baxa bilərsiniz idarəetmə-şəbəkə əlaqələri, İnternetə baxan adapterin üzərinə iki dəfə klikləməklə. Win7 İdarəetmə Paneli üçün - Şəbəkə və İnternet Şəbəkəsi və Paylaşım Mərkəzi - adapter parametrlərini dəyişdirin. Sonra, eyni adapterin xüsusiyyətlərinə, giriş sekmesine keçin, "Digər şəbəkə istifadəçilərinə icazə verin..." yanındakı qutuyu yoxlayın və açılan siyahıda, əgər varsa, virtual vpn adapterini seçin. Sonra vpn adapterinin xassələrinə, ipv4 xüsusiyyətlərinə keçin və qəbuledici ip və dns-ləri avtomatik təyin edin. Diqqətiniz üçün təşəkkür edirik!

RTU seriyalı marşrutlaşdırıcılar şəxsi vasitəsilə təhlükəsiz əlaqədən istifadə etmək imkanına malikdir virtual şəbəkə, çağırdı OpenVPN

Quraşdırma və konfiqurasiya prosesi bu paketdən orta istifadəçi üçün lazımi biliyin olmaması səbəbindən kifayət qədər çətinliklərlə müşayiət oluna bilər.

Demək olar ki, bütün konfiqurasiya vasitəsilə edilə bilər WEB interfeysi, lakin bəzi elementlər hələ də konsol vasitəsilə edilməli olacaq!

OpenVPN nədir və nə üçün lazım olduğunu Vikipediya məqaləsi vasitəsilə tapa bilərsiniz: OpenVPN

Bu yazıda biz hazırlıq hissəsi ilə tanış olacağıq, bu, ötürücü kanalımızı qorumaq üçün sertifikatlar və şifrələmə açarlarının yaradılmasıdır.

1. Windows-da sertifikatların və açarların yaradılması

Windows OS-də sertifikatlar və şifrələmə açarları yaratmaq üçün proqramın özünü quraşdırmalısınız OpenVPN

Onu qeyd etdiyiniz qovluğa yüklədikdən və quraşdırdıqdan sonra faylların siyahısı olacaq. Mənim üçün bu C:\Program Files\OpenVPN\ qovluğudur

Qovluğa getməliyik asan-rsa

Açmaq lazımdır Windows konsolu(Windows Vista/7/8/8.1/10 üçün Administrator olaraq işləməlisiniz)

Axtarış sistemində (Yandex, Google, Mail və s.) Bu ifadəni yazaraq administrator kimi komanda xəttini (konsolu) necə işə salacağınızı öyrənə bilərsiniz: " Əmr satırını idarəçi olaraq necə işə salmaq olar"

Qovluğa gedin asan-rsaəmri ilə quraşdırma yolu boyunca CD

Məsələn:

cd C:\Proqram Faylları\OpenVPN\easy-rsa

1.1 init-config.bat faylını işə salın

C:\Proqram Faylları\OpenVPN\easy-rsa>init-config.bat
C:\Proqram Faylları\OpenVPN\easy-rsa>vars.bat.sample vars.bat kopyalayın
Kopyalanan fayllar: 1.

Fayl qovluqda görünəcək vars.bat, açın mətn redaktoru, biz ən sondakı sətirlərlə maraqlanırıq, onları doldurmaq lazımdır

Parametrlərimizi təyin etdik, parametrləriniz fərqli olacaq.

təyin edin KEY_COUNTRY= RU
təyin KEY_PROVINCE= Moskva
KEY_CITY = Moskva təyin edin
KEY_ORG= TELEOFIS təyin edin
KEY_EMAIL= təyin edin [email protected]
KEY_CN = server təyin edin
KEY_NAME= server təyin edin
KEY_OU= server təyin edin
PKCS11_MODULE_PATH= server təyin edin
PKCS11_PIN= 12345 təyin edin

Server deyildiyi yerdə ona toxunmayın. Faylı yadda saxlayın.

default_days 365 xəttini tapın və 365 rəqəmini 3650 ilə əvəz edin. Bununla biz sertifikatlarımızın ömrünü 10 il uzadacağıq.

Saxlayın və bağlayın.

1.3 Açarların yaradılması

Biz konsola əmrlər yazırıq

vars

hər şeyi təmiz

Cavab gəlməlidir

Kopyalanan fayllar: 1.
Kopyalanan fayllar: 1.

Bunu görsək, deməli hər şey qaydasındadır, davam edirik...

Diffie-Hellman açarının yaradılması

qurmaq-dh

Əsas sertifikat yaradın

qurmaq-ca

Əsas sertifikat yaradılarkən, suallar konsolda görünəcək. Sadəcə Enter düyməsini basın, çünki... Bütün bu parametrləri fayla daxil etdik vars.bat

Sorğu xətti görünənə qədər Enter düyməsini basın

C:\Proqram Faylları\OpenVPN\easy-rsa

əsas server qurmaq

Suallar üçün Enter düyməsini də basın, lakin vaxtınızı ayırın, ən sonunda iki sual veriləcək

Sertifikat imzalansın?

Bu sualların hər ikisinə Y cavabı veririk.

İndi sertifikat və müştəri açarını yaradırıq:

əsas müştəri

Biz də sətri görən kimi cavablara vaxt ayırırıq” Ümumi ad (məsələn, adınız və ya serverinizin host adı)"cavab vermək lazımdır müştəri

Sonda iki sual olacaq, biz də Y cavabını verəcəyik

Üstəlik: hər bir müştəri üçün ayrıca açarlar yaratmalı və onları adlandırmalısınız müştəri 1, müştəri 2 və ya başqa bir şəkildə, hər şey sizin təsəvvürünüzdən asılıdır. Həmçinin xahiş olunduqda bu adları daxil etməyi unutmayın Ümumi ad

Məsələn:

əsas müştəri 1

əsas ofis 1

Bütün fayllar qovluqda olacaq C:\Program Files\OpenVPN\easy-rsa\keys\

Bu qovluqdan götürürük:

dh1024.pem(və ya dh2048.pem)

server.crt

server.key

2. Linux-da sertifikatların və açarların yaradılması

Sertifikatlar və açarların yaradılması nümunəsini burada təqdim edəcəyik əməliyyat sistemi Ubuntu Linux 16.04 LTS

Digər Linux əsaslı sistemlər üçün bəzi əmrlər fərqli ola bilər!

Əməliyyat sistemi konsolunu açın və kiçik bir paket quraşdırın asan-rsa

sudo apt-get install easy-rsa

Sertifikat yaratmaq paketinin quraşdırıldığı qovluğa gedin

cd /usr/share/easy-rsa/

Yeganə an bu qovluq yalnız super istifadəçi tərəfindən yazıla bilər, gələcəkdə problem yaşamamaq üçün sahibini dəyişəcəyik (Əmrin sonundakı nöqtəni qaçırmayın!!!)

sudo chown -R teleofis:teleofis .

İndi yaradılacaq sertifikatlar haqqında məlumatları konfiqurasiya edək

nano vars

Biz bu məqamları tapıb özümüzə uyğun olaraq dəyişdiririk

ixrac KEY_SIZE=1024 // Açar uzunluğu
ixrac CA_EXPIRE=3650 // Günlərlə əsas açarın etibarlılıq müddəti
ixrac KEY_EXPIRE=3650 // Sertifikatın etibarlılıq müddəti günlərlə
ixrac KEY_COUNTRY="RU" // Ölkə
ixrac KEY_PROVINCE="Moskva" // Region
ixrac KEY_CITY="Moskva" // Şəhər
ixrac KEY_ORG="TELEOFIS" // Təşkilat
ixrac KEY_EMAIL=" [email protected]" // E-poçt
ixrac KEY_OU = "server" // Departament
KEY_NAME="server"i ixrac edin// Açar adı

Redaktə etdikdən sonra faylı yadda saxlayın.

Ən son OpenSSL konfiqurasiyasını fayla kopyalayın openssl.cnf

cp openssl-1.0.0.cnf openssl.cnf

Dəyişənlər yüklənir

mənbə ./vars

Hər ehtimala qarşı gəlin zibilləri təmizləyək.

./hamısını təmizləyin

Server sertifikatı yaradın

./build-ca

Bütün suallarınız üçün Enter düyməsini basın, bütün bu parametrləri faylda əvvəlcədən redaktə etdik vars


.........................................++++++
.......................................................................................++++++
"ca.key"-ə yeni şəxsi açar yazmaq
-----






-----





Ümumi ad (məsələn, adınız və ya serverinizin host adı):
Adı:
E-poçt ünvanı:

Server açarı yaradın

./build-key-server server

Bütün suallara Enter ilə cavab veririk, lakin diqqətli olmalısınız, axıra doğru parol və əlavə adla bağlı bir neçə sual olacaq.

Həmçinin sorğular üçün

Sertifikat imzalansın?

Sertifikat sorğusunun 1-dən 1-i təsdiqləndi?

Y cavabını veririk

1024 bitlik RSA xüsusi açarın yaradılması
..............................++++++
.....................++++++
"server.key" üçün yeni şəxsi açarın yazılması
-----
Sizdən daxil ediləcək məlumatları daxil etməyiniz xahiş olunacaq
sertifikat sorğunuza daxil edin.
Daxil olmaq üzrə olduğunuz şey Fərqli Ad və ya DN adlanan şeydir.
Bir neçə sahə var, amma bilərsən biraz boş buraxın
Bəzi sahələr üçün standart dəyər olacaq,
Əgər "." daxil etsəniz, sahə boş qalacaq.
-----
Ölkə Adı (2 hərf kodu):
Əyalət və ya Vilayət Adı (tam adı):
Yerli Adı (məsələn, şəhər):
Təşkilatın adı (məsələn, şirkət):
Təşkilat bölməsinin adı (məsələn, bölmə):
Ümumi ad (məsələn, adınız və ya serverinizin host adı):
Adı:
E-poçt ünvanı:

Zəhmət olmasa aşağıdakı "əlavə" atributları daxil edin
sertifikat sorğunuzla birlikdə göndəriləcək
Problem parolu:
İsteğe bağlı şirkət adı:
/usr/share/easy-rsa/openssl-1.0.0.cnf-dən konfiqurasiyadan istifadə
Sorğunun imzaya uyğun olduğunu yoxlayın
İmza tamam
Subyektin Fərqli Adı aşağıdakı kimidir
ölkəAdı:PRINTABLE:"RU"
əyalət Və ya VilayətAdı:PRINTABLE:"Moskva"
yerli adı:PRINTABLE:"Moskva"
təşkilat adı:PRINTABLE:"TELEOFIS"
təşkilati vahidin adı:PRINTABLE:"server"
ümumiAd:PRINTABLE:"server"
ad:PRINTABLE:"server"
e-poçt ünvanı:IA5STRING:" [email protected]"
Sertifikat 20 dekabr 13:25:10 2026 GMT (3650 gün) tarixinə qədər sertifikatlaşdırılmalıdır.
Sertifikat imzalansın? :y

Sertifikat sorğusunun 1-dən 1-i təsdiqləndi? y
1 yeni girişlə verilənlər bazasını yazın
Məlumat Bazası Yenilənib

Diffie-Hellman açarının yaradılması

./build-dh

Diqqət!!! Fayl yaradıla bilər uzun müddət, biz nəslin sonunu gözləyirik.

DH parametrlərinin yaradılması, 1024 bit uzunluğunda təhlükəsiz əsas, generator 2
Bu çox vaxt aparacaq
.......+................+.............+.............................................................................+................+........................+...........................................+...............................................................................................................................................+....................+........................................+...................................................................................+....................................................................................................................+.+...................................++*++*++*

Eyni şəkildə müştəri açarlarını yaradırıq

./build-key client1

./build-key rtu968

Bütün sualları Enter ilə cavablandırırıq, lakin sonda diqqətli olun, daha çox sorğu olacaq

Sertifikat imzalansın?

Sertifikat sorğusunun 1-dən 1-i təsdiqləndi?

Biz onlara Y cavabını veririk

Bu, sertifikat və əsas faylların yaradılmasını tamamlayır.

Qovluqda /usr/share/easy-rsa/keys/ sertifikatlarımız və açarlarımız orada olacaq

dh1024.pem(və ya dh2048.pem)

server.crt

server.key

3. Əlavə seçimlər

Bağlantının təhlükəsizliyini artırmaq üçün əlavə açarlar və üsullar da var.

3.1 TLS autentifikasiyası üçün açar

Komanda tərəfindən yaradılır:

openvpn --genkey --gizli %KEY_DIR%\ta.key-Windows

Linux üçün sizə tam OpenVPN paketi lazımdır, yalnız paket asan-rsa kifayət etməyəcək!

Quraşdırın tam paket OpenVPN əmri ilə edilə bilər

sudo apt-get install openvpn

openvpn --genkey --gizli /usr/share/easy-rsa/keys/ta.key- Linux

3.2 Sertifikatların yoxlanılması və ləğvi

Biz də yarada bilərik əlavə fayl crl.pem, bunun vasitəsilə sertifikatlar yoxlanılacaq və ləğv ediləcək.

Bu fayldan istifadə etmək lazım deyil, pis heç nə olmayacaq.

Onu istifadə etmək üçün istifadəçi sertifikatı yaradın:

build-key crlsert - Windows

./build-key crlsert - Linux

İstisna olaraq bütün suallara Enter düyməsini basaraq cavablandırırıq Ümumi adad

Bu sahələr üçün sertifikatın özünün adını göstəririk.

Və nəhayət, sorğulara sertifikatı imzalayın? , Sertifikat sorğusunun 1-dən 1-i təsdiqləndi? Y cavabını veririk

Bundan sonra əmri icra edirik ləğv-tam, o, sertifikatın ləğvinə və sonradan faylın yaradılmasına görə məsuliyyət daşıyır crl.pem

revoke-full crlsert - Windows

./revoke-full crlsert - Linux

Sertifikatın özü faylları crlsert silinə bilər. Ləğv edildikdən sonra onlar avtomatik olaraq qovluqdan silinmir.

Bu, açarların yaradılmasını tamamlayır.

Növbəti məqaləyə keçək:

Əlavə məlumat.

OpenVPN tək UDP - və ya TCP portları - port 1194 vasitəsilə təhlükəsiz IP tunel yaratmaq üçün proqramdır. Nəzarət kanalının və məlumat axınının təhlükəsizliyini təmin etmək üçün OpenVPN OpenSSL kitabxanasından (daha doğrusu SSLv3 / TLSv1 protokolları) istifadə edir, yəni. OpenSSL kitabxanasının bütün şifrələmə, autentifikasiya və sertifikatlaşdırma imkanları mövcuddur (istənilən şifrə, açar ölçüsü). OpenVPN üçün paket icazəsi HMAC alqoritmi də təmin etmək üçün istifadə edilə bilər daha çox təhlükəsizlik, Və hardware sürətləndirilməsi şifrələmə performansını yaxşılaşdırmaq üçün.

OpenVPN Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X və Microsoft Windows.

    OpenVPN istifadəçiyə bir neçə növ autentifikasiya təklif edir:

    Əvvəlcədən təyin edilmiş açar ən sadə üsuldur.

    Loqin və paroldan istifadə edərək, müştəri sertifikatı yaratmadan istifadə edilə bilər ( server sertifikatı hələ də lazımdır).

OpenVPN statik, əvvəlcədən paylaşılan açarlar və ya TLS əsaslı dinamik açar mübadiləsindən istifadə edə bilər. O da dəstəkləyir VPN əlaqələri dinamik uzaq hostlarla (DHCP və ya dial-up müştəriləri), NAT üzərindən tunellər və ya tam firewall(məsələn, Linux iptables qaydaları).

Müştəri konfiqurasiya faylı parametrləri həm Linux, həm də Windows üçün sintaksis və yazı baxımından eynidir.

OpenVPN Şəbəkə Komponentləri

Əsas OpenVPN Şəbəkə Komponentləri və Obyektləri

    CA sertifikatlaşdırma orqanı. Sertifikat orqanı sertifikatı ilə imzalanmış VPN şəbəkə qovşaqlarının sorğusu əsasında sertifikatlar verir. Doğrulama tərəfini yoxlamaq üçün VPN hostlarını öz sertifikatları ilə təmin edir. CRL sertifikatının ləğvi siyahısını idarə edir.

    OpenVPN Server. OpenVPN server proqramı içəridə tunel yaradır təminatsız şəbəkə məsələn, İnternet. Bu tunel OpenVPN şəbəkəsində iştirak edən qovşaqlar arasında təhlükəsiz şifrələnmiş trafik təmin edir.

    OpenVPN müştəri. OpenVPN müştəri proqramı OpenVPN serverinə təhlükəsiz ötürmə kanalı tələb edən bütün qovşaqlarda quraşdırılmışdır. OpenVPN serverinin müvafiq konfiqurasiyası ilə təhlükəsiz məlumat ötürülməsi yalnız müştərilər və OpenVPN serveri arasında deyil, OpenVPN müştəriləri arasında mümkündür.

    Sertifikatlar (açıq açarlar) X.509. X.509 sertifikatları CA tərəfindən təsdiqlənmiş açıq açarlardır. Onlar məlumatları şifrələmək üçün istifadə olunur. Sertifikatın CA tərəfindən təsdiqlənməsi sizə şifrələnmiş məlumatları ötürən tərəfi müəyyən etməyə imkan verir. Şəbəkə qovşaqlarında sertifikat sorğu faylı yaradılır, sonra sertifikatlaşdırma orqanının qovşağına ötürülür və orada imzalanır. Nəticə imzalanmış sertifikat onu tələb edən OpenVPN şəbəkə qovşağına geri köçürülür.

    Şəxsi açarlar. Şəxsi açarlar gizlidir. Onlar OpenVPN şəbəkəsinin hər bir qovşağında yaradılmalı və saxlanmalı, məlumatların şifrəsini açmaq üçün nəzərdə tutulub və heç vaxt şəbəkə üzərindən ötürülməməlidir. Şəxsi açarlar OpenVPN şəbəkə qovşaqlarında sertifikat sorğu faylı ilə eyni vaxtda yaradılır.

    CRL sertifikatının ləğvi siyahısı. Etibarını itirmiş sertifikatların siyahısını ehtiva edir. CA node üzərində yaradılmış və redaktə edilmişdir. Bir nodu şəbəkədən ayırmaq üçün onun sertifikatını CRL-ə əlavə etmək kifayətdir. Yaradılmadan və hər dəyişiklikdən sonra CRL siyahısı OpenVPN serverlərinə ötürülür.

    Diffie-Hellman faylı. Açar oğurluğu halında oğurluqdan əvvəl qeydə alınan trafikin şifrəsinin açılmasının qarşısını almaq üçün istifadə olunur. OpenVPN serverində yaradılmışdır.

Təhlükəsizlik və Şifrələmə

OpenVPN-də təhlükəsizlik və şifrələmə OpenSSL kitabxanasından necə istifadə etməli və Nəqliyyat Layeri Təhlükəsizliyi (TLS) protokolu ilə təmin edilir. OpenVPN-in yeni versiyalarında OpenSSL əvəzinə PolarSSL kitabxanasından istifadə edə bilərsiniz. TLS protokolu Secure Socket Layers qatının (veb-saytlar, poçt üçün SSL sertifikatları) təhlükəsiz məlumat ötürmə protokolunun təkmilləşdirilməsidir.

OpenSSL simmetrik və asimmetrik kriptoqrafiyadan istifadə edə bilər.

Birinci halda, məlumat ötürülməsinə başlamazdan əvvəl, eyni yerləşdirmək lazımdır gizli açar. Bu problem yaradır təhlükəsiz köçürmə bu açarı təhlükəsiz internet üzərindən.

İkinci halda, məlumat mübadiləsinin hər bir iştirakçısı iki açara malikdir - açıq (açıq) və gizli (gizli).

Açıq açar məlumatı şifrələmək üçün, şəxsi açar isə şifrəni açmaq üçün istifadə olunur. Şifrələmə olduqca mürəkkəb riyaziyyata əsaslanır. SSL/TLS-də seçilmiş açıq açar şifrələmə alqoritmi yalnız şəxsi açardan istifadə edərək şifrəni açmaq imkanı verir.

Şəxsi açar məxfidir və yaradıldığı qovşaq daxilində qalmalıdır. Açıq açar məlumat mübadiləsinin iştirakçılarına ötürülməlidir.

Məlumatların təhlükəsiz ötürülməsi üçün məlumat mübadiləsində iştirak edən tərəfləri müəyyən etmək lazımdır. Əks halda, siz “ortadakı adam” (Man in the Middle) hücumunun qurbanı ola bilərsiniz. Orta, MITM). Belə bir hücum zamanı təcavüzkar məlumat ötürmə kanalına qoşulur və onu dinləyir. O, həmçinin məlumatlara müdaxilə edə, silə və ya dəyişə bilər.

İdentifikasiyanı təmin etmək (istifadəçinin şəxsiyyətini yoxlamaq) üçün TLS protokolu infrastrukturdan istifadə edir. açıq açarlar(Public Key Infrastructure, PKI) və asimmetrik kriptoqrafiya.

Siz başa düşməlisiniz ki, şəxsi açar olmadan məlumatların şifrəsini açmaq da mümkündür, məsələn, kobud güc metodundan istifadə etməklə. Bu üsul hesablama baxımından intensiv olsa da, məlumatların şifrəsini açmaq yalnız vaxt məsələsidir.

Açarın ölçüsü şifrənin açılmasının çətinliyinə təsir etsə də, heç bir açar məlumatların tam təhlükəsizliyinə zəmanət vermir. Bundan əlavə, əməliyyat sistemində və ya proqram proqramında zəifliklər və əlfəcinlər səbəbindən artıq şifrələnmiş məlumatların və açarların oğurlanması ehtimalı var. aparat serverlər və iş stansiyaları.

Məlumatların şifrələnməsi trafiki artırır və ünsiyyəti ləngidir. Məlumatların şifrələnməsi üçün istifadə olunan açar nə qədər uzun olarsa, onu tapmaq bir o qədər çətin olacaq, lakin məlumat mübadiləsində yavaşlama bir o qədər nəzərə çarpacaq.

OpenVPN Debian Wheezy/sid

# qabiliyyət quraşdırmaq openvpn # mkdir /etc/openvpn/easy-rsa # cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Sertifikatlar üçün standart parametrlərin dəyişdirilməsi

# nano /etc/openvpn/easy-rsa/vars ... ixrac KEY_COUNTRY="ABŞ" ixracı KEY_PROVINCE="CA" ixracı KEY_CITY="SanFransisko" ixracı KEY_ORG="Fort-Funston" ixracı KEY_EMAIL=" [email protected]"

Yaradaq mühit dəyişənləri bash , bu edilmədikdə, müştəri açarlarını yaradan zaman dəyişənlər vars faylından deyil, /etc/openvpn/easy-rsa/openssl.cnf-dən götürüləcək.

# cd /etc/openvpn/easy-rsa # source ./vars QEYD: Əgər ./clean-all proqramını işlədirsinizsə, mən /etc/openvpn/easy-rsa/keys # ./clean- üzərində rm -rf işlədəcəm. hamısı # ./build-dh

vpnspar adlı server üçün sertifikat yaradaq

# ./pkitool --initca # ./pkitool --server vpnspar

Farm1c adlı müştəri üçün sertifikat yaradaq. Hər bir müştəri üçün ayrıca açar.

# ./pkitool farm1c # mkdir /etc/openvpn/keys # cp keys/ca.crt /etc/openvpn/keys # cp keys/dh1024.pem /etc/openvpn/keys # cp keys/vpnspar.crt /etc/openvn /açarlar # cp düymələri/vpnspar.key /etc/openvpn/keys

ccd kataloqu saxlanılır fərdi parametrlər hər bir müştəri üçün. Fayl adı yaradılan müştəri sertifikatının adına uyğun olmalıdır. Müştəri konfiqurasiya faylları bunlardır mətn faylları və müştərilər qoşulduqda server tərəfindən yerinə yetirilən əmrləri ehtiva edir. Adətən müştəri faylı aşağıdakı əmrləri ehtiva edir:

    müştəriyə mərkəzi ofisin yerli alt şəbəkəsinə marşrut əlavə edir ("marşrut 192.168.1.0 255.255.255.0" düyməsini basın)

    müştərinin arxasında yerləşən yerli alt şəbəkənin ünvanını müəyyən edir (məsələn, iroute 192.168.2.0 255.255.255.0)

    statik IP-yə bağlanır (ifconfig-push 192.168.14.21 192.168.14.22), burada ifconfig-push . Seçilmiş IP ünvan cütləri, birincisi, unikal olmalıdır, ikincisi, onlar /30 maskası (255.255.255.252) ilə məhdudlaşan ardıcıl alt şəbəkələrin bir hissəsi olmalıdır və üçüncüsü, bunlara həsr olunmuş IP ünvanları hovuzunda olmalıdırlar. virtual şəxsi şəbəkə(müəyyən edilmişdir server parametri OpenVPN server konfiqurasiya faylı).

# mkdir /etc/openvpn/ccd # nano ccd/farm1c push "marşrut 192.168.1.0 255.255.255.0" #push "marşrut 192.168.35.0 255.255.255.0" # static.con .168.14.22 #iroute 192.168. 2.0 255.255.255.0

server.conf

Serveri server.conf faylında konfiqurasiya edin

# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ # gunzip server.conf.gz # nano /etc/openvpn/server.conf server.conf yerli xxx.196.98.xxx Serverin gələn mesajları dinlədiyi # IP port 1194 Serverin gələn mesajları dinlədiyi # port proto udp dev tun # OpenVPN idarəetmə interfeysini aktivləşdirin. Telnet localhost 7505 vasitəsilə əldə edilə bilər idarəetmə localhost 7505 ca açarları/ca.crt # özünü imzalanmış etibarlı sertifikatın (CA) yeri sertifikat açarları/vpnspar.crt # server sertifikatının yeri açar düymələri/ vpnspar.key # serverin şəxsi açarının yeri dh düymələri/ dh1024.pem # Diffie-Halman parametr faylının yeri # Server rejimini və VPN şəbəkə ünvanını təyin etmək, # hansı OpenVPN müştərilərə ünvanlar paylayacaq. # Server 192.168.14.1 alacaq, # digər ünvan müştərilər üçün əlçatan olacaq. # Hər bir müştəri 192.168.14.1 nömrəsi ilə serverlə əlaqə saxlaya biləcək. server 192.168.14.0 255.255.255.0 # ipp.txt faylı əlaqə haqqında məlumatı saxlayır, məsələn, əlaqə nasazlığı halında # və onun sonrakı bərpası ifconfig-pool-persist ipp.txt hər bir müştəriyə göndəriləcək # marşrut. # push - OpenVPN əmri müştəriyə göndərilir və müştəri tərəfindən yerinə yetirilir # (V bu halda müştəri tərəfində virtual şəxsi şəbəkəyə iki marşrut əlavə edin) itələmək "marşrut 192.168.1.0 255.255.255.0" itələmək "marşrut 192.168.35.0 255.255.255.0" # Defolt şlüzü VPN serverinə yönləndirin. Lazım deyilsə şərh bildirin və ya # xüsusi müştəri üçün ccd-yə əlavə edin"redirect-gateway def1" düyməsini basın # müştəri IP ünvanı parametrləri olan faylların harada saxlanacağını göstərir müştəri-konfiqurasiya-dir ccd # server-müştəri marşrutu əlavə edin. # marşrut - müştərilərin arxasında yerləşən yerli alt şəbəkələrə server tərəfi marşrutları əlavə edir marşrut 192.168.14.0 255.255.255.252 # OpenVPN serverinə qoşulmuş müştərilərin bir-biri ilə əlaqə saxlamasına imkan verir müştəridən müştəriyə Göndərmə daxil olmaqla # Sağlamlıq yoxlaması direktivi vasitəsilə # ping kimi mesajlar # əlaqə ki, hər tərəf nə vaxt olduğunu bilsin # qarşı tərəf birdən yox olacaq (aşağı düşəcək). # Pultu qəbul edərək hər 10 saniyədən bir ping edin Hər müddət ərzində bir ping qəbul edilmədikdə # node əlçatmazdır # 120 saniyəyə bərabərdir. keepalive 10 120 comp-lzo max-clients 10 user nobody group nogroup persist-key persist-tun # Kiçik status faylının məzmunu göstərilir # cari əlaqə, kəsildi # və dəqiqədə bir dəfə yenidən yazılır. status / var/ log/ openvpn-status.log log / var/ log/ openvpn.log fel 3 # debug səviyyəsi# /etc/init.d/openvpn başladın

Müştəri sertifikatını ləğv edin

    Misal. İstifadəçi sertifikatının ləğvi farm1c # cd /etc/openvpn/easy-rsa # source ./vars # ./revoke-full farm1c /etc/openvpn/easy-rsa/openssl.cnf-dən konfiqurasiyadan istifadə Sertifikatın ləğvi 02. Data Bazası Yenilənib

    Revoke-full əmrindən sonra farm1c istifadəçi sertifikatına uyğun sətir /etc/openvpn/easy-rsa/keys/index.txt faylına dəyişdiriləcək.

OpenVPN + OpenVZ quraşdırılması

Quraşdırma VE(VPS, VDS)

    OpenVZ üçün VE Ubuntu quraşdırılması # cd /vz/template/cache/ # wget -c http://download.openvz.org/template/precreated/ubuntu-14.04-x86_64-minimal.tar.gz # vzctl create 111 --layout simfs --ostemplate ubuntu-14.04-x86_64-minimal CT konfiqurasiyası /etc/vz/conf/111.conf ünvanında saxlanıldı

    VE 111.conf konfiqurasiyası.

    Bütün digər parametrlər artıq quraşdırılmış VE # vzctl enter 111-də edilir

Açarların yaradılması

    Easy-RSA yardım proqramından istifadə edərək açarların yaradılması. Əvvəllər bu yardım proqramı OpenVPN server paylamasının bir hissəsi idi, indi isə ayrı bir layihədir. Köməkçi proqramın ən son versiyasını OpenVPN veb saytından yükləmək olar, lakin OS paylama ilə təchiz edilmiş versiyadan istifadə etmək daha düzgündür. bacarıq quraşdırma asan-rsa

    OpenVPN demonunu işə salmazdan əvvəl bizə /etc/openvpn/keys qovluğunda OpenSSL konfiqurasiya faylı lazımdır; server.conf - OpenVPN server konfiqurasiya faylı; ca.crt - sertifikatlaşdırma orqanının sertifikatı; vpn-server.crt - OpenVPN server sertifikatı; server.key - OpenVPN serverinin şəxsi açarı, gizli; crl.pem - sertifikatın ləğvi siyahısı; dh.pem - trafiki şifrənin açılmasından qorumaq üçün Diffie-Hellman faylı; ta.key - üçün HMAC açarı əlavə qorunma DoS hücumlarından və daşqından

    Easy-rsa qovluğunu ictimai açar infrastrukturunu (PKI) yaradacağımız yerə kopyalayın cp -R /usr/share/easy-rsa /etc/openvpn/ cd /etc/openvpn/easy-rsa

    Vars faylında sertifikatlar üçün standart parametrlərin dəyişdirilməsi

    KEY_COUNTRY="US" ixracı KEY_PROVINCE="CA" ixracı KEY_CITY="SanFransisko" ixracı KEY_ORG="Fort-Funston" ixracı KEY_EMAIL=" [email protected]" ixrac KEY_OU="Mənim Təşkilat Vahidim"

    Ətraf dəyişənləri yaradaq.

    Mənbə ./vars QEYD: Əgər ./clean-all proqramını işlədirsinizsə, mən /etc/openvpn/easy-rsa/keys üzərində rm -rf edəcəm

    Əvvəlki təcrübələrdən aydınlaşaq. Gəlin Diffie-Hellman açarı yaradaq (açar yaratmaq üçün bir az vaxt lazımdır).

    ./clean-all ./build-dh DH parametrlərinin yaradılması, 2048 bit uzunluqda təhlükəsiz əsas, generator 2 Bu, çox vaxt aparacaq ...

    OpenVPN serverinin şəxsi açarlarını saxlamaq üçün qovluq yaradaq. Diffie-Hellman faylını oraya kopyalayın (dh2048.pem) mkdir /etc/openvpn/keys cp keys/dh2048.pem /etc/openvpn/keys/

    Yaradaq CA sertifikatlaşdırma orqanı. ca.crt və ca.key yaradılacaq. Ca.key faylı CA-nın şəxsi açarını təmsil edir sirr, və o köçürülə bilməzşəbəkənizdəki digər qovşaqlara. CA sertifikat faylı ca.crt isə açıqdır və OpenVPN serverində və müştəri qovşaqlarında lazım olacaq. ./pkitool --initca

    vpnluxor ./pkitool --server vpnluxor adlı server üçün sertifikat yaradaq

    Yaradılmış vpnluxor.crt və vpnluxor.key fayllarını /etc/openvpn/keys/ qovluğuna kopyalayın.

    Eyni adlı CommonName parametri ilə müştəri müştəri1 üçün sertifikat yaradaq. Hər bir müştəri üçün ayrıca açar. ./pkitool müştəri1

Sertifikatların və açarların yeri

Fayl Avtomobil Məqsəd Giriş
ca.crtServer və müştərilərKök CA Sertifikatıİctimai
ca.keyYalnız serverdəDigər sertifikatların imzalanması üçün tələb olunurGizli
dh(n).pemYalnız serverdəDiffie Hellman parametrləriİctimai
vpnspar.crtYalnız serverdəServer sertifikatıİctimai
vpnspar.keyYalnız serverdəServer açarıGizli
darkfire.crtYalnız müştəridəMüştəri Sertifikatıİctimai
darkfire.keyYalnız müştəridəMüştəri açarıGizli

OpenVPN quraşdırılır

ccd kataloqu hər bir müştəri üçün fərdi parametrləri saxlayır. mkdir /etc/openvpn/ccd

VPN şəbəkə sərhədlərinin genişləndirilməsi

Daxil etmək üçün VPN sərhədlərinin genişləndirilməsi əlavə avtomobillər müştəri və ya server tərəfindəki alt şəbəkələrdən. Yönləndirilmiş VPN (dev tun) istifadə edərkən server tərəfində birdən çox maşını aktivləşdirin

VPN yalnız nöqtədən-nöqtəyə işlədiyi üçün siz VPN-in əhatə dairəsini genişləndirmək istəyə bilərsiniz ki, müştərilər yalnız serverin özü ilə deyil, server şəbəkəsindəki digər maşınlarla əlaqə saxlaya bilsinlər.

Bunu bir misalla göstərmək üçün fərz edək ki, in yerli şəbəkə server tərəfində alt şəbəkə 10.66.0.0/24-dür və OpenVPN server konfiqurasiya faylında server direktivində qeyd edildiyi kimi VPN ünvan hovuzu üçün 10.8.0.0/24 istifadə olunur.

Əvvəlcə VPN müştərilərinə 10.66.0.0/24 alt şəbəkəsinə VPN vasitəsilə daxil olmaq mümkün olduğunu söyləməlisiniz. Bu, aşağıdakı direktivlərdən istifadə etməklə asanlıqla edilə bilər konfiqurasiya faylı serverlər:

"Marşrut 10.66.0.0 255.255.255.0" düyməsini basın

Bundan sonra, VPN müştəri alt şəbəkəsi (10.8.0.0/24) üçün nəzərdə tutulmuş paketləri OpenVPN serveri vasitəsilə yönləndirmək üçün server şəbəkəsindəki LAN şlüzündə marşrutu konfiqurasiya etməlisiniz (bu, yalnız OpenVPN serveri və LAN şlüzü olduqda lazımdır. müxtəlif maşınlar).

Iptables -A INPUT -p udp --dport 1194 -j iptables QƏBUL EDİN -A INPUT -i tap+ -j QƏBUL EDİN və ya iptables -A INPUT -i tun+ -j QƏBUL EDİN

OpenVPN idarəetməsi

PPPoE və OpenVPN problemi

Problem:Əgər server PPPoE necə işləyir texnologiyasından istifadə edərək ISP-yə qoşulubsa, bu halda OpenVPN bunu edə bilməyəcək əlçatan şəbəkələr bağlı müştərinin arxasında. iroute əmri işləməyəcək. Bu, PPP-nin standart marşrutu aşağıdakı kimi yazması ilə əlaqədardır:

# netstat -rn Kernel IP marşrutlaşdırma cədvəli Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0

Bunlar. interfeys (ppp0) IP ünvanı ilə deyil, standart marşrutla göstərilir, OpenVPN serveri belə bir girişi başa düşmür, düzgün əməliyyat OpenVPN serverləri marşrut belə görünməlidir:

# netstat -rn Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 91.196.96.35 255.255.255.255 UGH 0 0 0 ppp0

Client proto udp dev tun ca.crt dh dh2048.pem cert client.crt key client.key remote xxx.xxx.xxx.xxx 1194 tls-auth ta.key 1 cipher AES-256 -CBC user nobody group nogroup verb 2 lal 20 keepalive 10 120 comp-lzo persist-key persist-tun float resolv-retry infinite nobind

OpenVPN jurnalının fırlanması

    /etc/logrotate.d/openvpn faylında Linux-da logrotate konfiqurasiyasının təsviri və nümunələri üçün parametrləri yazırıq, əsas parametr surətini kəsmək(OpenVPN-i həddən artıq yükləməmək və onu eyni log faylına məlumat yazmağa məcbur etməmək üçün) openvpn və s/ openvpn/ servers/ vpnluxor/ logs/ openvpn.log (gündəlik fırlanma 8 sıxışdırmaq gecikmə sıxışdırmaq missingok copytruncate notifemty yaratmaq 640 kök )