Veiligheid

Leer hoe u verbinding kunt maken met een VPN met OpenVPN

OpenVPN is een platformonafhankelijke VPN (virtual private network) client/server. Het is compatibel met Microsoft Windows, GNU / Linux, macOS-besturingssystemen en biedt zelfs gratis apps voor Android en iOS. Een ander sterk punt van OpenVPN is dat sommige routerfabrikanten het in hun apparatuur integreren, zodat we een OpenVPN-server op onze router kunnen configureren. Een ander opmerkelijk aspect is dat bijvoorbeeld firewall-georiënteerde besturingssystemen ook worden meegeleverd, PFsense en OPNSense zijn twee sterk aanbevolen distributies voor het gebruik van OpenVPN en de rest van de configuratie-opties.

Wat is het?

OpenVPN is software gebaseerd op gratis software waarmee we een virtueel particulier netwerk (VPN) kunnen bouwen om op afstand verbinding te maken met de server. Met deze software kunnen we twee soorten VPN-architecturen configureren:

  • Remote Access VPN: We hebben een centrale VPN-server en meerdere VPN-clients met de software geïnstalleerd op uw computer, smartphone, tablet of ander apparaat, en ze maken allemaal centraal verbinding met de VPN-server.
  • Site-to-Site VPN: deze architectuur stelt ons in staat om te communiceren tussen verschillende sites om bronnen te delen via een beveiligd netwerk, beschermd door end-to-end encryptie. Dit type VPN stelt ons in staat om kantoren, hoofdkantoren, enz.

Enkele zeer belangrijke kenmerken van OpenVPN zijn dat het uitgebreide configuratie ondersteunt, zowel om de prestaties als de veiligheid te verbeteren. Het is gebaseerd op SSL / TLS, dus we kunnen digitale certificaten maken voor authenticatie van VPN-clients. Daarnaast konden we ook authenticeren met certificaten plus een gebruiker/wachtwoord die we aan het systeem toevoegen. OpenVPN is veel gemakkelijker te configureren dan IPsec, en dankzij de geweldige ondersteuning van de community zullen we OpenVPN kunnen vinden op alle desktopbesturingssystemen, servers en zelfs smartphones en tablets.

Waarom is het?

Als we thuis een OpenVPN-server maken, kan dit ons helpen om op een bepaalde manier verbinding met internet te maken beveiligen vanaf elk netwerk, bekabeld of WiFi, met WEP / WPA-codering of zonder codering. Al het verkeer zal zijn versleuteld via tunnel vanaf onze computer waar we verbinding mee maken met ons huis en van daaruit gaat het naar internet, het is alsof je thuis bent verbonden met internet. We moeten rekening houden met verschillende factoren, zoals een goede downloadsnelheid (30 Mbps of meer) en een openbaar IP-adres bij ons hebben, want als we CG-NAT hebben, kunnen we geen verbinding maken omdat we geen niet in staat zijn om poorten in de router door te sturen.

Door een OpenVPN-server bij ons te installeren, hebben we ook toegang tot alle gedeelde bronnen die we hebben, zoals Samba, FTP-servers en zelfs toegang tot de printer, IP-camera's die we hebben aangesloten enz. Alle toegangsrechten zouden zijn alsof we fysiek in ons huis zijn. OpenVPN is een VPN-oplossing die Layer 2- of Layer 3-verbindingen implementeert, afhankelijk van de gekozen verbindingsmodus zal het op de een of andere manier werken, bovendien is een belangrijk detail dat de overgrote meerderheid van de systeemactiviteiten nu OpenVPN ondersteunt, hoewel dit niet de zaak. wordt meestal opgenomen door hardwarefabrikanten voor firewalls of routers.

