Browsing all articles tagged with OpenVPN
Dec
24

OpenVPN del 4

Author admin    Category Program     Tags , ,

Tidigare delar av denna guide
Del 1
Del 2
Del 3

Hittils har vi installerat och configurerar OpenVPN server, skapat Certificate Authority, och skapat serverns egena certificat och nyckel. Vi använder serverns CA för att skapa certificat och nycklar för varje client som kommer att connecta till denna VPN.

Bygga nycklar och certifikat

Det är en utmärkt lösning att varje client som ansluter till din vpn har sin egen unika certifikat och nyckel.

Det går dock att generera ett generellt certificat och nyckel som kan användas av alla clienter.

OBS: Som default som är OpenVPN inställt på att inte tillåta att clienter använder sig av samma certificate och nyckel ansluter sig samtidigt.

För mer info titta under duplicate-cn

/etc/openvpn/server.conf

För att skapa autheriserande information för alla enheter som ska koppla upp sig mot din VPN så ska du genomföra följande steg för varje enhet men kom ihåg att ändra namnet för varje enhet, detta gör det enklare att hålla koll på dom samt att du kan stänga av dom från din VPN om du skulle vilja det.

Jag kommer att använda mig av client som ett exempel på en enhets namn.

Vi gjorde de förrut med serverns nyckel, nu ska vi bygga en för client.
Även denna gången ska vi använda oss av

/etc/openvpn/easy-rsa.

./build-key client1

Även denna gången kommer du bli frågad om du vill ändra eller bekräfta Distinguished Name variablerna och dom två frågorna som ska lämnas tomma. Bara tryck på Enter för att gå vidare.

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

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

Dom två första ska som vanligt lämnas tomma, dom sista två ska besvaras med ett Y för att godkänna dom.

Följande text kommer då skrivas på skärmen för att visa att du lyckats.

Write out database with 1 new entries.
Data Base Updated

Nu ska vi kopiera den nyckel som generats av Easy-RSA från den mapp den ligger i till den vi skapade tidigare.
Vi ska även ändra filändelsen från .conf till .opvn

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn

Detta är en sektion som du kan upprepa för varje client och då ange ett annat namn för varje enhet istället för client.

Vi behöver också ändra i client filen för att lägga in IP adressen av våran OpenVPN server så den vet vart den ska connecta. Öppna filen client.ovpn genom att använda nano eller den text editor du har intstallerat.

nano /etc/openvpn/easy-rsa/keys/client.ovpn

Som första steg ska vi ändra my-server-1 till your_server_ip. Du hittar det på raden som börjar med remote.

/etc/openvpn/easy-rsa/keys/client.ovpn
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote your_server_ip 1194

Nu ska vi leta efter den text som syns nedan och då ta bort kommentaren för user nobody och group nobody precis som vi gjorde från början.

/etc/openvpn/easy-rsa/keys/client.ovpn
# Downgrade privileges after initialization (non-Windows only)
user nobody
group no group
Transferring Certificates and Keys to Client Devices

Som du kanske minns så skapade vi tidigare certificat och nycklar för clienten och att dom finns på din OpenVPN server i mappen

/etc/openvpn/easy-rsa/keys

För varje enhet så måste vi överföra certificatet och nyckeln och en profile template fil till en mapp på den enhet som ska använda din VPN tjänst.

I detta exemplet så användes client som en enhet och det krävs då att certificatet och nyckeln som finns på servern

/etc/openvpn/easy-rsa/keys/client1.crt
/etc/openvpn/easy-rsa/keys/client1.key

Överförs till enheten.

Filerna ca.crt och client.ovpn är samma för alla enheter, ladda ner dessa två filer också ca.crt ligger dock i en annan mapp än dom andra

/etc/openvpn/easy-rsa/keys/client.ovpn
/etc/openvpn/ca.crt

Hur du överför dessa filer är upp till dig och den enhet du använder dig av. Men du ska använda dig av SFTP (SSH file transfer protocol) eller SCP (Secure Copy). Detta kommer att skicka dina filer över en säker krypterad anslutning.

När du är klar så ska du ha dessa fyra filer på din client.

`client1.crt`
`client1.key`
client.ovpn
ca.crt

Det finns många olika metoder för att handskars med clientens filer men det är allra enklast att använda en unified profile. Detta genom att skapa och modifiera client.ovpn template filen för att includera serverns Certificate Authority (CA), och clientens certificat och dess nyckel. När du väl kopplat ihop detta så behövs enbart client.ovpn som behöver importeras in till clientens OpenVPN application.

Nedanför finns tre rader som kommer att behöva kommenteras bort så att vi kan includera certificat och nyckel direkt till the client.ovpn file. Det kommer se ut så här när du är klar.

/etc/openvpn/easy-rsa/keys/client.ovpn
# SSL/TLS parms.
# . . .
;ca ca.crt
;cert client.crt
;key client.key

Spara ändringarna och stäng filen.

Först ska vi lägga in Certificate Authority (CA)

echo ‘‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo ‘
‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn

Sen ska vi lägga in certificaten.

echo ‘‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.crt >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo ‘
‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn

