bg-tutorials

Cum se instalează un certificat SSL pe serverele macOS

Acest tutorial explică cum să instalați un certificat SSL pe macOS. Acesta acoperă importul certificatului și al pachetului CA cu Keychain Access, fluxul de lucru mai vechi macOS Server (Server.app) pe care multe configurații existente încă îl folosesc, și modalitatea reală pentru versiunile actuale de macOS, unde Server.app nu mai există.

Important: Apple a întrerupt produsul macOS Server (Server.app). Serviciile web, de mail și majoritatea serviciilor de găzduire au fost eliminate în 2018, iar aplicația în sine a fost retrasă în aprilie 2022. Ultima versiune, 5.12.2, rulează doar până la macOS Monterey. Pașii de mai jos acoperă atât metoda veche prin Server.app, cât și abordarea actuală.

Generați un cod CSR

Pentru a activa certificatul SSL, trimiteți detalii despre domeniul și organizația dvs. către Autoritatea de Certificare (CA). Acest pas standard se numește Cerere de Semnare a Certificatului, sau CSR. Aveți două opțiuni:

Trimiteți CSR-ul în timpul comenzii dvs. CA va valida cererea și, odată aprobată, va semna și emite certificatul. Veți primi fișierele certificatului prin email. După aceea, continuați cu instalarea de mai jos.

Instalați un certificat SSL pe macOS

Pașii de mai jos urmează fluxul de lucru original macOS Server (Server.app): importați pachetul CA și certificatul cu Keychain Access, apoi atribuiți certificatul serviciilor din aplicația Server. Dacă Mac-ul dvs. nu mai are aplicația Server, treceți la macOS actual: fără Server.app după Pasul 2, deoarece importul Keychain încă se aplică.

Pasul 1: Pregătiți fișierele certificatului

Descărcați arhiva ZIP trimisă de CA și extrageți-o. Ar trebui să aveți un fișier cu extensia .crt (certificatul dvs. principal) și un fișier cu extensia .ca-bundle (certificatele rădăcină și intermediare, numite și pachet CA). De asemenea, veți avea nevoie de cheia privată pe care ați creat-o odată cu CSR-ul.

Pasul 2: Adăugați fișierul .ca-bundle în Keychain Access

Începeți cu pachetul CA. Acesta conține certificatele rădăcină și intermediare pe care browserele și clienții le folosesc pentru a construi un lanț de încredere înapoi către o rădăcină de încredere. Fără acestea, vizitatorii pot vedea un avertisment „nesecurizat” sau de certificat neîncrezător.

  1. Localizați fișierul cu extensia .ca-bundle.
  2. Deschideți Keychain Access (căutați-l cu Spotlight sau găsiți-l în Applications > Utilities).
  3. Trageți și plasați fișierul .ca-bundle în fereastra Keychain Access. Adăugați-l în inelul de chei System, astfel încât să se aplice tuturor utilizatorilor și serviciilor.
  4. Pentru a confirma importul, tastați numele CA-ului dvs. în bara de căutare. Ar trebui să vedeți listate certificatele intermediare și certificatul rădăcină.

Puteți face același lucru din Terminal, ceea ce este util pe un server fără interfață grafică sau la distanță. Această comandă importă pachetul în inelul de chei al sistemului:

sudo security import yourdomain.ca-bundle -k /Library/Keychains/System.keychain

Pasul 3: Adăugați certificatul dvs. principal (Server.app vechi)

Acest pas folosește Server.app, întrerupt între timp. Dacă Mac-ul dvs. nu îl mai are, consultați secțiunea următoare în schimb.

  1. Deschideți aplicația Server și mergeți la Server > Certificates.
  2. Pe pagina principală, faceți dublu clic pe certificatul în așteptare (cel creat atunci când ați generat CSR-ul).
  3. În fereastra care se deschide, trageți și plasați fișierul dvs. .crt, apoi faceți clic pe OK.
  4. Un certificat valid afișează acum numele emitentului și data de expirare.

Pasul 4: Atribuiți certificatul serviciilor dvs. (Server.app vechi)

În aplicația Server, găsiți setarea Secure services using. Folosiți meniul derulant pentru a selecta certificatul SSL. Pentru a-l atribui unor servicii specifice, cum ar fi partajarea fișierelor sau mailul, faceți clic pe Custom și alegeți serviciile pe care doriți să le securizați. Când ați terminat, faceți clic pe OK.

Certificatul dvs. SSL este acum instalat. Pentru a confirma rezultatul și a verifica probleme comune, folosiți SSL Checker al nostru.

macOS actual: fără Server.app (folosiți Keychain plus Apache sau nginx)

Deoarece Apple a retras Server.app, versiunile actuale de macOS nu mai au un ecran Server > Certificates și nici atribuire de certificate per serviciu. Importul certificatului în Keychain Access (Pasul 2) încă se aplică pentru încrederea sistemului, dar serviți HTTPS configurând direct un server web. macOS vine cu Apache (httpd) integrat, iar nginx este disponibil prin Homebrew. Plasați certificatul și cheia acolo unde serverul le poate citi, de exemplu sub /etc/ssl/, și păstrați cheia privată accesibilă doar pentru root.

