Criptare OpenVPN. Selectarea unei metode de criptare pentru OpenVPN Astfel de configurații ar trebui să aibă de obicei linia

> > Nu un derivat, ci o cheie aleatoare care este generată chiar în timpul
>> sesiune. Criptarea asimetrică consumă inutil resurse, deci datele
>> sesiunile nu sunt criptate cu el. Criptează doar etapa de schimb de sesiuni
> > cheie de criptare simetrică. Criptare suplimentară a sesiunii
> > are loc fără participarea cheilor de criptare asimetrice.
>
> După cum am înțeles, atunci când un client se conectează la openvpn, folosind x.509
> se intampla:
>
> 1. „Utilizați” „tls-auth ta.key” pentru „pentru a preveni atacurile DoS și
> UDP port flooding", care este stocat atât pe server, cât și pe client. (cum
> folosit? Algoritmul nu este încă clar.)
> 2. Autorizare folosind x.509 (cheile x.509 nu sunt folosite în niciun fel pentru criptare
> trafic). Clientul verifică dacă certificatul său și certificatul clientului sunt semnate
> un CA și faptul că certificatul client nu este pe lista de revocări (dacă
> --crl-verify opțiuni).
> 3. Trimiterea către client a unui derivat al dh dh2048.pem închis (care,
> spre deosebire de ta.key este stocată doar pe server) cheia publică care
> folosit pentru criptarea asimetrică(!), pentru trimiterea datelor de sesiune
> cheie.
> 4. Generarea unei chei simetrice de sesiune arbitrară de către server
> (aparent de către server, deoarece clientului nu i se cere să aibă biblioteca openssl?)


Trebuie sa.

> și transmiterea acestuia către client.
>
> Aceasta este înțelegerea corectă?

Mai precis, va spune Vitus, s-a urcat acolo. Dar din câte am înțeles, principiul general este
clientul și serverul sunt autorizați reciproc în timpul procesului de stabilire a conexiunii TLS și
deja printr-un canal criptat stabilit ei sunt de acord asupra funcționării efective
cheie, precum și parametrii tunelului (adrese, rutare etc.).

Mai departe. Nu voi spune imediat cât de exact folosește OpenVPN DH, dar este
În principiu, nu este folosit pentru criptare. Nu poti. Este folosit pentru
generarea unei chei comune de către ambele părți fără a trimite efectiv cheia.
În principiu, această cheie publică poate fi apoi utilizată pentru a redirecționa „lucrătorul”
cheie (acest lucru se întâmplă în S/MIME, dacă utilizați algoritmi GOST - este ca
ori o schemă similară), sau este posibil - pentru generarea separată a tastelor de lucru
ambele părți (acest lucru se întâmplă în TLS). Din câte îmi pot imagina, opțiunea
cu trimiterea unei chei de lucru cu un DH „cinstit” nu este folosit nicăieri. În S/MIME cu
GOST este folosit din motivele pentru care nu avem un analog direct al RSA, dar
aplicațiile existente pur și simplu nu știu cum să o facă în alt mod. Prin urmare este necesar
dificil cu o cheie efemeră și criptarea unei chei de lucru pe una asociată.

>> OpenVPN folosește biblioteca OpenSSL. Cred că documentația
>> trebuie să sapi acolo.
>
> Poate cineva să recomande un document scurt, dar profund (rus/eng) de la
> seria „cum funcționează” (și nu „ce trebuie făcut pentru ca acesta să funcționeze”)?

Mai întâi trebuie să luați o descriere a protocolului OpenVPN. Acesta este un rahat non-standard
așa că trebuie să te uiți în docul lui. Unde va trimite la TLS - luați RFC
pe TLS :-) Ei bine, mai departe după gust, până la „Criptografie aplicată”.

--
Artem Chuprina
RFC2822: Jabber.

Destul de des întâlnim o situație în care o organizație a configurat și operează deja o rețea virtuală OpenVPN cu criptare RSA, iar clienții sunt dispersați, în cel mai bun caz, într-un singur oraș. Mai devreme sau mai târziu, devine necesară criptarea canalului conform GOST.

În acest articol puteți afla cum să faceți o tranziție completă la algoritmii criptografici GOST în cadrul OpenVPN fără a părăsi biroul. Toate exemplele sunt luate pe baza sistemului de operare Debian, cu toate acestea, algoritmul și nuanțele sunt aceleași pentru toate sistemele de operare pe care le suportăm, doar comenzile diferă.