OpenVPN gebruikt een set SSL/TLS-protocollen die werken op de transportlaag, en we hebben twee soorten bewerkingen:

  • TUN : De controller TUN emuleert een point-to-point-apparaat, het wordt gebruikt om virtuele tunnels die werken met het IP-protocol . Op deze manier kunnen alle pakketten die daar worden getransporteerd worden ingekapseld als TCP-segmenten of UDP-datagrammen (je zult later zien dat we UDP kiezen in plaats van TCP, en je zult je afvragen waarom, aangezien TCP verbindend, betrouwbaar en georiënteerd is. de verbinding) . De machines achter elk uiteinde van de link behoren tot verschillende subnetten.
  • TAP : Simuleert een Ethernet-netwerkinterface, beter bekend als bridge- of bridge-modus, deze virtuele tunnels direct Ethernet-pakketten inkapselen . Deze situatie maakt het mogelijk om verschillende weefsels van de PI in te pakken. Machines achter elk uiteinde van de link kunnen in hetzelfde subnet werken (als het IP-protocol wordt gebruikt). De bridge-modus is met name handig voor het verbinden van externe gebruikers, omdat ze verbinding kunnen maken met dezelfde server en virtueel deel kunnen uitmaken van het hoofdnetwerk, maar als het privénetwerk waarop de oorsprong is aangesloten samenvalt met de bestemming, zullen we problemen krijgen routeringsproblemen en communicatie werken niet.

In de handleiding zullen we TUN gebruiken en zien hoe we een 10.8.0.0/24 virtueel subnet kunnen maken waar OpenVPN-clients zich bevinden wanneer ze verbinding maken. Op deze manier is het veel gemakkelijker om de VPN-clients te identificeren die we met het lokale netwerk hebben verbonden.

In deze handleiding leg ik je uit hoe je dat doet onder: GNU / Linux (in Debian 10) , hoewel in wezen hetzelfde geldt voor Dakramen en raamkozijnen , alleen de opdrachten in de console (cmd.exe), certificaten en sleutels veranderen, ze zijn voor beide hetzelfde , dat wil zeggen, je kunt ALLES creëren in GNU / Linux geef het dan door aan Dakramen en raamkozijnen om het te gebruiken (client of server), hoeft u alleen de extensie te wijzigen client / server .conf in .ovpn , hoewel OpenVPN voor Windows ons in de nieuwste versies al in staat stelt om .conf-configuratiebestanden te herkennen en te gebruiken, dus we hoeven de extensie niet te wijzigen.

In deze handleiding laat ik je zien hoe je een zeer veilige OpenVPN-configuratie maakt, waarbij je de symmetrische, asymmetrische en hash-coderingsalgoritmen aanpast. Op deze manier kunnen we de best mogelijke codering van communicatie hebben.

Samenvatting van te gebruiken cryptografie

  • Digitale certificaten : We zullen gebruiken EC (elliptische curven) voor het maken van Openbare sleutelinfrastructuur . We zullen zowel de CA-certificaten (Certification Authority) maken, als de certificaten voor de server en VPN-clients die verbinding willen maken. Het gebruikte EC-algoritme is secp521r1, hoewel we er nog veel meer beschikbaar hebben. Het hash-algoritme dat we zullen gebruiken, is: SHA512 . Een belangrijk detail is dat niet alle OpenVPN-clients / -servers het ondersteunen, we moeten onze OpenVPN- en cryptobibliotheken bijwerken, maar tegenwoordig komt het zelden voor dat u zich in een scenario bevindt dat niet compatibel is.
  • OpenVPN-besturingskanaal : we zullen ten minste TLS 1.2 gebruiken en altijd PFS (Perfect Forward Secrecy) gebruiken op basis van Diffie-Hellmann met Elliptical Curves (ECDHE). Dat wil zeggen, we zullen een selectie van veilige cryptografische suites gebruiken, zoals TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384. Als u wilt controleren of uw server of client dit type codering ondersteunt, moet u in de console "openvpn –show-tls" plaatsen.
  • OpenVPN-gegevenskanaal : We zullen het symmetrische coderingsalgoritme gebruiken AES-256-GCM , de meest veilige momenteel en die is geïntegreerd in OpenVPN 2.4 en hoger. Als u wilt controleren of uw server of client dit type codering ondersteunt, moet u in de console " openvpn - showcijfers . Als we AES-256-GCM gebruiken als codering van het gegevenskanaal, zullen we geen HASH-algoritme gebruiken omdat het AEAD is, maar als we AES-256-CBC gebruiken, zullen we SHA512 gebruiken.

