bg-tutorials

Cum să generezi un CSR pe Webmin

Acest tutorial vă arată cum să generați un CSR (Certificate Signing Request) pe Webmin. Webmin este un panou de control bazat pe browser pentru servere Linux, așa că aveți două modalități practice de a crea CSR-ul: prin modulele SSL integrate în Webmin (un formular grafic pentru panoul Webmin propriu-zis sau pentru o gazdă virtuală Apache) sau cu linia de comandă OpenSSL prin terminalul integrat al Webmin. Metoda OpenSSL este cea mai flexibilă și produce o cheie și un CSR pe care le puteți folosi cu orice server web (Apache, Nginx, Lighttpd sau orice altceva gestionat de Webmin).

Pașii de mai jos presupun Webmin 2.x modern și OpenSSL 3.x, care sunt versiunile actuale pe fiecare distribuție Linux compatibilă în 2026 (Ubuntu 22.04 / 24.04 / 26.04, Debian 12 și 13, RHEL 9 și 10, Rocky 9 și 10, AlmaLinux 9 și 10, openSUSE Leap 15.6 și Tumbleweed). Rezultatul este un CSR standard codat PEM, semnat cu SHA-256, pe care orice Autoritate de Certificare publică îl acceptă.

Pasul 1: Conectați-vă la Webmin

Deschideți Webmin într-un browser la URL-ul serverului dumneavoastră pe portul 10000:

https://yourwebsite.com:10000

Înlocuiți yourwebsite.com cu numele de gazdă sau adresa IP a serverului dumneavoastră. Portul 10000 este portul implicit al Webmin. Conectați-vă cu contul root sau cu un utilizator Webmin care are permisiunea de a gestiona SSL.

Pasul 2: Deschideți terminalul Webmin

Webmin 2.x vine cu un terminal integrat pe care îl puteți folosi fără a deschide o sesiune SSH separată. În panoul din stânga, chiar sub linkul Refresh Modules, faceți clic pe pictograma Terminal (a doua pictogramă din stânga) sau apăsați Alt + K pentru a-l deschide. Apare o linie de comandă shell, rulând ca utilizatorul cu care v-ați conectat.

Dacă preferați o conexiune SSH directă de pe propriul calculator, conectați-vă la același server și rulați comanda de la pasul următor acolo. Rezultatul este identic.

Pasul 3: Generați cheia privată și CSR-ul cu OpenSSL

În terminal, rulați comanda de mai jos. Aceasta creează o cheie RSA de 2048 de biți și un CSR corespunzător într-un singur pas, cu subiectul și Subject Alternative Names (SAN-uri) furnizate direct în comandă, astfel încât OpenSSL nu se oprește pentru a pune întrebări interactive:

sudo openssl req -new -newkey rsa:2048 -noenc 
-keyout /etc/ssl/private/yourwebsite.com.key 
-out /etc/ssl/private/yourwebsite.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com" 
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"

Pe Debian și Ubuntu, directorul /etc/ssl/private/ există deja. Pe RHEL, Rocky, AlmaLinux și Fedora, convenția este /etc/pki/tls/private/ pentru chei și /etc/pki/tls/certs/ pentru CSR. Alegeți căi pe care serverul dumneavoastră web le poate citi sau salvați fișierele în directorul personal și mutați-le mai târziu. Dacă directorul țintă nu există, creați-l mai întâi cu sudo mkdir -p /etc/ssl/private.

Ce face fiecare parte a comenzii:

  • -newkey rsa:2048 generează o nouă cheie RSA de 2048 de biți. 2048 de biți este minimul actual pentru certificatele publice. Folosiți rsa:4096 pentru o cheie mai mare sau treceți la ECDSA (vezi mai jos).
  • -noenc lasă cheia privată necriptată, astfel încât serverul web să o poată citi la pornire fără a solicita o parolă. (În OpenSSL 1.x, opțiunea echivalentă este -nodes; ambele funcționează în continuare în OpenSSL 3.x.)
  • -keyout și -out denumesc fișierul cheii private și, respectiv, fișierul CSR.
  • -subj furnizează subiectul certificatului direct în comandă. Înlocuiți valorile din exemplu cu datele dumneavoastră reale:
    • C: codul de țară din două litere unde organizația dumneavoastră este înregistrată legal (de exemplu, US).
    • ST: numele complet al statului sau provinciei (de exemplu, California), fără abrevieri.
    • L: numele complet al orașului (de exemplu, San Jose).
    • O: numele legal al organizației. Pentru un certificat Domain Validation (DV), omiteți acest câmp sau setați-l ca domeniul dumneavoastră.
    • CN: numele de domeniu complet calificat (FQDN) al site-ului pe care doriți să-l securizați (de exemplu, yourwebsite.com).
  • -addext „subjectAltName=…” listează fiecare nume de gazdă pe care certificatul trebuie să-l acopere. Autoritățile de Certificare publice validează pe baza listei SAN, deci includeți și Common Name aici. Pentru un wildcard, includeți atât wildcard-ul, cât și domeniul de bază: DNS:*.yourwebsite.com,DNS:yourwebsite.com. Wildcard-urile acoperă un singur nivel de subdomeniu și nu se potrivesc cu domeniul de bază de la sine.