Migrare pe partea serverului.

  1. Instalați instrumentul de protecție a informațiilor criptografice „MagPro CryptoPacket” în versiunea „OpenVPN-GOST”.
  2. Creați un fișier de inițializare pentru software-ul DSC, pentru a face această rulare
    sudo -H /opt/cryptopack3/bin/mkseed -r
    și urmați instrucțiunile programului.

    După parcurgerea primilor doi pași, se va instala setul complet de software necesar pentru ca OpenVPN să funcționeze cu algoritmii GOST. În acest caz, canalul deja configurat cu criptare RSA va continua să funcționeze.

  3. În catalog /etc/openvpn-gost/ creați un fișier de configurare openvpn-gost.conf, care va descrie crearea unui canal suplimentar cu criptare GOST. Ca bază, puteți lua fișierul server.conf.sample instalat în același director (probabil că nu va trebui să schimbați nimic în el).
  4. Generați cheile și certificatele necesare pentru a porni serverul (acest lucru se poate face folosind un set de scripturi easy-gost, care este inclus în livrare, și specificați calea corectă către acestea în fișierul de configurare.
  5. Lansați OpenVPN-GOST
    sudo -H /etc/init.d/openvpn-gost start

Migrarea clientului

Apoi, trebuie să transferați clienți pentru a utiliza „OpenVPN-GOST”. Nu există o modalitate unică de a înlocui un kit de utilizator, dar, în general, procesul ar putea arăta astfel:
  1. Pregătirea unei distribuții de utilizator (de exemplu, scrierea unui fișier de configurare corect care va oferi funcționalitatea necesară)
  2. Plasarea acestei distribuții pe serverul de fișiere intern al organizației
  3. Notificarea utilizatorilor că trebuie să descarce și să instaleze o nouă versiune de software

În mod ideal, cheile private ale clientului și cererile de certificate ar trebui să fie generate de către utilizator utilizând CIPF furnizat, după care cererea de certificat ar trebui să fie transferată la o CA (kit-ul de server MagPro CryptoPacket CIPF poate acționa ca CA).
Cu toate acestea, atunci când se utilizează software în cadrul unei organizații, se practică adesea generarea centralizată a unui set de clienți (inclusiv chei private). Merită să înțelegeți că atunci când transferați chei private, trebuie să îndepliniți cerințele Regulilor de funcționare a CIPF și PKZ-2005, în special prin transferul cheilor printr-un canal de comunicare securizat.

De asemenea, este util să oferiți utilizatorilor instrucțiuni. Pentru sistemul de operare Windows, în general, va fi după cum urmează:

  1. Descărcați kitul de distribuție „OpenVPN-GOST” de pe linkul <link>
  2. Eliminați versiunea veche a OpenVPN folosind instrumente standard de sistem
  3. Instalați o nouă versiune folosind distribuția descărcată de pe serverul de fișiere
  4. Plasați <următoarele fișiere> (de exemplu, chei și certificate) în directorul <directory>
  5. Lansați „OpenVPN-GOST” folosind pictograma de pe desktop

Desigur, migrarea clienților va dura ceva timp, în funcție de cât de repede răspund utilizatorii.

În general, această metodă este cea mai convenabilă și vă permite să transferați utilizatori la noua versiune de OpenVPN-GOST fără a părăsi biroul.

Criptare OpenVPN

OpenVPN este o soluție software open source concepută pentru a implementa rețele private virtuale - tuneluri criptate securizate pentru transmiterea informațiilor printr-o rețea „periculoasă” - Internet.

OpenVPN folosește biblioteca OpenSSL pentru a cripta datele. Acesta este un set de soluții criptografice gata făcute, cu capacitatea de a crea chei de criptare și de a lucra cu certificate. Biblioteca este open source și compatibilă cu multe sisteme de operare.

Când stabiliți conexiuni securizate, puteți utiliza două metode de criptare OpenVPN - simetrică și asimetrică. Diferența dintre ele este crearea și utilizarea cheilor de criptare și decriptare.

  • Criptare simetrică implică utilizarea aceleiași chei pentru criptare și decriptare. Cheia trebuie să fie generată de nodul de transmisie și distribuită tuturor celorlalți printr-un canal încă nesecurizat. Rămâne riscul interceptării cheilor și scurgerii ulterioare de date.
  • La criptare asimetrică Criptarea folosește o cheie, iar decriptarea este posibilă numai folosind o altă cheie diferită. Când se stabilește o conexiune printr-o rețea deschisă, este transmisă doar cheia de criptare generată de partea destinatară. Interceptarea acestei chei face imposibil ca un atacator să decripteze datele, iar cheia de decriptare nu intră deloc în rețea.

OpenVPN este compatibil cu multe sisteme de operare. Pentru firewall-uri hardware Bazat pe OpenVPN, se caracterizează printr-o toleranță ridicată la erori. Dacă se pierde conexiunea la rețea, conexiunea securizată este reluată automat de către server după restabilirea canalului de comunicare. Datorită bibliotecii OpenSSL, securitatea conexiunii este ridicată. OpenVPN este gratuit și open source, permițând dezvoltatorului să-și gestioneze și să-și îmbunătățească propria funcționalitate.