Crearea unui ssl-certificat auto-semnat pentru apache în ubuntu

Având servere în centre de date sigure din Europa. Deschideți nor VPS server / VDS pe un SSD rapid în 1 minut!

Cel mai bun Web Hosting:
- va proteja datele împotriva accesului neautorizat într-un centru european de date securizat
- va plăti cel puțin în Bitcoin.
- Acesta va pune distribuție

- protecție împotriva atacurilor DDoS-
- gratuit de backup
- Uptime 99,9999%
- DPC - TIER III
- ISP - NIVELULUI I

Suport în 24/7/365 rusă lucra cu persoane juridice și persoane fizice. Ai nevoie de acum 24 de bază și 72 GB RAM. Vă rog!

Tarifele noastre competitive dovedesc că cele mai ieftine de găzduire pe care nu a știut!

O chestiune de minute, selectați configurația, să plătească și CMS pe un VPS este gata.
Bani Înapoi - 30 de zile!

Carduri bancare, moneda electronică prin intermediul unor terminale QIWI, Webmoney, PayPal, Novoplat și altele.

Pune o intrebare 24/7/365 Suport

Găsiți răspunsurile în baza noastră de date, și să respecte recomandările din

TLS (Transport Layer Security) și predecesorul SSL (Secure Socket Layers) - este protocoalele criptografice sunt utilizate pentru a proteja datele de pe Internet.

Această tehnologie vă permite să protejați schimbul de date între server și client și pentru a preveni interceptarea sau accesul neautorizat la informațiile transmise. În plus, aceste rapoarte oferă un sistem certificat care ajută utilizatorii să verifice autenticitatea site-urilor la care se duc.

Acest ghid va ajuta la crearea unui certificat auto-semnat pentru SSL-Apache Web Server în Ubuntu 16.04.

Notă. certificat semnat independente nu va fi în măsură să confirme identitatea serverului deoarece nu este semnat de către autoritatea de certificare de încredere (CA); Cu toate acestea, acest certificat va permite să cripta interacțiunea cu clienții web. certificat semnat auto-pentru utilizatorii care nu are nume de domeniu. Atunci când se recomandă disponibilitatea domeniului de a solicita un certificat semnat de către unul dintre fiabile AC. Puteți obține, de asemenea, un certificat de liber de la un serviciu de încredere Să Criptați.

cerinţe

  • utilizator non-root cu acces la sudo (instrucțiuni pentru crearea unui astfel de utilizator - în acest articol).
  • Pre-instalat serverul web Apache. Puteți instala stiva LAMP, una dintre componente este Apache a cărui (pentru prezenta acest ghid); pentru a instala numai Apache, efectuați numai instrucțiunile de instalare ale serverului web, sări peste secțiunile rămase.

1: Crearea unui certificat SSL

Pentru a lucra TLS / SSL utilizează o combinație de certificat publică și cheia privată. Cheia privată este stocată pe server și nu este dezvăluită. SSL certificat este utilizat de deschis și accesibil tuturor utilizatorilor care vor solicita conținut.

Pentru a crea un certificat auto-semnat și cheia, executați următoarea comandă:

sudo OpenSSL req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

Echipa va pune o serie de întrebări. Luați în considerare echipa mai multe componente:

După cum sa menționat deja, toate aceste opțiuni vor genera o cheie și certificat. Completați câmpurile care apar pe serverul de date, care va fi afișată în certificat.

Numele țării (cod din 2 litere) [AU]: SUA
Stat sau de provincie (nume complet) [Unele-stat]: New York
Numele localității (de exemplu, un oraș) []: New York City
Numele organizației (de exemplu, companie) [Internet Widgits Pty Ltd]: Bouncy castele, Inc.
Nume unitate organizațională (de exemplu, secțiunea) []: Ministerul toboganele cu apă
Nume comun (de exemplu, FQDN server sau numele tău) []: server_IP_address
Adresa de email []: admin@your_domain.com

