Generera SSL certifikat i Debian Jessie: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
Line 73: Line 73:
|chmod 644 /etc/ssl/certs/www.example.com.crt}}
|chmod 644 /etc/ssl/certs/www.example.com.crt}}


[[Category:Guide]]
[[Category:GammalGuide]]

Latest revision as of 14:01, 12 August 2023

Denna guide beskriver hur man genererar sitt egna CA (Certificate Authority) certifikat och ett certifikat för en webserver i Debian Jessie. Vår domän i exemplen är example.com och vår webserver har hostname www.example.com.

Installera easy-rsa

Man kan generera alla certifikat direkt med openssl kommandon om man vill, men för att göra livet lite enklare kommer vi använda oss av lite skript från OpenVPN som heter easy-rsa:

root # apt-get install easy-rsa

Välj en plats där inställningar och certifikaten ska genereras.

Varning: Det är viktigt att de privata nycklarna inte faller i orätta händer. Välj därför en plats där vanliga användare inte har access. Det är också viktigt att du gör säkerhetskopior på certifikaten. Annars riskerar du behöva skapa nya ifall du tappar bort ditt CA certifikat.

Vi väljer att lägga dessa under /root:

root # cp -r /usr/share/easy-rsa /root

Gå till easy-rsa mappen:

root # cd /root/easy

Generera CA certifikat

Kopiera filen vars och anpassa den för våra behov:

root # cp vars vars-example.com

De variabler vi ändrar på är (anpassa enligt dina uppgifter):

export KEY_COUNTRY="SE"
export KEY_PROVINCE="<Landskap/Kommun>"
export KEY_CITY="<Stad>"
export KEY_ORG="example.com"
export KEY_EMAIL="root@example.com"
#export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="root"


Varning: Följande kommandon raderar alla nycklar under keys mappen. Se till att inga nycklar du vill spara ligger där.

Läs in dina inställningar, radera alla tidigare genererade certifikat och skapa ditt CA certifikat:

root # . ./vars-example.com
root #
./clean-all
root #
./build-ca

Bygg nödvändiga Diffie-Hellman parametrar:

root # ./build-dh

Generera server certifikat

Förutsätter att vi har skapat vårt CA certifikat. För att skapa ett server certifikat för www.example.com kör kommandot i easy-rsa katalogen:

root # ./build-key-server www.example.com

Följande filer har nu skapats i keys mappen:

  • www.example.com.crt
  • www.example.com.csr (Certificate Signing Request)
  • www.example.com.key (privat nyckel)

Installera CA certifikatet

Kopiera CA certifikatet till mappen /usr/local/share/ca-certificates samt ge den ett lite tydligare namn:

root # cp keys/ca.crt /usr/local/share/ca-certificates/example.com-ca.crt

Kör sedan kommandot:

root # update-ca-certificates


Notering: Certifikatet som installeras under /etc/ssl/certs kommer döpas till example.com-ca.pem


Du behöver installera detta certifikat på alla maskiner som ska kunna kontrollera att alla övriga certifikat kommer från dig.

Installera webserver certifikatet

Detta behöver bara göras på den maskin som kör webservern. Kopiera den privata nyckeln till mappen /etc/ssl/private och .crt filen till /etc/ssl/certs:

root # cp keys/www.example.com.key /etc/ssl/private
root #
cp keys/www.example.com.crt /etc/ssl/certs

Fixa sedan till ägare och rättigheter på filerna:

root # chown root:ssl-cert /etc/ssl/private/www.example.com.key
root #
chmod 640 /etc/ssl/private/www.example.com.key
root #
chown root:root /etc/ssl/certs/www.example.com.crt
root #
chmod 644 /etc/ssl/certs/www.example.com.crt