In de nieuwste versies van OpenVPN, en als de cryptografische bibliotheek van uw besturingssysteem dit toelaat, kunnen we het TLS 1.3-protocol gebruiken in het controlekanaal. Als we naar de opdrachtregel van de OpenVPN-server of -client gaan en we de volgende opdracht plaatsen:

openvpn --show-tls

We kunnen zien of onze OpenVPN-server en/of client TLS 1.3 ondersteunt, in ons geval hebben we in totaal drie coderingssuites die we kunnen gebruiken:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256

Om TLS 1.3 in de configuratiebestanden in te stellen, moeten we het argument " tls-ciphersuites " in plaats van " tls-cijfer » typique , gevolgd door de coderingssuite die we willen, zijn de drie suites die we hebben de veiligste die we tegenwoordig kunnen gebruiken. Bovendien zal dankzij het TLS 1.3-protocol de verbinding tot stand komen iets sneller, ideaal om snel de VPN-tunnel tot stand te brengen .

Vanaf OpenVPN versie 2.5 hebben we ook een symmetrisch coderingsalgoritme voor het OpenVPN-datakanaal dat we kunnen gebruiken CHACHA20-POLY1305dat is 256-bits stroomcodering en kan worden gebruikt om de werkelijke snelheid van de VPN die we installeren te versnellen. Als onze processor AES-NI niet ondersteunt om AES-GCM-verkeer te versnellen, raden we u aan altijd CHACHA20-POLY1305 te gebruiken omdat u betere prestaties zult hebben, maar als deze AES-NI ondersteunt, raden we u aan snelheidstests uit te voeren met beide om te zien hoe snel je komt. We moeten niet vergeten dat dit symmetrische coderingsalgoritme standaard wordt gebruikt in WireGuard VPN, een van de veiligste en snelste VPN's die we vandaag kunnen gebruiken. In dit geval, om dit coderingsalgoritme te configureren, zou het op dezelfde manier worden gedaan als AES-256-GCM, door "cipher" in te voeren en vervolgens de naam van de codering zoals we die voor u hebben genoemd.

Naast deze beveiligingsmaatregelen zullen we een extra HMAC-handtekening opnemen voor de eerste TLS-onderhandeling, op deze manier zullen we het systeem beschermen tegen mogelijke denial of service-aanvallen, UDP Port Flooding-aanvallen en ook TCP SYN-aanvallen. Als de client bij het verbinden met de server niet de juiste HMAC-handtekening heeft, wordt deze geblokkeerd. In eerdere versies van OpenVPN 2.4 was de richtlijn: tls-auth , die alleen verantwoordelijk was voor het verifiëren van een vooraf gedeelde sleutel die door OpenVPN zelf werd gegenereerd. Nu in versies hoger dan OpenVPN 2.4 heet het tls-crypt, het belangrijkste verschil is dat het naast authenticatie ook het kanaal versleutelt, zodat niemand de vooraf gedeelde sleutel kan vastleggen. De configuratie lijkt erg op elkaar, de sleutelgeneratie is in beide precies hetzelfde.

Ten slotte zullen we UDP gebruiken in plaats van TCP, omdat het sterker is tegen denial of service-aanvallen, we moeten niet vergeten dat UDP niet-verbindend, onbetrouwbaar en niet-verbindingsgericht is. We kunnen echter probleemloos TCP gebruiken om de VPN van alle voordelen van dit protocol te voorzien.

Stappen voor het werken met OpenVPN

Hieronder kunt u in detail zien hoe u deze software installeert, evenals alles wat u nodig heeft om het te starten met de best mogelijke beveiliging die deze oplossing ons biedt om een ​​virtueel particulier netwerk te creëren.

Downloaden en installeren