Fișierele cheie și de certificare vor fi plasate în directorul / etc / ssl.

Dacă utilizați OpenSSL aveți nevoie pentru a crea cheile Diffie-Hellman, care sunt necesare pentru a sprijini PFS (secretul drept perfectă).

sudo OpenSSL dhparam -out /etc/ssl/certs/dhparam.pem 2048

Acest proces va dura câteva minute. Tastele DH va fi plasat în /etc/ssl/certs/dhparam.pem.

2: Configurarea Apache pentru suport SSL

Deci, în această etapă a certificatului și fișierele principale sunt create și stocate în directorul / etc / ssl. Acum, trebuie să editați configurația Apache:

Locul de amplasare cheie și certificat

Mai întâi trebuie să creați un fragment de configurare Apache, care definește mai multe setări SSL; Aici puteți selecta metoda de criptare SSL și includ caracteristici de securitate suplimentare. Parametrii setate aici pot fi folosite mai târziu de către orice gazdă virtuală pentru suport SSL.

Creați un director nou fragment Apache, etc / apache2 / conf-disponibile.

Se recomandă să se indice în scopul unui nume de fișier (de exemplu, ssl-params.conf):

sudo nano /etc/apache2/conf-available/ssl-params.conf

Pentru a asigura configurarea SSL, vă rugăm să consultați recomandările Remy Van Elst pe site-ul Cipherli.st. Acest site este destinat pentru distribuirea de setări simple și sigure de criptare pentru software-ul popular. pot fi găsite aici Mai multe opțiuni pentru Apache.

Notă. Această listă de setări potrivite pentru clienții mai noi. Pentru a obține setările pentru alți clienți, du-te la Da, da-mi un ciphersuite care funcționează cu software-ul moștenire / vechi.

Copiați toate opțiunile propuse.

De asemenea, trebuie să adăugați un parametru SSLOpenSSLConfCmd DHParameters, setarea suportului Diffie-Hellman.

Salvați și închideți fișierul.

Setarea gazdă virtuală standard de Apache

Acum trebuie să configurați un standard gazdă virtuală Apache (/etc/apache2/sites-available/default-ssl.conf) pentru a sprijini SSL.

Notă. Dacă utilizați o gazdă virtuală diferită, specificați numele său în locul /etc/apache2/sites-available/default-ssl.conf.

Înainte de a începe configurarea, faceți o copie de rezervă a fișierului gazdă.

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

sudo nano /etc/apache2/sites-available/default-ssl.conf



ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combinate
SSLEngine pe
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

SSLOptions + StdEnvVars


SSLOptions + StdEnvVars

# BrowserMatch "MSIE [2-6]" \
# Nokeepalive ssl-necurat-oprire \
# Downgrade-1.0 force-răspuns-1.0

Fișierul rezultat va avea următoarea formă:



ServerAdmin [email protected]
ServerName server_domain_or_IP
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combinate
SSLEngine pe
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

SSLOptions + StdEnvVars


SSLOptions + StdEnvVars

BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-necurat-oprire \
downgrade-1.0 force-răspuns-1.0

Salvați și închideți fișierul.

În acest moment, serverul acceptă HTTP și HTTPS. Pentru o mai bună protecție a serverului este recomandat să dezactivați traficul HTTP necriptat.

sudo nano /etc/apache2/sites-available/000-default.conf

Salvați și închideți fișierul.

3: Configurarea firewall-

Dacă activați UFW firewall (în conformitate cu manualul pentru setarea inițială), în acest stadiu, acesta trebuie să fie configurat pentru a sprijini traficul SSL. Din fericire, atunci când instalați Apache conectează UFW unele dintre profilurile lor.

sudo lista de aplicații UFW
aplicații disponibile:
Apache
Apache completa
Apache Secure
OpenSSH

Starea UFW sudo

În cazul în care este permisă numai traficul HTTP, setările vor avea următoarea formă:

