Certificatele SSL ale site-urilor Web și partea lor de aplicare 2

Acest articol descrie procesul de instalare a certificatelor SSL pentru o comunicare sigură între client și server și abordează problemele legate de conversia certificatelor în diferite formate și utilizarea CRL pentru a restricționa accesul la site-ul Web.

Rashid Achilov. Administrator sisteme de telecomunicații, COMPLEX AS-SYSTEM

Rashid Achilov lucrează ca administrator al sistemelor de telecomunicații în compania "AS-SYSTEM COMPLEX", angajată în comerțul cu ridicata și cu amănuntul cu bunuri pentru copii. Înainte de aceasta, Rashid a lucrat în OOO "APF Granch" - o companie care dezvoltă și produce echipamente de înaltă tehnologie pentru industria minieră. De-a lungul anilor a acumulat o vastă experiență în domeniul administrării și securității sistemelor informatice. Principalele interese sunt FreeBSD, software-ul gratuit și tehnologiile Internet.

Instalarea certificatului de server

Abrevieri utilizate frecvent.

  • SSL - nivelul soclurilor securizate (strat socket securizat);
  • CA - centrul de certificare (centrul autorității);
  • CSR - cererea de semnare a certificatului;
  • CRL - lista certificatelor revocate (lista de revocare a certificatelor);
  • PKCS - standarde criptografice cu cheie publică (standarde criptografice cu cheie publică);
  • CN - denumire comună.

Procesul de creare a SSL-certificatul este descris în secțiunea anterioară pentru server. Prin urmare, se presupune că certificatul de server este creat și semnat în CA corporativă, precum și există fișiere și myfile.crt myfile.key, chei și certificate corespunzătoare site-ului. Dar, înainte de Web-site-ul, clienții pot începe să le folosească, fișierele trebuie să se conecteze la web-server (în acest articol utilizează Apache Web Server), prin configurația serverului de fișiere virtuale (sau rădăcina site-ului) așa cum se arată în Listarea 1:

Listarea 1. Conectarea certificatelor SSL

Lista 1 afișează numai parametrii (directivele de configurare Apache) referitoare la certificatele SSL, prin urmare trebuie să specificați alți parametri pentru configurația completă. Directivele specificate sunt scrise în bloc (pentru un server virtual) sau într-un fișier de configurare pentru serverul rădăcină (pentru un server Web standard).

În acest exemplu, SSL este activat (prima linie), pe a doua linie, versiunea 2.0 slabă și nesigură a protocolului SSL este dezactivată. Apoi, în linia a treia, sunt setați parametrii conexiunii securizate, care pot fi utilizați (setul de parametri care va fi selectat depinde și de clientul de conectare). Liniile 4 și 5 specifică SSLCertificateFile și SSLCertificateKeyFile - căile spre fișierul cu certificatul SSL și la fișierul cu cheia de certificat.

Pentru operarea SSL normală, trebuie să aveți numele serverului specificat în directiva ServerName. se potrivește cu numele specificat pentru câmpul CN în procesul de creare a certificatului. Dacă această regulă nu este îndeplinită, atunci când accesați site-ul, browserul Web va afișa în mod constant o pagină de avertizare.

Notă importantă. direcția ServerName este bifată. nu directiva ServerAlias. Dacă trebuie să specificați mai multe nume pentru server, le puteți specifica în directiva ServerAlias.

Instalarea certificatului în browserul Web al utilizatorului

Cu toate acestea, atunci când încercați prima să vă conectați la un site care găzduiește SSL-certificat semnat de CA întreprindere, încă obține o eroare, pentru că Web-browser-ul va argumenta că a existat o situație critică și este un certificat fals. Pagina de web-browser-ul Google Chrome va fi afișat în roșu în partea de sus a ecranului, și în Mozilla Firefox - galben, cu două pagini va avertiza utilizatorul că a existat un eșec critic în sistemul de securitate, așa cum este prezentat în figurile 1 și 2.

Figura 1. Afișarea unui certificat necunoscut în Google Chrome

Certificatele SSL ale site-urilor Web și partea lor de aplicare 2

Figura 2. Afișarea unui certificat necunoscut în Mozilla Firefox

Certificatele SSL ale site-urilor Web și partea lor de aplicare 2

Browserele web afișează mesajele afișate în imagini, deoarece nu pot verifica ce organizație a semnat acest certificat. După cum sa menționat în ultima parte, sistemul CA este ierarhic, iar certificatele de root-uri CA sunt distribuite cu browserele Web. Google Chrome utilizează magazinul de certificate Windows și lista sa de certificate rădăcină se poate modifica după ce instalați pachetul de actualizare de la Microsoft, iar Mozilla Firefox utilizează propriul magazin de certificate.