Som tredje och sista steg ska vi lägga in nycklarna.

echo ‘‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn
cat /etc/openvpn/easy-rsa/keys/client1.key >> /etc/openvpn/easy-rsa/keys/client.ovpn
echo ‘
‘ >> /etc/openvpn/easy-rsa/keys/client.ovpn

Vi har nu en gemensam client profile som du med hjälp av ditt ftp program kan ladda upp client.opvn filen till ditt nya system.

Beroende på vilken platform du använder så finns det många användarvänliga applicationer för att connecta till en OpenVPN server.

Så där, om du har följt denna guide hela vägen och inte fått några problem så ska du nu ha en fungerande OpenVPN server, grattulerar 😀

För att kontrollera att den verkligen funkar, gå in någon sida som visar ditt ip, slå sedan på eller av OpenVPN och se hur ditt ip ändras.

Tidigare delar av denna guide
Del 1
Del 2
Del 3

Nov
30

OpenVPN del 3

Author admin    Category Program     Tags , ,

Tidigare delar av denna guide
Del 1
Del 2
Del 4

OpenVPN använder sig av certificat för att encryptera trafiken.

Det vi nu ska göra är att fixa våra certificate authority (CA) genom två steg.

1. Genom att ange variabler
2. Genera den slutgiltiga CA

OpenVPN fungerar på ett sådant sätt att clienten måste authentisiera sig mot serverns certificate och servern måste göra detsamma för att ömsesidigt förtroende fungerar dom två i mellan. För att få detta att fungera kommer vi andända oss av Easy RSA.

Kopiera över Easy-RSA scripten

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

Skapa sedan en mapp avsett för säkerhetsnyckeln.

mkdir /etc/openvpn/easy-rsa/keys

Nu ska vi ange parameters för certificatet

Öppna variables filen med hjälp av nano eller någon annan text editor.

nano /etc/openvpn/easy-rsa/vars

Variablerna nedan markerade med –> <--- ska ändras för att stämma överens med dina inställningar.

/etc/openvpn/easy-rsa/vars
export KEY_COUNTRY=”–>US<--" export KEY_PROVINCE="-->TX<--" export KEY_CITY="-->Dallas<--" export KEY_ORG="-->My Company Name<--" export KEY_EMAIL="-->sammy@example.com<--" export KEY_OU="-->MYOrganizationalUnit<--"

I samma fil ska du ändra på raden som syns nedanför, för enkelhets skull ska vi använda server som namnet på nyckeln. Du kan använda ett annat namn men då behöver du också uppdatera OpenVPN configurationen och ändra på filerna som kopplas mot server.key och server.crt.

I samma fil ska vi ange dom korekta uppgifterna för certificatet, leta efter raden precis efter föregående.

/etc/openvpn/easy-rsa/vars
# X509 Subject Field
export KEY_NAME=”EasyRSA”

Ändra KEY_NAME’s värde som annars via default är EasyRSA till det värde du vill. I denna beskrivning kommer server att användas.

/etc/openvpn/easy-rsa/vars
# X509 Subject Field
export KEY_NAME=”server”

Spara och stäng ner filen.

Sen ska vi generera Diffie-Helman paramentarerna genom att använda ett inbyggt verktyg dom heter dhparam som är ett OpenSSL verktyg, detta kan ta flera minuter

Användandet av -out visar servern vart den ska spara dom nya paramenterarerna.

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

Certificatet är nu genererat och det är hög tid vi skapar en nyckel.

Först och främst måste vi skifta till easy-rsa mappen.

cd /etc/openvpn/easy-rsa

Nu ska vi börja med att köra igång CA. Först ska vi starta igång Public Key Infrastructure (PKI).

Var vaksam på punkten (.) och mellanslag före ./vars commandot. Det visar på vilken mapp som är det som för tillfället är aktuell.

. ./vars

Följade varning kommer att skrivas ut på skärmen, det är inget att vara orolig för då mappen som visar sig i varningen är tom

OBS: om du kör ./clean-all så kommer datorn att göra en rm -rf på alla rsa nycklar.

Nästa steg är att rensa bort alla andra nycklar som kan vara ivägen för oss.

./clean-all

Till slut ska vi bygga upp CA med hjälp av OpenSSl commandon. Systemet kommer att be dig bekräfta “Distinguished Name” variabler som du angett tidigare, bara trycke ENTER för att acepterat

./build-ca

Tryck ENTER för att godkänna varje fråga om dom tidigare värdena du angett.

Installationen och configureringen av The Certificate Authority är nu komplett.

Nu ska vi göra dom sista inställningarna och sedan starta upp OpenVPN servern.

Vi arbetar fortfarande med

/etc/openvpn/easy-rsa

Skapa sedan din nyckel med ditt server namn, det var det som vi angav som KEY_NAME i configen tidigarebuild your key with the server name. This was specified earlier as KEY_NAME in your configuration file. Det värdet som angavs i denna guide var server

./build-key-server server

Återigen så kommer datorn att fråga efter bekräftelse på Distinguished Name. Tryck bara på ENTER för att verifiera dom tidigare angivna värdena
Denna gång kommer det vara ytterligare två frågor sen tidigare.