Status: activ
Pentru Acțiune De la
-- ------ ----
OpenSSH PERMITE Oriunde
Apache PERMITE Oriunde
OpenSSH (v6) PERMITE Oriunde (v6)
Apache (v6) PERMITE Oriunde (v6)

Pentru a adăuga suport pentru traficul HTTPS, aveți nevoie pentru a activa și dezactiva Full Apache Apache profilul.

sudo UFW permite 'Apache Full'
sudo UFW permite ștergerea 'Apache'

Verificați starea curentă a firewall-ului:

Starea UFW sudo
Status: activ
Pentru Acțiune De la
-- ------ ----
OpenSSH PERMITE Oriunde
Apache Full PERMITE Oriunde
OpenSSH (v6) PERMITE Oriunde (v6)
Apache complet (v6) PERMITE Oriunde (v6)

4: Actualizați configurația Apache

Deci, configurați acum serverul web și firewall corectat. Puteți activa SSL și configurat pentru a sprijini o gazdă virtuală a certificatului, și apoi reporniți serverul web.

Activați SSL pentru modulul este Apache, mod_ssl și modulul mod_headers, care este necesară pentru fragmentul SSL:

sudo a2enmod ssl
sudo a2enmod antete

Rândul său, pregătit de o gazdă virtuală:

sudo a2ensite default-ssl

Deci, acum site-ul și toate modulele necesare sunt incluse. Verificați sintaxa pentru erori:

sudo apache2ctl configtest

În cazul în care nu există erori, comanda va reveni:

AH00558: apache2: Nu s-a putut determina în mod fiabil nume de domeniu complet calificat al serverului, folosind 127.0.1.1. Setați directiva „ServerName“ la nivel global pentru a suprima acest mesaj
sintaxa OK

Prima linie de ieșire raportează că directiva ServerName nu este setat la nivel global. Pentru a rezolva acest avertisment, editați directiva ServerName în /etc/apache2/apache2.conf, specificați numele de domeniu sau serverul IP (aceasta este opțională, această alertă pentru a elimina opțional).

În cazul în care se constată erori de sintaxă, corectați-le. Apoi reporniți serverul de web:

sudo systemctl repornire apache2

5: Testarea

Acum trebuie să ne asigurăm că traficul între client și server sunt criptate. Vă browserul la următorul link:

Deoarece certificatul a fost semnat de unul singur, browser-ul va raporta nesiguranței sale:

Conexiunea dvs. nu este privat
Atacatorii ar putea încerca să fure informații
(De exemplu, parole, mesaje sau carduri de credit). NET :: ERR_CERT_AUTHORITY_INVALID

Acesta este un comportament normal al programului într-o astfel de situație, deoarece browser-ul nu poate autentifica gazda. Cu toate acestea, în acest caz, trebuie doar criptați traficul către decât o auto-semnat COPES certificat, pentru ca un avertisment pentru browser poate fi ignorat. Pentru a face acest lucru, faceți clic pe butonul Advanced și faceți clic pe link-ul propus.

După aceea, veți avea acces la site-ul tau.

6: Permanent Redirect

Dacă toate setările de server funcționează corect, setați redirecționarea permanentă în loc temporar.

Deschideți fișierul gazdă virtuală Apache:

sudo nano /etc/apache2/sites-available/000-default.conf

Găsiți adăugat anterior Directiva Redirecționarea și a stabilit permanent.

Salvați și închideți fișierul. Verificați sintaxa:

sudo apache2ctl configtest

sudo systemctl repornire apache2

concluzie

Acum, serverul Apache poate cripta datele transmise, care va proteja serverele comunica cu clienții și pentru a preveni interceptarea traficului intruși.

Desigur, atunci când dezvoltarea site-ului sunt încurajați să semneze SSL certificat pentru un certificat de încredere autorităților, evitându-se astfel apariția alerte sperii.