Dacă preferați o cheie ECDSA (mai mică și mai rapidă, cu P-256 fiind larg acceptat), folosiți în schimb această variantă:

sudo openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -noenc 
-keyout /etc/ssl/private/yourwebsite.com.key 
-out /etc/ssl/private/yourwebsite.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com" 
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"

Bara oblică inversă de la sfârșitul fiecărei linii este o continuare de linie shell, astfel încât comanda rămâne o singură instrucțiune logică, împărțită pe mai multe linii pentru lizibilitate. Dacă terminalul dumneavoastră nu gestionează bine formatul pe mai multe linii, lipiți întreaga comandă pe o singură linie.

Pasul 4: Protejați cheia privată

Listați directorul pentru a confirma că ambele fișiere au fost create:

sudo ls -l /etc/ssl/private/yourwebsite.com.*

Ar trebui să vedeți două fișiere noi:

  • yourwebsite.com.key: cheia privată. Aceasta trebuie să rămână pe server, nu trebuie trimisă niciodată Autorității de Certificare și nu trebuie niciodată trimisă prin e-mail sau lipită într-un formular. Oricine deține cheia poate se poate da drept site-ul dumneavoastră.
  • yourwebsite.com.csr: Certificate Signing Request. Acesta este singurul fișier pe care îl trimiteți furnizorului SSL.

Restricționați permisiunile cheii private astfel încât doar root să o poată citi:

sudo chmod 600 /etc/ssl/private/yourwebsite.com.key

Pe distribuțiile cu SELinux activat (RHEL, Rocky, AlmaLinux, Fedora), reaplicați contextul SELinux corect după mutarea cheii în locația finală, de exemplu sudo restorecon -Rv /etc/pki/tls/.

Pasul 5: Verificați CSR-ul (opțional, dar recomandat)

Înainte de a trimite CSR-ul, confirmați că acesta conține subiectul și SAN-urile corecte și că semnătura sa este validă:

openssl req -noout -text -verify -in /etc/ssl/private/yourwebsite.com.csr

Verificați că linia Subject corespunde datelor dumneavoastră, că X509v3 Subject Alternative Name listează fiecare nume de gazdă pe care îl așteptați și că verificarea semnăturii afișează verify OK. Algoritmul de semnătură ar trebui să fie sha256WithRSAEncryption (sau ecdsa-with-SHA256 pentru o cheie ECDSA). Dacă preferați să nu folosiți linia de comandă, lipiți textul CSR-ului în decodorul nostru CSR online pentru a citi aceleași câmpuri într-un browser.

Pasul 6: Copiați și trimiteți CSR-ul

Afișați CSR-ul astfel încât să îl puteți copia:

sudo cat /etc/ssl/private/yourwebsite.com.csr

Veți vedea un bloc de text asemănător cu acesta:

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

Copiați întregul bloc, inclusiv liniile ––BEGIN CERTIFICATE REQUEST–– și ––END CERTIFICATE REQUEST–– (fiecare marcaj are cinci cratime pe fiecare parte). Lipiți-l în formularul de comandă atunci când achiziționați certificatul SSL și lăsați cheia privată corespunzătoare la locul ei pe server.

Generați un CSR prin modulele grafice ale Webmin

Dacă preferați să evitați linia de comandă, Webmin include două formulare grafice care creează un CSR pentru dumneavoastră. Alegeți-l pe cel care corespunde scopului certificatului.