Lägg till extra information som skickas med certificatet.

A challenge password []:
An optional company name []:

Båda ska lämnas tomma, så tryck bara på ENTER för att gå vidare.
Två frågor i slutet kräver ett positivt svar (y).

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

Du kommer sedan få se följande på din skärm, vilket tyder på att du lyckats bra.

Output
Write out database with 1 new entries
Data Base Updated

Vi ska nu kopiera certificaten och nyckeln till /etc/openvpn eftersom OpenVPN kommer att söka i just den mappen.

cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn

Om du vill kan du kontrollera så att kopieringen fungerade.

ls /etc/openvpn

Du kommer då att se certificatet och nyckeln som kommer användas för servern.

Som det är nu så är OpenVPN redo för start så varför inte starta den och se vad som händer.

service openvpn start
service openvpn status

Status kommer att något som liknar följande som svar:

Output
* openvpn.service – OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled)
Active: active (exited) since Thu 2016-12-29 07:43:37 EDT; 9s ago
Process: 9723 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 9723 (code=exited, status=0/SUCCESS)
Most importantly, from the output above, you should find Active: active (exited) since… instead of Active: inactive (dead) since….

Din OpenVPN server är nu igång och fungerande, om status medelandet skulle säga att VPN tjänsten inte körs så kontrollera då /var/log/syslog för eventuella error

Options error: –key fails with ‘server.key’: No such file or directory

Medelandet visar på att nyckeln inte kopierats till /etc/openvpn Kopiera filen igen och prova starta servern och se vad som händer.

Tidigare delar av denna guide
Del 1
Del 2
Del 4

okt
19

OpenVPN del 2

Author admin    Category Program     Tags , ,

Tidigare delar av denna guide
Del 1
Del 3
Del 4

Nu ska vi ta och berätta för servern hur den ska skicka trafiken till clienten när denne är ute och surfar, om vi inte gör det så stannar trafiken helt sonika vid servern.

Slå igång “packet forwarding” genom att ange detta kommando:

echo 1 > /proc/sys/net/ipv4/ip_forward

Sen behöver vi göra detta permanent så att inställningarna ligger kvar efter en omstart. Öppna sysctl configurations filen genom att använda nano eller den text editor du vill.

nano /etc/sysctl.conf

I toppen av sysctl filen kommer det att stå:

/etc/openvpn/server.conf
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

Ta bort kommentaren på raden

net.ipv4.ip_forward.

Det kommer då att se ut så här:

/etc/openvpn/server.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Spara din ändringar och stäng ner filen.

Nu ska vi installera och configurera ufw

UFW är ett program som används för IPTables. Vi ska bara göra några få ändringar för att sedan slå på brandväggenWe only need to make a few rules and configuration edits. Then we will switch the firewall on. Om du vill veta mer om UFW, så titta gärna in guiden, så sätter du upp en brandvägg.

Först måste vi installera programmet

apt-get install ufw

Sedan anger vi att UFW får åtkomst till SSH:

ufw allow ssh

Denna guide kommer att använda OpenVPN med UDP så UFW måste alltså tillåta UDP trafik på port 1194.

ufw allow 1194/udp

Regeln att UFW ska skicka vidare trafiken behöver vi ange också. Det gör vi genom att ange det i configurations filen.

nano /etc/default/ufw

Titta efter följande:

/etc/default/ufw
DEFAULT_FORWARD_POLICY=”DROP”

Detta måste ändras från DROP till ACCEPT. Det kommer se ut så här när det är klart.

/etc/default/ufw
DEFAULT_FORWARD_POLICY=”ACCEPT”

Spara och stäng ner filen.

Nu ska vi lägga in lite regler för hur nätverks adresser ska översättas och ip maskearas med hjälp av uppkopplade clienter.

nano /etc/ufw/before.rules

Nästa lägg in raderna mellan –> och <-- i din conf fil utan pilarna.

/etc/ufw/before.rules
#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
# ufw-before-input
# ufw-before-output
# ufw-before-forward
#

–># START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES<-- # Don't delete these required lines, otherwise there will be errors *filter

Spara och stäng.

Med dessa ändringar så kan vi nu slå igång UFW. Skriv in följande kod.

ufw enable

När du slagit på UFW så ska det ge följande:

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

Svara y. Resultatet kommer då bli följande

Firewall is active and enabled on system startup

Vill du kontrollera UFWs primära brandväggs regler skriv då:

ufw status

Det ska då ge följande status:

Status: active

To Action From
— —— —-
22 ALLOW Anywhere
1194/udp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
1194/udp (v6) ALLOW Anywhere (v6)

Tidigare delar av denna guide
Del 1
Del 3
Del 4

Reggad på Commo.se Pinga Frisim
PRchecker.info
Twingly BlogRank
bloggping
Datorer & Mobilt Datorer bloggar
Creeper
Nätets bästa sajter! MediaCreeper it-bloggar.se
Online: Idag: Vecka: Denna Månad:
  • Partner links

  • Senaste inläggen

    Arkiv

    Kategorier

    Debian