Sådan genereres et selvsigneret SSL-certifikat på Linux

I dagens guide vil vi diskutere, hvordan man genererer et selvsigneret SSL-certifikat på Linux samt hvordan man implementerer dem i Apache. SSL bliver mere og mere vigtigt, efterhånden som internettet bliver mere populært. Med gratis Let’s Encrypt-certifikater, der bliver en vare, som alle kan bruge, er der ingen grund til, at nogen ikke bruger SSL – for ikke at nævne fordelene ved søgeplacering og det faktum, at browsere og søgemaskiner stoler på dit websted.

Du kan dog også generere dit eget, selvsignerede SSL-certifikat til privat brug på din server. En stor grund til at gøre dette er kryptering. Mens dit personlige certifikat ikke betyder noget for browsere, og besøgende stadig får en advarselsmeddelelse, hvis de besøger dit websted direkte, kan du i det mindste være sikker på, at du er beskyttet mod “mand-i-midten” -angreb. Et selvsigneret certifikat er et godt første skridt, når du bare tester tingene ud på din server og måske ikke engang har et domænenavn endnu.

Lad os starte med vores trin for trin procedure på hvordan man opretter et selvsigneret SSL-certifikat på Linux.

Indholdsfortegnelse

Trin 1: Opret et RSA-tastaturpar

Det første trin i generering af dit eget selvsignerede SSL-certifikat er at bruge “openssl” -pakken på Linux / CentOS til at oprette et RSA-nøglepar. For at gøre dette skal du sørge for, at du har pakken installeret. Hvis ikke, skal du installere den med denne kommando:

sudo yum install openssl

Chancerne er, at du allerede har den tilgængelig på dit system – den skal nu installeres uanset. Når pakken er bekræftet at være installeret på dit system, skal du oprette tastaturparret ved hjælp af følgende kommando:

openssl genrsa -des3 -passout pass:x -out keypair.key 2048

Denne kommando bruger 2048 bit kryptering og udlæser en fil kaldet keypair.key, som vist her:

Som du kan se, er nøglen genereret og placeret i den aktuelle mappe.

Trin 2: Uddrag den private nøgle i “httpd” -mappe

/etc/httpd -mappen er det sted, hvor operativsystemet opbevarer alle vigtige SSL-relaterede emner. Lad os først oprette en ny mappe, der indeholder alle vores filer relateret til vores private nøgle:

sudo mkdir /etc/httpd/httpscertificate

Vi kaldte mappen httpscertificate og vil henvise til den med det navn i alle de andre eksempler på kommandolinjen. Du kan navngive mappen, hvad du vil.

For at udtrække den private nøgle fra tastaturfilen, som vi lige har oprettet, skal du indtaste fo llowing:

openssl rsa -passin pass:x -in keypair.key -out /etc/httpd/httpscertificate/012.345.678.90.key

Erstat sektionen med fed skrift med IP-adressen på din egen server. Eller hvis du har adgang til dit websted med et domænenavn, kan du også bruge det.

Dette opretter en .key -fil i den mappe, der vi lige har oprettet. Når denne proces er færdig, kan vi slette den originale tastaturfil:

rm keypair.key

Trin 3: Oprettelse af en “Certificate Signing Request” (CSR) -fil

Med nøglen kan vi oprette en speciel .csr -fil, som vi enten kan underskrive selv eller sende til en “Certificate Authority”. Det er i et standardiseret format og kan nemt genereres med vores nøgle fra det foregående trin. For at oprette den skal du skrive følgende kommando:

openssl req -new -key /etc/httpd/httpscertificate/012.345.678.90.key -out /etc/httpd/httpscertificate/012.345.678.90.csr

Udskift igen elementerne med fed skrift med den IP-adresse eller det domænenavn, som du valgte i trin 2. Når du kører denne kommando, beder værktøjet dig om nogle af dine personlige oplysninger, såsom din placering og organisationsnavn:

En CA (forkortelse for Certificate Authority) kan bruge disse oplysninger til at bekræfte, at du virkelig er den, du siger, du er. Prøv at udfylde felterne med så mange oplysninger som muligt.

Når du er færdig med at indtaste disse detaljer, afsluttes værktøjet med sit arbejde og placerer en .csr fil i den mappe, som vi oprettede til netop dette formål.

Trin 4: Oprettelse af certifikatet “.crt” -fil

Med CSR kan vi oprette den endelige certifikatfil som følger. Vi bruger nu vores .csr og .key filer til at oprette vores .crt fil:

Dette opretter en .crt -fil på stedet med alle vores andre filer. Vi ved nu, hvordan vi genererer vores selvsignerede SSL-certifikat. Her er et screenshot af de endelige filer i vores sikkerhedsmappe:

Nu skal vi fortælle Apache, hvor disse filer er.

Trin 5: Konfiguration af Apache til at bruge filerne

Alt hvad vi skal gøre nu er at vise Apache, hvor vores genererede selvsignerede certifikater er. Først skal vi installere mod_ssl pakken med kommandoen:

sudo yum install mod_ssl

Når dette er gjort, placerer dette en ssl.conf -fil inde i /etc/httpd/conf.d/ -mappen. Vi er nødt til at ændre denne standardfil. Brug din foretrukne teksteditor:

sudo vi /etc/httpd/conf.d/ssl.conf

Rul nu ned, indtil du finder linjerne startende med:

SSLCertificateFileSSL CertificateKeyFile

Skift standardstier med stierne til henholdsvis certifikatfilen og nøglefilen, som vist her:

Gem dine ændringer. Genstart bare Apache med:

sudo apachectl restart

Og du er færdig! Når Apache genstarter, konfigureres den til at tillade SSL-forbindelser ved hjælp af de genererede selvsignerede SSL-certifikater.

Når du opretter forbindelse til din IP-adresse via HTTPS næste gang, bliver du advaret om, at det ikke er et betroet certifikat:

Det er ok. Vi ved det, da vi selv underskrev det! Fortsæt bare og det fører dig til det aktuelle websted:

Her kan du se, at det bruger det certifikat, vi oprettede. Det er ikke meget brug for andre, der besøger dit websted, da de ikke kan bekræfte din identitet. Men du ved, det er sikkert, og desuden er det krypteret. Ingen mand i midten angriber!

Du ved nu, hvordan du genererer dine egne selvsignerede SSL-certifikater og implementerer dem på din Apache-webserver.

Hvis du er en af vores Managed VPS-hosting klienter, vi kan gøre alt dette for dig uden ekstra omkostninger. Kontakt blot vores systemadministratorer, så besvarer de din anmodning hurtigst muligt.

Leave a Reply

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *