Šajā apmācībā mēs uzzināsim, kā nodrošināties Apache HTTP serveris ar TLS/SSL piedāvātie sertifikāti Šifrēsim iekšā FreeBSD 11.x. Mēs arī apskatīsim, kā automatizēt Lets ’Encrypt sertifikāta atjaunošanas procesu.
Lasīt arī: FreeBSD instalējiet Let's Encrypt for Nginx
TLS/SSL sertifikātus Apache tīmekļa serveris izmanto, lai šifrētu saziņu starp gala mezgliem vai parastu starp serveri un klientu, lai nodrošinātu drošību. Šifrēsim piedāvājumus sertifikāts komandrindas utilīta, kas ir programma, kas var atvieglot veidu, kā bez maksas iegūt uzticamus sertifikātus.
1. Pirms sākat instalēt lietderību certbot un izveidot TSL konfigurācijas failu Apache, vispirms izveidojiet divus atšķirīgus direktorijus ar nosaukumu vietnes-pieejamas un iespējotas vietnes Apache saknes konfigurācijas direktorijā, izdodot tālāk norādītās komandas.
Šo divu direktoriju mērķis ir atvieglot virtuālās mitināšanas konfigurācijas pārvaldību sistēmā, nemainot galveno Apache
httpd.conf konfigurācijas failu katru reizi, kad pievienojam jaunu virtuālo saimniekdatoru.# mkdir/usr/local/etc/apache24/sites-available. # mkdir/usr/local/etc/apache24/vietnes iespējotas.
2. Kad esat izveidojis abus direktorijus, atveriet Apache httpd.conf failu ar teksta redaktoru un pievienojiet šādu rindu faila beigās, kā parādīts zemāk.
# nano /usr/local/etc/apache24/httpd.conf.
Pievienojiet šādu rindu:
IncludeOptional etc/apache24/sites-enabled/*. Conf.
3. Pēc tam iespējojiet TLS moduli Apache, izveidojot šādu jaunu failu ar nosaukumu 020_mod_ssl.conf iekšā moduļi.d direktoriju ar šādu saturu.
# nano /usr/local/etc/apache24/modules.d/020_mod_ssl.conf.
Pievienojiet failam šādas rindas 020_mod_ssl.conf.
Klausies 443. SSLProtokols ALL -SSLv2 -SSLv3. SSLCipherSuite HIGH: MEDIUM:! ANULL:! MD5. Iebūvēts SSLPassPhraseDialog. SSLSessionCacheTimeout 300.
4. Tagad komentējiet SSL modulis no /usr/local/etc/apache24/httpd.conf failu, noņemot atsauci no šīs rindas sākuma, kā parādīts zemāk:
LoadModule ssl_module libexec/apache24/mod_ssl.so.
5. Tālāk izveidojiet TLS jūsu domēna konfigurācijas failu vietnes-pieejamas direktoriju, vēlams ar jūsu domēna nosaukumu, kā parādīts zemāk esošajā fragmentā:
# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf.
Pievienojiet failam šādu virtualhost konfigurāciju bsd.lan-ssl.conf.
ServerName www.yourdomain.com ServerAlias yourdomain.com DocumentRoot "/usr/local/www/apache24/data/" SSLEngine SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem" SSLOptions +StdEnvVars. SSLOptions +StdEnvVars. BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-cleanan-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log" \ " %t %h %{SSL_PROTOCOL} x %{SSL_CIPHER} x \ " %r \" %b " Opcijas Indeksi FollowSymLinks MultiViews #AllowOverride kontrolē, kādas direktīvas var ievietot .htaccess failos. AllowOverride All #Controls, kas var iegūt saturu no šī servera faila Pieprasīt visu piešķirto ErrorLog "/var/log/apache/yourdomain.ssl-error.log" CustomLog "/var/log/apache/yourdomain.ssl-access_log" kopā
Noteikti nomainiet domēna nosaukuma mainīgo no Servera nosaukums, ServerAlias, ErrorLog, CustomLog paziņojumus atbilstoši.
6. Nākamajā solī, lai instalētu, izdodiet šādu komandu sertifikāts lietderība, ko nodrošina Šifrēsim, ko izmantos, lai iegūtu Apache TSL bezmaksas sertifikāti jūsu domēnam.
Instalēšanas laikā sertifikāts ekrānā tiks parādīta virkne uzvedņu. Lai konfigurētu, izmantojiet zemāk redzamo ekrānuzņēmumu sertifikāts lietderība. Turklāt Certbot utilītas apkopošana un instalēšana var aizņemt kādu laiku, atkarībā no jūsu ierīces resursiem.
# cd/usr/ports/security/py-certbot. # padariet instalāciju tīru.
7. Kad apkopošanas process ir pabeigts, izdodiet tālāk norādīto komandu, lai to atjauninātu sertifikāts lietderība un sertifikāts nepieciešamās atkarības.
# pkg instalējiet py27-certbot. # pkg instalēt py27-acme.
8. Lai ģenerētu sertifikātu savam domēnam, izdodiet komandu, kā parādīts zemāk. Pārliecinieties, vai esat norādījis pareizu tīmekļa saknes atrašanās vietu, kur failu sistēmā tiek glabāti jūsu vietnes faili (DocumentRoot direktīva no jūsu domēna konfigurācijas faila), izmantojot -ū
karogs. Ja jums ir vairāki apakšdomēni, pievienojiet tos visus ar -d
karogs.
# certbot certonly -webroot -w/usr/local/www/apache24/data/-d yourdomain.com -d www.yourdomain.com.
Iegūstot sertifikātu, norādiet e -pasta adresi sertifikāta atjaunošanai, nospiediet a, lai piekristu šifrēšanas noteikumiem un nosacījumiem, un n
lai nekopīgotu e -pasta adresi Šifrēsim partnerus.
Certbot komandu izvade
Atkļūdošanas žurnāla saglabāšana /var/log/letsencrypt/letsencrypt.log. Ievadiet e -pasta adresi (izmanto steidzamai atjaunošanai un drošības paziņojumiem) (ievadiet “c”. atcelt):[e -pasts aizsargāts] Šķiet, ka ar šo adresi ir problēmas. Ievadiet e -pasta adresi (izmantota. steidzama atjaunošana un drošības paziņojumi) Ja jūs patiešām vēlaties to izlaist, varat. palaidiet klientu ar --register-unsafely-without-email, bet pārliecinieties, ka tad. dublējiet konta atslēgu no/etc/letsencrypt/accounts (lai atceltu, ievadiet “c”):[e -pasts aizsargāts] Lūdzu, izlasiet pakalpojumu sniegšanas noteikumus vietnē. https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. Jums jāpiekrīt. lai reģistrētos ACME serverī vietnē. https://acme-v01.api.letsencrypt.org/directory. (A) gree/(C) ancel:a
Vai būtu gatavs dalīties ar savu e-pasta adresi ar Electronic Frontier Foundation, projekta “Let's Encrypt” dibinātāju un bezpeļņas organizāciju, kas izstrādā Certbot? Mēs vēlamies jums nosūtīt e -pastu par EZF un mūsu darbu, lai šifrētu tīmekli, aizsargātu tā lietotājus un aizstāvētu digitālās tiesības. (Jā nē:n
Jauna sertifikāta iegūšana Veiciet šādas problēmas: http-01 izaicinājums vietnei www.domain.com Izmantojot tīmekļa saknes ceļu/usr/local/www/apache24/data visiem nepārspējamajiem domēniem. Gaida verifikāciju... Izaicinājumu tīrīšana SVARĪGAS PIEZĪMES: - Apsveicam! Jūsu sertifikāts un ķēde ir saglabāti vietnē /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem. Jūsu sertifikāta derīguma termiņš beigsies 2017-11-15. Lai nākotnē iegūtu jaunu vai pielāgotu šī sertifikāta versiju, vienkārši palaidiet certbot vēlreiz. Lai neinteraktīvi atjaunotu * visus jūsu sertifikātus, palaidiet “certbot atjaunot” - jūsu konta akreditācijas dati ir saglabāti jūsu Certbot konfigurācijas direktorijā vietnē/usr/local/etc/letsencrypt. Tagad jums vajadzētu izveidot drošu šīs mapes dublējumu. Šajā konfigurācijas direktorijā būs arī Certbot iegūtie sertifikāti un privātās atslēgas, tāpēc ideāli ir regulāri dublēt šo mapi. - Ja jums patīk Certbot, lūdzu, apsveriet iespēju atbalstīt mūsu darbu: ziedojot ISRG / šifrēsim: https://letsencrypt.org/donate Ziedošana EZF: https://eff.org/donate-le
9. Kad esat ieguvis sava domēna sertifikātus, varat palaist komanda lai uzskaitītu visas sertifikāta sastāvdaļas (ķēde, privātā atslēga, sertifikāts), kā parādīts zemāk esošajā piemērā.
# ls -al /usr/local/etc/letsencrypt/live/www.yourdomain.com/
10. Lai savai vietnei pievienotu Let's Encrypt sertifikātus, atveriet sava domēna apache konfigurācijas failu un atjauniniet šīs rindiņas, lai atspoguļotu izsniegto sertifikātu ceļu.
# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf.
Pievienojiet šīs TLS sertifikāta rindas:
SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem"
11. Visbeidzot, iespējojiet TLS konfigurācijas failu, izveidojot simbola saiti domēna TLS konfigurācijas failam iespējotas vietnes direktoriju, pārbaudiet, vai Apache konfigurācijās nav iespējamās sintakses kļūdas, un, ja sintakse ir laba, restartējiet Apache dēmonu, izdodot tālāk norādītās komandas.
# ln -sf /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf/usr/local/etc/apache24/sites-enabled/ # apachectl -t. # pakalpojuma apache24 restartēšana.
12. Lai pārbaudītu, vai Apache pakalpojums klausās HTTPS osta 443, izdodiet šādu komandu, lai uzskaitītu httpd tīkla ligzdas.
# sockstat -4 | grep httpd.
13. Varat pārlūkprogrammā naviģēt uz savu domēna adresi, izmantojot HTTPS protokolu, lai pārliecinātos, ka Let's Encrypt sertifikāti ir veiksmīgi lietoti.
https://www.yourdomain.com.
14. Lai no komandrindas iegūtu papildu informāciju par izsniegto Let's Encrypt sertifikātu, izmantojiet openssl komandu šādi.
# openssl s_client -connect www.yourdomain.com: 443.
15. Varat arī pārbaudīt, vai datplūsma ir šifrēta, izmantojot derīgu sertifikātu, ko nodrošina Šifrēsim CA no mobilās ierīces, kā parādīts zemāk esošajā mobilā ekrānuzņēmumā.
Tas ir viss! Tagad klienti var droši apmeklēt jūsu vietni, jo trafiks, kas plūst starp serveri un klienta pārlūkprogrammu, ir šifrēts. Lai iegūtu sarežģītākus uzdevumus, kas saistīti ar certbot utilītu, apmeklējiet šo saiti: https://certbot.eff.org/