Het eerste dat we moeten doen, is OpenVPN op onze computer installeren, of het nu Windows of Linux is. Als u Windows gebruikt, moet u naar de officiële OpenVPN-downloadsite en installeer alles in de installatiewizard. Als u een besturingssysteem zoals Debian gebruikt (we zullen Debian 10 in deze handleiding gebruiken), moet u de volgende opdracht invoeren:

sudo apt update

sudo apt install openvpn

Easy-RSA 3 download voor certificaten

Na installatie moet u het Easy-RSA 3-softwarepakket downloaden, met dit softwarepakket kunt u eenvoudig en snel digitale certificaten maken. U kunt de lengte van de sleutel wijzigen, het type sleutel, of u een wachtwoord op de privésleutels wilt zetten, enz. Op de officiële website van het Easy-RSA 3-project op GitHub je hebt alle informatie en de mogelijkheid om een ​​.zip met alles te downloaden.

Als u een Linux-systeem gebruikt, raden we u aan de opdracht wget te gebruiken om het .zip-bestand te downloaden:

wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz

Vervolgens moeten we dit gedownloade bestand uitpakken en de map invoeren om het vars-bestand te configureren.

tar -zxvf EasyRSA-3.0.8.tgz

Configureer Easy-RSA 3 "vars"

Het bestand vars.voorbeeld is het centrum van alle certificaatconfiguratie, dit is waar we moeten definiëren of we op RSA of op EC gebaseerde certificaten willen maken. Op dezelfde manier kunnen we de certificaten ook ondertekenen met onder andere SHA256 of SHA512. Dat wil zeggen, we moeten dit configuratiebestand correct configureren om de digitale certificaten later te maken.

Het eerste wat we moeten doen is het bestand vars.example kopiëren naar dezelfde map met de naam "vars", als we het niet hebben met die naam "vars", zal het niet werken. We hebben ook de mogelijkheid om het bestand vars.example te hernoemen naar "vars", maar we raden u aan een back-up te maken voor het geval u iets verwijdert en het niet voor u werkt.

We gaan naar de hoofdmap van Easy-RSA3 en kopiëren het bestand als volgt:

cp vars.example vars

Zodra we het "vars" -bestand hebben, moeten we het bewerken met een bestandseditor via console of GUI, we zullen nano gebruiken vanwege het gemak. In het volgende configuratiebestand "vars" kunt u zien hoe EC eruit zou zien met het secp521r1-algoritme, ondertekend met SHA512 en we gebruikten een DN (Distinguished Name) met de CN (Common Name) in plaats van de "data from" typische organisatie. we hebben dit altijd eerder gedaan, op deze manier vergemakkelijken we het maken van certificaten, maar we zouden het ook kunnen doen door de typische organisatiegegevens aan te geven.

In het bestand zelf zijn de originele opmerkingen in het Engels en in het Spaans hebben we onze eigen opmerkingen geplaatst om het gemakkelijker te maken om te vinden wat er moet worden gewijzigd. Een heel belangrijk detail, WordPress plaatst automatisch deze symbolen << en >> terwijl het gewoon dubbele aanhalingstekens zou moeten plaatsen: "

# Easy-RSA 3-configuratie

# OPMERKING: Als u Easy-RSA hebt geïnstalleerd vanuit de pakketbeheerder van uw distributie, wijzigt u dit niet

# dit bestand aanwezig - u moet in plaats daarvan de hele easy-rsa-map kopiëren directory


# naar een andere locatie, zodat toekomstige upgrades uw wijzigingen niet overschrijven.

# HOE DIT BESTAND TE GEBRUIKEN

#


# vars.example bevat voorbeelden die zijn ingebouwd in Easy-RSA-instellingen.
U MOET benoemen


# dit 'vars'-bestand als u het als configuratiebestand wilt gebruiken.
Als je


# geboren de
faites niet, het wordt NIET automatisch gelezen wanneer u easyrsa-commando's aanroept.


#


# Het is niet nodig om dit configuratiebestand te gebruiken, tenzij u dat wilt


#
verandering standaard operationele instellingen. Deze standaardinstellingen zouden geschikt moeten zijn voor veel gebruik zonder