Deoarece acest certificat este semnat în cadrul organizației în sine, certificatul rădăcină din browser-ul Web, desigur, lipsește și crede că a apărut o eroare. Pentru a remedia această eroare, este suficient să distribuiți certificatul CA corporativ (fișier caserv.crt) tuturor computerelor din rețeaua locală înainte ca utilizatorii să înceapă să acceseze resursele Web corporative folosind protocolul HTTPS. Acest certificat va trebui să fie instalat în magazinul de sisteme Windows și în magazinul Firefox (și dacă utilizați și browserul Web Opera, apoi în propriul depozit).

Procesul de instalare a certificatului nu este deosebit de dificil, dar sistemul va clarifica de mai multe ori: este într-adevăr posibil să aveți încredere în acest editor de certificat. De asemenea, este necesar să se acorde atenție unde va fi instalat certificatul: acesta trebuie instalat în "Centrele de certificare a certificatelor de încredere" și nu în niciun alt grup.

Conversia unui certificat SSL dintr-un format în altul

Recodarea certificatului din formatul PEM în format DER se realizează prin următoarea comandă:

Dacă, dimpotrivă, trebuie să eliminați partea text din certificat, atunci se folosește următoarea comandă:

Instalarea unei conexiuni SSL la un site Web

După ce certificatul CA al companiei este instalat ca CA rădăcină, browserele Web recunosc certificatele semnate de acestea și nu mai afișă pagini cu avertismente, dar stabilesc imediat o conexiune cu resursa solicitată, după cum se arată mai jos.

Figura 3. Conexiunea SSL instalată în Google Chrome
Figura 4. Conexiunea SSL instalată în Mozilla Firefox

Când se conectează la un site Web cu un certificat SSL instalat, se pot verifica suplimentar următorii parametri: data de începere și expirarea certificatului. Dacă data de expirare nu a venit încă sau invers, data de expirare a trecut deja, atunci certificatul, indiferent dacă certificatul rădăcină CA este instalat, va fi declarat incorect.

Limitarea conectivității pentru clienții nedoriți

Utilizatorii externi nu ar trebui să aibă acces la rețeaua corporativă Intranet - este evident. Prin urmare, pentru a putea gestiona conexiunile client utilizând un certificat SSL de pe server, adăugați linii afișate în listare 2 la fișierul de configurare al serverului virtual.

Listarea 2. Adăugarea de restricții la conectarea clienților

Parametrii SSLCertificateChainFile și SSLCACertificateFile definesc întreprindere CA parametrul certificat SSLCARevocationFile definește calea către LCR, și opțiunea SSLVerifyClient activează verificarea certificatului de client. În acest exemplu, este introdusă cea mai simplă restricție: numai utilizatorii care au un certificat client semnat de către compania corporativă se pot conecta la site. În acest caz, nu vor fi efectuate verificări suplimentare, dacă computerul client care se conectează la server nu are un certificat client, atunci configurarea conexiunii va fi refuzată, după cum se arată mai jos.

Figura 5. Pagina cu un mesaj despre eșuarea conexiunii în Google Chrome

Certificatele SSL ale site-urilor Web și partea lor de aplicare 2

Figura 6. Pagina cu un mesaj despre eșecul conexiunii în Mozilla Firefox

Certificatele SSL ale site-urilor Web și partea lor de aplicare 2

Dacă condiția simplă de a avea un certificat SSL semnat de către compania corporativă nu este suficientă, atunci pe baza parametrului SSLRequire puteți implementa verificări mai complexe care vor lua în considerare diferiții parametri ai certificatului.

În acest caz, ar putea fi utilă această tehnică ca „proxy inversă“, în care, la fel ca în cazul unui proxy convențional, există unele programe care rulează pe server și primește o solicitare de la o parte, și apoi flux la altul. În acest caz, este suficient să se stabilească o conexiune securizată numai cu serverul proxy în sine, conexiunea dintre serverul proxy și site-ul Web protejat poate fi efectuată fără criptare.

concluzie

punctul C de vedere al mediului IT securizate, resurse de orice companie, în primul rând organizației au nevoie de protecție a HTTP-trafic și, de regulă, este necesară nu numai pentru a genera chei pentru toate serverele folosite, dar, de asemenea, să organizeze separarea lor pe porturi, din moment ce din cauza Datorită cerințelor protocolului HTTPS, mai multe servere Web virtuale cu suport HTTPS nu pot fi implementate pe același server fizic pe același port.

În plus, trebuie să luăm în considerare problema dacă este necesar să se limiteze cercul utilizatorilor care vor avea acces la resursele web specificate. Dacă este necesar, atunci toți utilizatorii vor avea nevoie pentru a genera un client SSL-certificate pentru a oferi actualizări regulate pentru a CRL revocarea certificatelor revocate și CRL activează suportul pe Web-site-ul la care accesul trebuie să fie restricționat.