Pentru o gazdă virtuală Apache (site-ul dumneavoastră)

  • Accesați Servers > Apache Webserver.
  • Deschideți fila Global Configuration, faceți clic pe Configure Apache Modules, bifați modulul ssl și faceți clic pe Enable Selected Modules dacă nu este deja activat.
  • În fila Existing virtual hosts, deschideți gazda virtuală de pe portul 443 (sau creați una) făcând clic pe pictograma sa în formă de glob.
  • Pe pagina Virtual Server Options, alegeți SSL Options, apoi faceți clic pe Create signing request.
  • Completați formularul (țară, stat, oraș, organizație, common name, e-mail, dimensiunea cheii 2048 sau mai mare și orice Subject Alternative Names), alegeți unde ar trebui Webmin să scrie fișierele .csr și .key și faceți clic pe Create Now.

Cele două fișiere apar la căile specificate. Folosiți fișierul .csr pentru comanda dumneavoastră și păstrați fișierul .key pe server.

Pentru panoul Webmin propriu-zis (portul 10000)

Dacă aveți nevoie doar de un certificat pentru interfața de autentificare Webmin, nu pentru un site web, generați CSR-ul din modulul de configurare Webmin:

  • Accesați Webmin > Webmin Configuration > SSL Encryption.
  • Deschideți fila Create Signing Request.
  • Completați numele de gazdă (numele public la care accesați Webmin), țara, statul, orașul, organizația, e-mailul și dimensiunea cheii, apoi faceți clic pe Create.

Webmin scrie cererea și cheia corespunzătoare sub /etc/webmin/. După ce CA-ul returnează certificatul emis, instalați-l din aceeași pagină SSL Encryption, astfel încât să înlocuiască fișierul implicit /etc/webmin/miniserv.pem.

După ce primiți certificatul

Odată ce Autoritatea de Certificare validează CSR-ul dumneavoastră și emite certificatul, instalați-l pe server. Pașii exacți depind de serviciul pentru care este destinat certificatul:

Dacă preferați un flux de lucru complet grafic, care rulează în browserul dumneavoastră, puteți construi CSR-ul și cu Generatorul nostru de CSR online. Acesta generează cheia privată în browserul dumneavoastră, așa că salvați cheia dumneavoastră și mutați-o pe server înainte de a finaliza instalarea.

Întrebări frecvente

Unde stochează Webmin CSR-ul și cheia privată?

Oriunde îi indicați dumneavoastră. Cu comanda OpenSSL, fișierele sunt scrise la căile pe care le transmiteți cu -keyout și -out. Cu formularul Create signing request al modulului Apache, alegeți căile de ieșire chiar în formular. Cu Webmin > Webmin Configuration > SSL Encryption, Webmin le scrie sub /etc/webmin/. Pe Debian și Ubuntu, locul convențional pentru chei este /etc/ssl/private/; pe RHEL, Rocky, AlmaLinux și Fedora este /etc/pki/tls/private/.

Trebuie să folosesc terminalul Webmin sau pot să mă conectez prin SSH?

Ambele variante funcționează. Terminalul integrat al Webmin (pictograma din panoul din stânga sau Alt + K) este convenabil deoarece sunteți deja autentificat, dar aceeași comandă OpenSSL rulată printr-o sesiune SSH obișnuită produce un CSR și o cheie identice. Folosiți-l pe cel pe care îl considerați mai ușor.

Care este diferența dintre -noenc și -nodes?

Fac același lucru: indică OpenSSL să lase cheia privată necriptată pe disc, astfel încât serverul web să o poată citi la pornire fără a solicita o parolă. -nodes este numele istoric și încă funcționează în OpenSSL 3.x. -noenc este noul alias introdus în OpenSSL 3.0 și este forma preferată pe viitor. Folosiți-l pe cel cu care sunteți obișnuit.

CSR-ul din Webmin este identic cu unul generat cu alt instrument?

Da. Un CSR este o cerere standard codată PEM, definită de PKCS #10, iar orice CA îl poate semna indiferent de unde a fost creat. CSR-ul pe care îl generați în terminalul Webmin, prin formularul Create signing request al modulului Apache sau cu Generatorul nostru de CSR online produc toate același tip de fișier. Ceea ce contează este ca cheia privată creată în același timp să rămână pe serverul pe care intenționați să instalați certificatul.

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10

A detailed image of a dragon in flight

Autor cu experiență, specializat în certificate SSL. Transformă subiectele complexe despre securitatea cibernetică în conținut clar și captivant. Contribuie la îmbunătățirea securității digite prin narațiuni cu impact.