# moet het 'vars'-bestand kopiëren en wijzigen.


#


# Alle aanpasbare parameters worden weergegeven met opmerkingen en beginnen met het commando


# 'set_var' - dit betekent dat een niet-gecommentarieerd set_var-commando is


# gewijzigd door gebruiker.
Als u tevreden bent met een standaardwaarde, hoeft u dit niet te doen:


# stel de standaard in.

# OPMERKINGEN VOOR WINDOWS-GEBRUIKERS

#


# Paden voor Windows * MOET * backslashes gebruiken, of optioneel balken


backslashes #
dubbele ontsnappingen (Enkele schuine strepen worden aanbevolen.) Dit betekent uw pad


#
naar het openssl-binaire bestand kan er als volgt uitzien:


# "C: / Programmabestanden / OpenSSL-Win32 / bin / openssl.exe"

# Een beetje onderhoud: WIJZIG DEZE SECTIE NIET!

#


# Easy-RSA 3.x voedt niet rechtstreeks uit de omgeving.


# Klagen als een gebruiker dit probeert:


if [-z “$ EASYRSA_CALLER”];
harte


echo "Het lijkt erop dat u op zoek bent naar een Easy-RSA 'vars'-bestand."
> & 2


echo "Dit is niet meer nodig en is verboden.
Zie de sectie genaamd »> & 2


echo “'Hoe dit bestand te gebruiken' bij de eerste opmerkingen voor meer details. "
> & 2


terug 1


fi

# MAAK UW WIJZIGINGEN ONDER DIT PUNT

# Deze variabele wordt gebruikt als de basislocatie van de configuratiebestanden die nodig zijn om

#makkelijk.
Meer specifieke variabelen voor specifieke bestanden (bijvoorbeeld EASYRSA_SSL_CONF)


# kan deze standaard overschrijven.


#


# De standaardwaarde van deze variabele is de locatie van de


#
easyrsa-script zelf, waar zich ook de configuratiebestanden bevinden


#
in de easy-rsa boom.

#set_var EASYRSA "$ {0% / *}"

# Als uw OpenSSL-opdracht niet in het systeem PATH staat, moet u de

pad # hier.
Normaal gesproken betekent dit een volledig pad naar het uitvoerbare bestand, anders


# je had het hier ongedefinieerd kunnen laten en de weergegeven standaard zou worden gebruikt.


#


# Windows-gebruikers, vergeet niet om paden met slashes (of backslashes) te gebruiken


#
ontsnapt ). Windows-gebruikers moeten het volledige pad naar de


binair bestand
openssl # hier als het niet in hun systeem PATH staat.

#set_var EASYRSA_OPENSSL "openssl"

#


# Dit voorbeeld is in Windows-syntaxis - pas het aan voor uw pad als u PATH niet gebruikt:


#set_var EASYRSA_OPENSSL "C: / Programmabestanden / OpenSSL-Win32 / bin / openssl.exe"

# Pas deze variabele aan zodat deze verwijst naar uw binnenkort aan te maken sleuteldirectory. via

# standaard is dit "$ PWD / pki" (d.w.z. de submap "pki" van de


#
map waarin u bent op dit moment).


#


# WAARSCHUWING: init-pki zal een rm -rf doen in deze map, dus zorg ervoor dat u deze instelt


# correct!
(Interactieve modus zal u vragen voordat u handelt.)

#set_var EASYRSA_PKI "$ PWD / pki"

# Stel de X509 DN-modus in.

# Dit wordt gebruikt om aan te passen welke items in het Onderwerp-veld worden opgenomen als DN


# (dit is de "Distinguished Name".)


# Merk op dat in de modus cn_only de onderstaande organisatievelden niet worden gebruikt.


#


# De keuzes zijn:


# cn_only - gebruik alleen een CN-waarde


# org - gebruik het "traditionele" formaat Land / Provincie / Stad / Org / OU / e-mail / CN

#ELEGIMOS cn_only VOOR HET MAKEN VAN CERTIFICATEN

set_var EASYRSA_DN "cn_only"

