OpenVPN 2.4.9 en mindre version, der løser nogle fejl

For nogle dage siden den nye version af OpenVPN 2.4.9 blev frigivet, er dette en korrigerende version der blev lanceret for at rette sårbarheden CVE-2.020-11.810, der gør det muligt at oversætte en klientsession til en ny IP-adresse, som indtil da ikke var blevet registreret.

Problemet kan bruges til at afbryde en nyforbundet klient på det tidspunkt, hvor peer-identifikationen allerede er genereret, men forhandlingen af ​​sessionstasterne ikke er afsluttet (en klient kan stoppe sessionerne for andre klienter).

Om OpenVPN

For dem der ikke er bekendt med OpenVPN, skal du vide det dette er et gratis softwarebaseret tilslutningsværktøj, SSL (Secure Sockets Layer), VPN Virtual Private Network.

OpenVPN tilbyder punkt-til-punkt-forbindelse med hierarkisk validering af forbundne brugere og værter eksternt. Det er en meget god mulighed inden for Wi-Fi-teknologier (IEEE 802.11 trådløse netværk) og understøtter en bred konfiguration, herunder belastningsbalancering.

OpenVPN er et multiplatform-værktøj, der har forenklet konfigurationen af ​​VPN'er sammenlignet med ældre og sværere at konfigurere såsom IPsec og gør det mere tilgængeligt for uerfarne mennesker i denne type teknologi.

Hvad er nyt i OpenVPN 2.4.9?

Udover rettelsen i den førnævnte fejl, også denne nye version implementerer en ændring af proceduren for at verificere interaktive brugertjenester (I Windows bekræftes konfigurationsplaceringen først, og derefter sendes en anmodning til domænecontrolleren.)

Når du bruger indstillingen "- auth-user-pass-fil", hvis der kun er et brugernavn i filen til at anmode om en adgangskode, tilgang der kræves en grænseflade til at administrere legitimationsoplysninger (stop med at anmode om en adgangskode ved hjælp af OpenVPN via konsolprompt).

På Windows-platformen er det tilladt at bruge unicode-søgestrenge i indstillingen "–cryptoapicert".

Løste også et problem med manglende evne til at downloade flere CRL'er (Certifikat tilbagekaldelsesliste) placeret i den samme fil, når du bruger indstillingen "–crl-verificer" på OpenSSL-systemer.

Og kompileringsproblemer er løst på FreeBSD-platformen ved hjælp af -enable-async-push-flag.

Faste meddelelser om adgangsfrase om OpenSSL-private nøgler og udløbne certifikater videregives til Windows-certifikatlager.

Hvordan installeres OpenVPN?

For dem der er interesserede i at kunne installere OpenVPN på deres system, de kan gøre det ved at følge instruktionerne som vi deler nedenfor.

Den første ting vil være at installere værktøjet og Easy RSA Da der skal udstedes pålidelige certifikater, skal der konfigureres en simpel Certificate Authority (CA):

sudo apt update

sudo apt install openvpn easy-rsa

Nu vi skal konfigurere certifikatmyndigheden med:

make-cadir ~/openvpn-ca

cd ~/openvpn-ca

Y lad os redigere nogle af variablerne som hjælper med at beslutte, hvordan certifikaterne oprettes:

gedit vars

Se efter sektionen easy-rsa, og rediger, så den ser sådan ud:

Efter nogle justeringer:

# These are the default values for fields

# which will be placed in the certificate.

# Don't leave any of these fields blank.

export KEY_COUNTRY="US"

export KEY_PROVINCE="CA"

export KEY_CITY="Tustin"

export KEY_ORG="SSD Nodes"

export KEY_EMAIL= class="hljs-string">"joel@example.com"

export KEY_OU="Marketing"

# X509 Subject Field

export KEY_NAME="vpnserver"

Du gemmer og indtaster terminalen:

source vars

./build-ca

