Extinderea ultimului Să criptăm tutorialul în ceea ce privește certificatele gratuite SSL / TLS, în acest articol vom demonstra cum se obțin și se instalează certificate SSL / TLS gratuite emise de Să criptăm autoritatea de certificare pentru Apache server web activat CentOS / RHEL 7/6 și distribuțiile Fedora.
Dacă doriți să instalați Let’s Encrypt for Apache pe Debian și Ubuntu, urmați acest ghid de mai jos:
Configurare Să criptăm pentru a securiza Apache pe Debian și Ubuntu
A
înregistrări pentru a indica înapoi adresa serverului IP public.1. Dacă nu este deja instalat, demonul httpd poate fi instalat prin emiterea comenzii de mai jos:
# yum instalați httpd.
2. Pentru ca software-ul Să criptăm să funcționeze cu Apache, asigurați-vă că modulul SSL / TLS este instalat prin emiterea comenzii de mai jos:
# yum -y install mod_ssl.
3. În cele din urmă, porniți serverul Apache cu următoarea comandă:
# systemctl start httpd.service [Pe RHEL / CentOS 7] # service httpd start [Pe RHEL / CentOS 6]
4. Cea mai simplă metodă de instalare Să criptăm clientul clonează depozitul github în sistemul dvs. de fișiere. Pentru a instala git pe sistemul dvs., trebuie să activați depozitele Epel cu următoarea comandă.
# yum instala epel-release.
5. Odată ce Epel repos este adăugat în sistemul dvs., continuați și instalați git client executând comanda de mai jos:
# yum install git.
6. Acum, după ce ați instalat toate dependențele necesare pentru a face față Let’s Encrypt, accesați /usr/local/
director și începeți să trageți clientul Let’s Encrypt din formularul său oficial de depozitare github cu următoarea comandă:
# cd / usr / local / # git clona https://github.com/letsencrypt/letsencrypt.
7. Procesul de obținere a unui certificat gratuit Let’s Encrypt pentru Apache este automatizat pentru CentOS / RHEL mulțumită pluginului apache.
Să fugim Să criptăm comandă script pentru a obține un certificat SSL. Accesați directorul de instalare Let’s Encrypt din /usr/local/letsencrypt
și rulați letsencrypt-auto
comanda prin furnizarea --apache
opțiune și -d
pavilion pentru fiecare subdomeniu aveți nevoie de un certificat.
# cd / usr / local / letsencrypt. # ./letsencrypt-auto --apache -d_domeniul_dvs.tld
8. Furnizați adresa de e-mail care va fi utilizată de Let’s Encrypt pentru a recupera cheia pierdută sau pentru notificări urgente și apăsați introduce a continua.
9. Acceptați termenii licenței apăsând tasta Enter.
10. Pe CentOS / RHEL, în mod implicit, serverul Apache nu folosește conceptul de separare a directoarelor pentru gazdele activate de gazdele disponibile (inactive) ca Debian distribuție bazată nu.
De asemenea, găzduirea virtuală este dezactivată în mod implicit. Instrucțiunea Apache care specifică numele serverului (Numele serverului) nu este prezent în fișierul de configurare SSL.
Pentru a activa această directivă, Let’s Encrypt vă va solicita să selectați o gazdă virtuală. Deoarece nu găsește niciun Vhost disponibil, selectați ssl.conf
fișierul să fie modificat automat de Let’s Encrypt client și apăsați introduce a continua.
11. Apoi, alegeți Uşor metoda pentru HTTP solicitări și apăsați introduce a merge înainte.
12. În cele din urmă, dacă totul a decurs fără probleme, un mesaj de felicitare ar trebui să fie afișat pe ecran. presa introduce pentru a elibera promptul.
Asta e! Ați emis cu succes un SSL / TLS certificat pentru domeniul dvs. Acum puteți începe să navigați pe site-ul dvs. web folosind HTTPS protocol.
13. Pentru a testa corectitudinea strângerii de mână SSL / TLS a domeniului dvs. vizitați linkul de mai jos și testați certificatul pe domeniul dvs.
https://www.ssllabs.com/ssltest/analyze.html.
14. Dacă primiți o serie de rapoarte referitoare la vulnerabilitatea domeniului dvs. în cadrul testelor efectuate, atunci trebuie să remediați urgent aceste găuri de securitate.
O evaluare generală de C class face ca domeniul dvs. să fie foarte nesigur. Pentru a remedia aceste probleme de securitate, deschideți fișierul de configurare Apache SSL și efectuați următoarele modificări:
# vi /etc/httpd/conf.d/ssl.conf.
Căutați linia cu SSLProtocol
declarație și adăugați -SSLv3
la sfârșitul liniei.
Mergeți mai adânc în fișier, căutați și comentați linia cu SSLCipherSuite
prin plasarea unui #
în fața acestuia și adăugați următorul conținut sub această linie:
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES256-GCM-SHA384: DHE-RSA-A25: DHE-RSA-A25 DHE-DSS-AES128-GCM-SHA256: kEDH + AESGCM: ECDHE-RSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA: ECDHE-ECDSA-AES128-SHA: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-ECDSA: RSA-AES256-SHA: ECDHE-ECDSA-AES256-SHA: DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA: DHE-DSS-AES128-SHA256: DHE-RSA-AES256-SHA256: DHE-DSS-AES256-SHA: DHE- RSA-AES256-SHA: AES128-GCM-SHA256: AES256-GCM-SHA384: AES128-SHA256: AES256-SHA256: AES128-SHA: AES256-SHA: AES: CAMELLIA: DES-CBC3-SHA:! ANULL:! ENULL:! EXPORT:! DES:! RC4:! MD5:! PSK:! AECDH:! EDH-DSS-DES-CBC3-SHA:! EDH-RSA-DES-CBC3- SHA:! KRB5-DES-CBC3-SHA. SSLHonorCipherOrder activat. SSLOptions + StrictRequire.
15. După ce ați făcut toate modificările de mai sus, salvați și închideți fișierul, apoi reporniți demonul Apache pentru a aplica modificările.
# systemctl restart httpd.service [Pe RHEL / CentOS 7] # service httpd restart [Pe RHEL / CentOS 6]
16. Acum, testați din nou starea criptării domeniului dvs., accesând același link ca mai sus. Pentru a efectua retestări, apăsați linkul Ștergeți memoria cache de pe site.
https://www.ssllabs.com/ssltest/analyze.html
Acum ar trebui să iei o clasă A evaluare generală, ceea ce înseamnă că domeniul dvs. este extrem de securizat.
17. Această versiune beta a software-ului Let’s Encrypt lansează certificate cu data de expirare după 90 zile. Deci, pentru a reînnoi certificatul SSL, trebuie să executați fișierul letsencrypt-auto
comandați din nou înainte de data expirării, cu aceleași opțiuni și stegulețe utilizate pentru a obține certificatul inițial.
Un exemplu despre cum să reînnoiți manual certificatul este prezentat mai jos.
# cd / usr / local / letsencrypt. # ./letsencrypt-auto certonly --apache --renew-by-default -d your_domain.tld.
18. Pentru a automatiza acest proces, creați următorul script bash furnizat de github erikaheidi, în /usr/local/bin/
director cu următorul conținut. (scriptul este ușor modificat pentru a reflecta directorul nostru de instalare letsencrypt).
# vi / usr / local / bin / le-renew-centos.
Adăugați următorul conținut la le-renew-centos
fişier:
! / bin / bash domain = $ 1. le_path = '/ usr / local / letsencrypt' le_conf = '/ etc / letsencrypt' exp_limit = 30; get_domain_list () {certdomain = $ 1 config_file = "$ le_conf / regenerare / $ certdomain.conf" dacă [! -f $ config_file]; apoi ecou „[EROARE] Fișierul de configurare pentru certificatul $ certdomain nu a fost găsit.” ieșirea 1; fi domenii = $ (grep --only-matching --perl-regex "(? <= domains \ =). *" "$ {config_file}") last_char = $ (echo "$ {domains}" | awk '{ print substr ($ 0, lungime, 1)} ') if ["$ {last_char}" = ","]; then domains = $ (echo "$ {domains}" | awk '{print substr ($ 0, 1, length-1)}') fi echo $ domenii; } dacă [-z "$ domain"]; apoi ecou „[EROARE] trebuie să furnizați numele de domeniu pentru reînnoirea certificatului.” ieșirea 1; fi cert_file = "/ etc / letsencrypt / live / $ domain / fullchain.pem" if [! -f $ cert_file]; apoi ecou „Fișierul certificat [EROARE] nu a fost găsit pentru domeniul $ domain”. ieșirea 1; fi exp = $ (data -d "` openssl x509 -in $ cert_file -text -noout | grep "Not After" | cut -c 25-`" +% s) datenow = $ (data -d "acum" +% s) days_exp = $ (echo \ ($ exp - $ datenow \) / 86400 | bc) echo "Verificarea datei de expirare pentru $ domeniu ..." dacă ["$ days_exp" -gt "$ exp_limit"]; apoi ecou „Certificatul este actualizat, nu este nevoie de reînnoire ($ days_exp days left).” ieșire 0; else echo "Certificatul pentru domeniul $ este pe cale să expire în curând. Se începe solicitarea de reînnoire... "domain_list = $ (get_domain_list $ domain)" $ le_path "/ letsencrypt-auto certonly --apache --renew-by-default --domains "$ {domain_list}" echo "Repornirea Apache ..." / usr / bin / systemctl restart httpd echo "Proces de reînnoire finalizat pentru domeniul $ domain" ieșire 0; fi.
19. Acordați permisiuni de execuție pentru script, instalați bc pachetul și rulați scriptul pentru a-l testa. Utilizați numele de domeniu ca parametru de poziție pentru script. Emiteți comenzile de mai jos pentru a realiza acest pas:
# yum instalați bc. # chmod + x / usr / local / bin / le-renew-centos. # / usr / local / bin / le-renew-centos your_domain.tld.
20. În cele din urmă, folosind programarea Linux, adăugați o nouă lucrare cron pentru a rula scriptul la fiecare două luni, asigurându-vă că certificatul dvs. va fi actualizat înainte de data de expirare.
# crontab -e.
Adăugați următoarea linie în partea de jos a fișierului.
0 1 1 * / 2 * / usr / local / bin / le-renew-centos your_domain.tld >> /var/log/your_domain.tld-renew.log 2> & 1.
Asta e! Serverul dvs. Apache rulează peste CentOS / RHEL sistemul servește acum conținut SSL utilizând un certificat gratuit Let’s Encrypt SSL.