Opțiunea A: Apache integrat (httpd)

Editați /etc/apache2/httpd.conf și eliminați caracterul # de la începutul acestor linii, astfel încât modulele SSL și configurația SSL să se încarce:

LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf

Mai întâi, creați un fișier lanț complet (certificatul dvs. urmat de pachetul CA), pe care SSLCertificateFile îl așteaptă pe Apache 2.4.8 și versiuni mai noi:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt

Apoi editați /etc/apache2/extra/httpd-ssl.conf și asigurați-vă că ascultă pe portul 443. Acest fișier vine deja cu un bloc implicit <VirtualHost _default_:443> cu un certificat autosemnat, așa că fie editați acel bloc, fie adăugați virtual host-ul de mai jos și comentați cel implicit, pentru a evita două gazde pe portul 443:

<VirtualHost *:443>
    ServerName www.yourdomain.com
    DocumentRoot "/Library/WebServer/Documents"

    SSLEngine on
    SSLCertificateFile    /etc/ssl/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/ssl/private/yourdomain.key

    SSLProtocol         -all +TLSv1.2 +TLSv1.3
    SSLHonorCipherOrder off
</VirtualHost>

Căile de mai sus presupun că cheia privată se află în /etc/ssl/private/, care este posibil să nu existe implicit pe macOS. Creați-o mai întâi și păstrați cheia accesibilă doar pentru root:

sudo mkdir -p /etc/ssl/private
sudo chmod 600 /etc/ssl/private/yourdomain.key

Testați configurația înainte de a reporni, apoi reporniți Apache:

sudo apachectl configtest
sudo apachectl restart

Ar trebui să vedeți Syntax OK din test. Dacă primiți o eroare, remediați-o înainte de repornire, pentru ca serverul să nu eșueze la pornire.

Opțiunea B: nginx

Dacă rulați nginx, faceți referire la fișierul lanț complet și la cheie în blocul dvs. de server, apoi reîncărcați:

server {
    listen 443 ssl;
    server_name www.yourdomain.com;

    ssl_certificate     /etc/ssl/yourdomain_fullchain.crt;
    ssl_certificate_key /etc/ssl/private/yourdomain.key;

    ssl_protocols TLSv1.2 TLSv1.3;
}
sudo nginx -t
sudo nginx -s reload

Pentru gestionarea configurațiilor la nivelul unei flote de Mac-uri (rolul pe care îl îndeplinea vechiul Profile Manager), folosiți o soluție MDM actuală. Pentru a verifica certificatul instalat de pe orice mașină, folosiți SSL Checker al nostru.

Întrebări frecvente

Mai este disponibil macOS Server?

Nu. Apple a eliminat majoritatea serviciilor de găzduire din macOS Server în 2018 și a întrerupt aplicația în sine în aprilie 2022. Ultima versiune, 5.12.2, rulează doar până la macOS Monterey și nu este acceptată pe versiunile mai noi de macOS. Pe macOS actual, importați certificatele în Keychain Access și configurați direct Apache sau nginx, în loc să folosiți aplicația Server.

Cum instalez un certificat SSL pe macOS fără aplicația Server?

Importați pachetul CA și certificatul dvs. în Keychain Access, astfel încât sistemul să aibă încredere în lanț, apoi îndreptați serverul dvs. web către certificat și cheia privată. macOS include Apache (configurat în /etc/apache2/), iar nginx poate fi instalat prin Homebrew. Setați SSLCertificateFile și SSLCertificateKeyFile în Apache, sau ssl_certificate și ssl_certificate_key în nginx, apoi testați configurația și reporniți serverul.

Unde stochează macOS certificatele SSL?

Certificatele de încredere se află în inelele de chei gestionate de Keychain Access. Certificatele la nivel de sistem se află în inelul de chei System, stocat la /Library/Keychains/System.keychain. Fișierele certificat și cheie privată pe care le citește serverul dvs. web pot fi plasate în altă parte, de exemplu sub /etc/ssl/, atâta timp cât configurația serverului indică spre ele, iar cheia rămâne accesibilă doar pentru root.

Trebuie să instalez pachetul CA pe macOS?

Da. Pachetul CA conține certificatele intermediare și rădăcină care permit browserelor și clienților să construiască un lanț de încredere complet. Dacă îl omiteți, unii vizitatori vor vedea un avertisment de lanț de certificate neîncrezător sau incomplet. Importați fișierul .ca-bundle în Keychain Access, sau concatenați-l după certificatul dvs. într-un singur fișier lanț complet pentru Apache sau nginx.

Cum verific dacă certificatul este instalat corect?

Deschideți site-ul dvs. într-un browser și verificați lacătul, sau interogați serverul din Terminal cu OpenSSL pentru a citi certificatul pe care îl servește:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Aceasta afișează emitentul și datele de valabilitate. Puteți rula, de asemenea, o verificare externă completă cu SSL Checker al nostru.

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.