Cum se generează certificate SSL pe Linux utilizând OpenSSL

Generate Ssl Certificate Openssl Featured
⏱️ 8 min read

Procesul de generare a certificatelor SSL/TLS este o sarcină comună pentru mulți administratori de sistem Linux. Din fericire, chiar dacă nu sunteți administrator, este ușor să faceți acest lucru folosind OpenSSL, un instrument open-source care este instalat implicit pe multe distribuții Linux. Aici explicăm ce este OpenSSL, cum să-l instalezi și, cel mai important, cum să-l folosești pentru a genera certificate SSL și TLS pe ​​sistemul tău.

Ce este OpenSSL?

OpenSSL este o bibliotecă dezvoltată de Proiectul OpenSSL pentru a oferi implementări SSL și TLS open-source pentru criptarea traficului de rețea. Este ușor disponibil pentru o varietate de distribuții bazate pe Unix și poate fi folosit pentru a genera certificate, chei private RSA și pentru a efectua sarcini generale legate de criptare.

Limitarea certificatului SSL autosemnat

Când utilizați OpenSSL pentru a genera un certificat SSL, acesta este considerat „autosemnat”. Înseamnă că certificatul SSL este semnat cu propria sa cheie privată și nu de la o Autoritate de Certificare (CA).

Ca atare, certificatul SSL nu poate fi „de încredere” și nu ar trebui utilizat pentru niciun site public. Dacă este folosit, utilizatorii vor vedea probabil avertismente din browserele lor despre certificat.

Un certificat autosemnat este util pentru dezvoltarea locală sau pentru orice aplicație care rulează în fundal și care nu se confruntă cu Internetul.

Alternativ, puteți utiliza LetsEncrypt sau puteți obține un certificat verificat de o autoritate de încredere, cum ar fi Comodo CA.

Instalare

Majoritatea distribuțiilor Linux au deja o versiune de OpenSSL încorporată în mod implicit. Dacă nu, îl puteți instala cu ușurință.

Îl puteți instala pe Ubuntu și Debian folosind apt comanda:

sudo apt install openssl

Pe CentOS (sau alternativa sa), îl puteți instala utilizând yum comanda:

sudo yum install openssl

De asemenea, îl puteți descărca cu ușurință de pe site-ul său ca fișier „.tar.gz”.

Utilizare de bază

Acum că ați instalat OpenSSL, putem arunca o privire la unele dintre funcțiile de bază oferite de program.

Puteți începe prin a vizualiza versiunea și alte informații relevante despre instalarea dvs. OpenSSL:

openssl version -a
Verificarea versiunii Openssl

Puteți consulta manualul furnizat:

openssl help
Comanda de ajutor Openssl 1

Generarea unui certificat folosind un fișier de configurare

Generarea unui certificat folosind OpenSSL este posibilă în multe feluri. Una dintre ele este utilizarea unui fișier de configurare care va specifica detalii despre organizație.

Pentru a începe, puteți crea un fișier de configurare numit „config.conf” și îl puteți edita folosind Nano:

sudo nano example.conf

Iată un exemplu de conținut al fișierului de configurare:

[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
x509_extensions= v3_ca
distinguished_name = dn
 
[dn]
C = US
ST = California
L = Los Angeles
O = Org
OU = Sales
emailAddress = [email protected]
CN = www.org.test.com
 
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
basicConstraints = CA:true
 
[req_ext]
subjectAltName = @alt_names
 
[alt_names]
DNS.1 = test.example.com

Puteți doar să copiați și să lipiți acest lucru în fișier și să faceți modificările necesare pentru a reflecta informațiile organizației dvs.

Editare fișier Nano Config

În continuare, trebuie să generați o cheie privată RSA, care va fi apoi folosită pentru a genera un certificat rădăcină -:

openssl genrsa -out example.key 2048

The -out flag este folosit în acest caz pentru a specifica numele cheii care va fi generată. De asemenea, este specificată o dimensiune a cheii de 2048 de biți, care este valoarea implicită pentru cheile RSA.

Openssl Generați cheia privată Rsa

De asemenea, va trebui să generați o Cerere de semnare a certificatului (CSR):

openssl req -new -key example.key -out example.csr -config example.conf

În acest caz, -key flag este folosit pentru a specifica cheia RSA, the -out flag specifică numele fișierului CSR și -config flag este folosit pentru a specifica numele fișierului de configurare.

După aceasta, puteți genera un certificat rădăcină, care este folosit pentru a genera certificatul nostru final:

openssl req -x509 -sha256 -nodes -new -key example.key -out example.crt -config example.conf

În procesul de generare a acestui certificat rădăcină, -sha256 flag este folosit pentru a specifica SHA256 ca rezumat al mesajului.

Acum, în ceea ce privește ultimul pas, putem în sfârșit să tastam următoarele pentru a genera certificatul nostru:

openssl x509 -sha256 -CAcreateserial -req -days 30 -in example.csr -extfile example.conf -CA example.crt -CAkey example.key -out final.crt

The -CA flag specifică certificatul rădăcină, the -CAkey flag specifică cheia privată și -extfile specifică numele fișierului de configurare. Fișierul „final.crt” va fi certificatul SSL pe care îl doriți.

Openssl Generați certificat autosemnat

Generarea unui certificat fără un fișier de configurare

Alternativ, puteți genera și un certificat folosind OpenSSL fără un fișier de configurare.

Puteți începe prin a genera o cheie privată RSA:

openssl genrsa -out example.key 2048

În continuare, va trebui să generați un CSR:

openssl req -new -key example.key -out example.csr

Când generați un CSR, vi se va solicita să răspundeți la întrebări despre organizația dvs.

Cerere de semnare a certificatului Openssl

În cele din urmă, putem genera certificatul în sine:

openssl x509 -req -days 30 -in example.csr -signkey example.key -out example.crt
Openssl Generarea certificatului fără fișier de configurare

Verificarea cheilor și certificatelor

Cheile și certificatele sunt ușor verificate și verificate folosind OpenSSL, cu -check steag:

openssl rsa -check -in example.key
Openssl Verificați cheia privată Rsa

Puteți verifica cererile de semnare a certificatelor:

openssl req -text -noout -in example.csr

si certificate de asemenea:

openssl x509 -text -noout -in example.crt
Certificat de verificare Openssl

întrebări frecvente

1. Mai trebuie să-mi fac griji pentru Heartbleed?

Heartbleed (CVE-2014-0160) este o vulnerabilitate veche găsită în OpenSSL în 2014. Ambele servere TLS și clienții care rulează OpenSSL au fost afectați. Un patch a fost lansat rapid la câteva zile după descoperirea sa, iar această vulnerabilitate nu este ceva de care să vă faceți griji în 2022, atâta timp cât rulați o versiune modernă și actualizată a OpenSSL.

Dacă utilizați OpenSSL pe sisteme bazate pe Debian și Ubuntu, îl puteți actualiza oricând rulând următoarele comenzi:

sudo apt update && sudo apt upgrade openssl

2. Cât timp durează certificatele SSL înainte de a expira?

Aceasta depinde de valoarea pe care o alegeți la generarea certificatului. Acest lucru poate fi specificat folosind -days flag la generarea unui certificat.

Credit imagine: Sls scris pe bloc cub din lemn prin 123RF

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x