En ny RSA-nøgle oprettes, og du bliver bedt om at bekræfte de detaljer, du har indtastet i filen. Gjort dette nu er det tid til at oprette klientens offentlige / private nøgler, hvor i [server] sætter de det ønskede navn.

./build-key-server [server]

Derefter skal de bygge Diffie-Hellman-nøglerne.

./build-dh

Endelig skal de generere en HMAC-signatur for at styrke certifikatet.

openvpn --genkey --secret keys/ta.key

source vars

./build-key client1

Y hvis du vil oprette adgangskodebeskyttede legitimationsoplysninger:

kilde vars

./build-key-pass client1

Nu skal vi konfigurere OpenVPN-serveren

cd ~/openvpn-ca/keys

sudo cp ca.crt ca.key vpnserver.crt vpnserver.key ta.key dh2048.pem /etc/openvpn

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf

Nu skal vi foretage nogle ændringer af konfigurationsfilen.

sudo nano /etc/openvpn/server.conf

Lad os først sørge for, at OpenVPN leder efter de rigtige .crt- og .key-filer.

Før:

ca ca.crt

cert server.crt

key server.key  # This file should be kept secret

derefter:

ca ca.crt

cert vpnserver.crt

key vpnserver.key  # This file should be kept secret

Vi anvender derefter identisk HMAC mellem klienterne og serveren.

Før:

;tls-auth ta.key 0 # This file is secret

derefter:

tls-auth ta.key 0 # This file is secret

key-direction 0

Hvis du foretrækker at bruge en anden DNS end opendns, du skal ændre de to linjer, der starter med push «dhcp-option.

Før:

# If enabled, this directive will configure

# all clients to redirect their default

# network gateway through the VPN, causing

# all IP traffic such as web browsing and

# and DNS lookups to go through the VPN

# (The OpenVPN server machine may need to NAT

# or bridge the TUN/TAP interface to the internet

# in order for this to work properly).

;push "redirect-gateway def1 bypass-dhcp"

# Certain Windows-specific network settings

# can be pushed to clients, such as DNS

# or WINS server addresses.  CAVEAT:

# http://openvpn.net/faq.html#dhcpcaveats

# The addresses below refer to the public

# DNS servers provided by opendns.com.

;push "dhcp-option DNS 208.67.222.222"

;push "dhcp-option DNS 208.67.220.220"

derefter:

# If enabled, this directive will configure

# all clients to redirect their default

# network gateway through the VPN, causing

# all IP traffic such as web browsing and

# and DNS lookups to go through the VPN

# (The OpenVPN server machine may need to NAT

# or bridge the TUN/TAP interface to the internet

# in order for this to work properly).

push "redirect-gateway def1"

# Certain Windows-specific network settings

# can be pushed to clients, such as DNS

# or WINS server addresses.  CAVEAT:

# http://openvpn.net/faq.html#dhcpcaveats

# The addresses below refer to the public

# DNS servers provided by opendns.com.

push "dhcp-option DNS 208.67.222.222"

push "dhcp-option DNS 208.67.220.220"

Derefter vi er nødt til at vælge de koder, der skal bruges:

Før:

# Select a cryptographic cipher.

# This config item must be copied to

# the client config file as well.

;cipher BF-CBC        # Blowfish (default)

;cipher AES-128-CBC   # AES

;cipher DES-EDE3-CBC  # Triple-DES

derefter:

# Select a cryptographic cipher.

# This config item must be copied to

# the client config file as well.

;cipher BF-CBC        # Blowfish (default)

cipher AES-256-CBC   # AES

;cipher DES-EDE3-CBC  # Triple-DES

auth SHA512

Lad os endelig lade OpenVPN bruge en ikke-privilegeret brugerkonto i stedet for root, som ikke er særlig sikker.

user openvpn

group nogroup

Nu kan vi gemme og lukke denne fil for at oprette den bruger:

sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

Og vi aktiverer tjenesten med:

sudo systemctl enable openvpn@server

sudo systemctl start openvpn@server

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.