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.