# Organisatorische velden (gebruikt met 'org'-modus en genegeerd in 'cn_only'-modus.)

# Dit zijn de standaardwaarden van de velden die in de


# certificaat.
Laat geen van deze velden leeg, hoewel


#
interactief u kunt elk specifiek veld weglaten door de ". " symbool (niet geldig voor


# E-mail.)

#set_var EASYRSA_REQ_COUNTRY "VS"

#set_var EASYRSA_REQ_PROVINCE "Californië"


#set_var EASYRSA_REQ_CITY "San Francisco"


#set_var EASYRSA_REQ_ORG "Copyleft-certificaat Co"


#set_var EASYRSA "me_RexamILAS_set_var EASYRSA" _REQ_EMAILAS.net "


meset_var EASYRSA_REQ_EMAILAS.net "meset_var EASYRSA_REQ_EMAILAS_MysetOvar EASYRSA_REQ_EMAILAS.net" set_var "

# Kies een bitgrootte voor uw sleutelparen. De aanbevolen waarde is 2048. Met behulp van

# 2048-bits sleutels worden jarenlang als meer dan voldoende beschouwd


#
in de toekomst. Grotere sleutelgroottes vertragen de TLS-onderhandeling en maken de


generatie van #
DH-toets / parameter veel langer. Waarden tot 4096 moeten door de meesten worden geaccepteerd accepted


# software.
Alleen gebruikt als de crypto-alg rsa is (zie hieronder).

2048. #set_var EASYRSA_KEY_SIZE XNUMX

# De standaard crypto-modus is rsa; ec kan ondersteuning voor elliptische krommen inschakelen.

# Houd er rekening mee dat niet alle software ECC ondersteunt, dus wees voorzichtig wanneer u het inschakelt.


# De keuzes voor crypto alg zijn: (elk in kleine letters)


#*rsa


#*ec

# WIJ KIEZEN VOOR DE ELIPTISCHE CURVE VOOR HET MAKEN VAN CERTIFICATEN, STANDAARD IS RSA.

set_var EASYRSA_ALGO dit

# WE DEFINIREN DE NAAM VAN DE GEKOZEN ELIPTISCHE CURVE

set_var EASYRSA_CURVE secp521r1

# WIJ CONFIGUREREN DE VERLOOP VAN DE CA

3650. set_var EASYRSA_CA_EXPIRE

# WIJ CONFIGUREREN DE VERLOOP VAN GEMAAKTE CERTIFICATEN.

set_var EASYRSA_CERT_EXPIRE 1080

# Hoeveel dagen voor de volgende publicatiedatum van de CRL? Houd er rekening mee dat de certificaatintrekkingslijst nog steeds kan zijn:

# geanalyseerd nadat deze tijd is verstreken.
Het wordt alleen gebruikt voor een aanstaande


verwachte publicatiedatum.

# Hoeveel dagen voor de vervaldatum kan een certificaat zijn

# vernieuwd?


#set_var EASYRSA_CERT_RENEW 30

#set_var EASYRSA_CRL_DAYS 180

# Ondersteunt u verouderde "Netscape"-extensies? (kies "ja" of "nee".) De

#
Standaard is "nee" om het gebruik van verouderde extensies te ontmoedigen. Als je dit nodig hebt


feature # wordt gebruikt met –ns-cert-type, zet het hier op “yes”.
Deze ondersteuning


# moet worden vervangen door de modernere functie -remote-cert-tls.
Als u niet gebruikt


# niet –ns-cert-type in uw configuraties, het is veilig (en aanbevolen) om te vertrekken


# deze op "nee" zetten.
Indien ingesteld op 'ja', zal de


door de server ondertekende certificaten
pak de # nsCertType = serverkenmerk, evenals alle NS_COMMENT hieronder gedefinieerd in de


# nsCommentaar veld.

#set_var EASYRSA_NS_SUPPORT "nee"

# Als NS_SUPPORT is ingesteld op "ja", wordt dit veld toegevoegd als een nsComment-veld.

# Stel dit veld leeg om het weg te laten.
Met NS_SUPPORT ingesteld op "no", wordt dit veld genegeerd.

#set_var EASYRSA_NS_COMMENT "Easy-RSA gegenereerd certificaat"

# Een tijdelijk bestand dat wordt gebruikt om certificaatextensies op te zetten bij het ondertekenen. De standaard moet

# geschikt voor de meeste gebruikers;
Sommige gebruikers willen echter misschien een alternatief onder één


RAM-gebaseerde FS #, zoals / dev / shm of / tmp op sommige systemen.

#set_var EASYRSA_TEMP_FILE "$ EASYRSA_PKI / extensions.temp"



# OPMERKING: GEAVANCEERDE OPTIES ONDER DIT ITEM


# SPEEL MET ZE OP EIGEN RISICO


# Gebroken shell-opdrachtaliassen: als je een ernstig kapotte shell hebt die:

# een van deze POSIX-vereiste commando's die door Easy-RSA worden gebruikt, ontbreekt, u moet:


# stel een alias in op het juiste pad voor de opdracht.
Het symptoom zal zijn:


# een vorm van "opdracht niet gevonden"-fout van uw shell.
Dit betekent dat uw


#shell is BROKEN, maar je kunt het hier omzeilen als dat echt nodig is.
Ces


# weergegeven waarden zijn geen standaardwaarden: het is aan jou wat je moet doen als


# je raakt ze aan.


#


#alias awk = "/ alt / bin / awk"


#alias kat = »/ alt / bin / kat»

# Directory van X509-extensies:

# Als u de gebruikte X509-extensies wilt aanpassen, stelt u de directory in om te zoeken


# de extensies hier.
Elk type certificaat dat u ondertekent, moet een bijbehorende bestandsnaam hebben,


# en een optioneel bestand met de naam "COMMON" wordt eerst toegevoegd indien aanwezig.
Notez que


# indien hier niet ingesteld, is het standaardgedrag om eerst $ EASYRSA_PKI te zoeken, daarna


# terugvallen op $ EASYRSA voor de directory 'x509-types'.
Deze kun je vervangen


# detectie door een expliciete directory hier.


#


#set_var EASYRSA_EXT_DIR "$ EASYRSA / x509-types"

# OpenSSL-configuratiebestand:

# Als u een specifiek openssl-configuratiebestand moet gebruiken, kunt u hier naar verwijzen.


# Normaal gesproken wordt dit bestand automatisch gedetecteerd vanuit een bestand met de naam openssl-easyrsa.cnf in de map


# EASYRSA_PKI of EASYRSA (in die volgorde.) LET OP: dit bestand is:


# eigen zijn aan
Gemakkelijk-RSA en je kunt niet zomaar een standaard configuratiebestand gebruiken, dus dit is een functie


# Geavanceerd.

#set_var EASYRSA_SSL_CONF "$ EASYRSA / openssl-easyrsa.cnf"

# CN standaard:

# Het is beter om het met rust te laten.
Interactief definieert u het handmatig, en de


bellers
PARTIJ # worden verondersteld het zelf te definiëren.

#set_var EASYRSA_REQ_CN "Wijzig Mij"

# Cryptografisch overzicht om te gebruiken.

# Wijzig deze standaard niet tenzij u de beveiligingsimplicaties begrijpt.


# Geldige keuzes zijn: md5, sha1, sha256, sha224, sha384, sha512

# WIJ HEBBEN DE HASH SHA512 GESELECTEERD

set_var EASYRSA_DIGEST "sha512"

# Uitgestelde tijd. Laat deze optie uitgeschakeld, tenzij u van plan bent om Easy-RSA expliciet te bellen

# in batchmodus zonder invoer van de gebruiker, bevestiging van gevaarlijke operaties,


# of de meeste uitgangen.
Als u deze instelt op een niet-lege tekenreeks, wordt de batchmodus geactiveerd.

#set_var EASYRSA_BATCH ""

Zodra we alles hebben gewijzigd, slaan we het bestand op omdat we het later met deze waarden zullen gebruiken.

Aanmaken van de PKI: CA-, server- en clientcertificaten

Wanneer we het "vars"-bestand hebben geconfigureerd, gaan we verder met het maken van de openbare sleutelinfrastructuur (PKI) met het volgende commando (we gaan ervan uit dat u zich nog steeds in de hoofddirectory van Easy-RSA3 bevindt):

./easyrsa init-pki

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa init-pki

Opmerking: gebruik Easy-RSA-configuratie van: ./vars

init-pki klaar; u kunt nu CA of verzoeken aanmaken.

Uw nieuwe PKI-directory is: /home/bron/EasyRSA-v3.0.6/pki

Nadat de PKI is geïnitialiseerd, moet de certificeringsinstantie (CA) worden aangemaakt:

./easyrsa build-ca

Eenmaal uitgevoerd, volgt u de eenvoudige wizard voor het genereren van verkopen. Het wachtwoord dat u aanvraagt, wordt gebruikt om de privésleutel van de CA te beschermen, iets essentieels.

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa build-ca

Opmerking: gebruik Easy-RSA-configuratie van: ./vars

SSL gebruiken: openssl OpenSSL 1.1.1d 10 sep. 2019

Voer de nieuwe CA-sleutelwachtzin in:

voer de nieuwe CA-sleutelwachtzin opnieuw in:


lees de sleutel


EC door de EC-sleutel te schrijven


Kan /home/bron/EasyRSA-v3.0.6/pki/.rnd niet laden in RNG


139864421569664: error: 2406F079: random number generator: RAND_load_file: Kon bestand niet openen: ../ crypto / rand / randfile.c: 98: Filename = / home / bron / EasyRSA-v3.0.6 / pki / .rnd


U staat op het punt om informatie te worden gevraagd die zal worden opgenomen


in uw certificaataanvraag.


Wat u op het punt staat in te voeren, is een zogenaamde DN-naam.


Er zijn nogal wat velden, maar u kunt er enkele leeg laten


Voor sommige velden is er een standaardwaarde,


als u '.' invoert, blijft het veld leeg.


-


Algemene naam (bijvoorbeeld: uw gebruikers-, host- of servernaam) [Easy-RSA CA]: AUTHORITY-CERTIFICATIE

Het aanmaken van de CA is voltooid en u kunt nu certificaataanvragen importeren en ondertekenen.

Uw nieuwe CA-certificaatbestand voor publicatie bevindt zich op:


adres
: /home/bron/EasyRSA-v3.0.6/pki/ca.crt

Als u geen wachtwoord in de privésleutel van de CA wilt invoeren (dit wordt om veiligheidsredenen niet aanbevolen), moet u dit commando invoeren:

./easyrsa build-ca nopass

Nadat we de CA hebben gemaakt, moeten we het servercertificaat en de clientcertificaten maken. Dan moeten we het ondertekenen met de CA.

Maak het servercertificaat en onderteken het bij de certificeringsinstantie

Bij het maken van de server- en clientcertificaten kunnen we ze een wachtwoord voor de privésleutel geven, maar het wordt niet aanbevolen om dit op de server te doen, want elke keer dat we het starten, zal het ons om het wachtwoord vragen om het te gebruiken. Als we geen wachtwoord willen, plaatsen we "nopass" achter elk commando dat je hieronder ziet.

./easyrsa gen-req servidor-openvpn-redeszone nopass

De terminaluitgang is als volgt:

root @ debian-vm: /home/bron/EasyRSA-v3.0.6# ./easyrsa gen-req server-openvpn-redeszone nopass

Opmerking: gebruik Easy-RSA-configuratie van: ./vars

SSL gebruiken: openssl OpenSSL 1.1.1d 10 sep. 2019

Een EC-privésleutel genereren


een nieuwe privésleutel schrijven in '/home/bron/EasyRSA-v3.0.6/pki/private/servidor-openvpn-redeszone.key.bHJsAFg0KR'


-


U staat op het punt om informatie in te voeren die zal worden opgenomen


in uw certificaataanvraag.

Vergelijkbare items

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Terug naar boven knop