{"id":369,"date":"2018-11-02T12:58:06","date_gmt":"2018-11-02T11:58:06","guid":{"rendered":"https:\/\/www.kompikownia.pl\/?p=369"},"modified":"2018-11-22T21:11:50","modified_gmt":"2018-11-22T20:11:50","slug":"dodajemy-szyfrowanie-apache-lets-encrypt-certbot-i-ssl","status":"publish","type":"post","link":"https:\/\/www.kompikownia.pl\/index.php\/2018\/11\/02\/dodajemy-szyfrowanie-apache-lets-encrypt-certbot-i-ssl\/","title":{"rendered":"Dodajemy szyfrowanie &#8211; Apache, Let&#8217;s Encrypt Certbot i SSL"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\">5<\/span> <span class=\"rt-label rt-postfix\">minut<\/span><\/span><p>Lwia cz\u0119\u015b\u0107 stron internetowych posiada ju\u017c certyfikat. \u201eZielona k\u0142\u00f3deczka\u201d, kt\u00f3ra zapewnia nas o\u00a0bezpiecze\u0144stwie staje si\u0119\u00a0coraz bardziej istotnym punktem witryny. Wg raportu Google w\u00a02016\u00a0roku prawie 25% witryn korzysta\u0142o z protoko\u0142u HTTPS. Google i inne firmy ju\u017c od dawna informuj\u0105, \u017ce nieszyfrowane strony b\u0119d\u0105 mia\u0142y gorsze pozycjonowanie. W rezultacie dotrze do nich mniejsza ilo\u015b\u0107 u\u017cytkownik\u00f3w.<\/p>\n<p>Google Chrome ju\u017c od jakiego\u015b czasu wy\u015bwietla napis \u201eNiezabezpieczona\u201d kiedy wchodzimy na witryn\u0119 bez szyfrowania.<\/p>\n<p>Dla wielu pocz\u0105tkuj\u0105cych webmaster\u00f3w instalacja SSL-a stanowi spory problem. Gdzie uzyska\u0107 certyfikat p\u0142ac\u0105c jak najmniej? Jak zainstalowa\u0107 go na swoim serwerze WWW? Dowiesz si\u0119 czytaj\u0105c kolejne akapity tego tekstu.<\/p>\n<h2 class=\"western\">Let\u2019s Encrypt Certbot \u2013 automatyczna instalacja certyfikatu<\/h2>\n<p>Istnieje wielu dro\u017cszych i ta\u0144szych dostawc\u00f3w. Ja polecam Let\u2019s Encrypt. Jest to darmowy i prosty w instalacji certyfikat, kt\u00f3ry idealnie nadaje si\u0119 na twoj\u0105 stron\u0119. W przypadku Let\u2019s Encrypt wi\u0119ksza cz\u0119\u015b\u0107 pracy jest wykonywana automatycznie. Odpowiada za to aplikacja Certbot. W\u00a0zale\u017cno\u015bci od oprogramowania oraz dystrybucji, kt\u00f3rej u\u017cywamy, potrzebna b\u0119dzie inna wersja Certbota. Aby uzyska\u0107 wskaz\u00f3wki, wystarczy wej\u015b\u0107 na t\u0119 stron\u0119 i wybra\u0107 duet: serwer WWW i\u00a0system operacyjny, kt\u00f3rego u\u017cywamy. W moim wypadku jest to Debian Stretch i\u00a0serwer Apache. Temu po\u0142\u0105czeniu po\u015bwi\u0119c\u0119 dalsz\u0105 cz\u0119\u015b\u0107 artyku\u0142u.<\/p>\n<h3 class=\"western\">Dodanie stretch-backports do \/etc\/apt\/sources.list<\/h3>\n<p>Program Certbot b\u0119dziemy mogli zainstalowa\u0107 za pomoc\u0105 mened\u017cera pakiet\u00f3w apt-get. Znajduje si\u0119 on w repozytoriach typu backports. Co za tym idzie, musimy wcze\u015bniej doda\u0107 je do pliku konfiguracyjnego. Nie jest to trudna operacja. Za pomoc\u0105 ulubionego edytora (vim,emacs albo nano) otwieramy plik \/etc\/apt\/sources.list. Na samym ko\u0144cu dopisujemy nast\u0119puj\u0105ce linijki:<\/p>\n<pre lang=\"bash\" line=\"1\">deb http:\/\/ftp.debian.org\/debian stretch-backports main\r\ndeb-src http:\/\/ftp.debian.org\/debian stretch-backports main\r\n<\/pre>\n<p>Aby zaktualizowa\u0107 baz\u0119 dost\u0119pnych pakiet\u00f3w, musimy wyda\u0107 polecenie:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">apt-get update<\/div><\/div>\n<h3 class=\"western\">Instalacja Certbot<\/h3>\n<p>Po dodaniu odpowiednich repozytori\u00f3w mo\u017cemy ju\u017c bez \u017cadnych przeszk\u00f3d podj\u0105\u0107 pr\u00f3b\u0119 instalacji Certbot. Zrobimy to za pomoc\u0105 polecenia<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">apt-get install python-certbot-apache -t stretch-backports<\/div><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-378 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z1.png\" alt=\"instalacja certbot\" width=\"744\" height=\"461\" \/><\/p>\n<p>Naciskamy klawisz T aby kontynuowa\u0107 i idziemy sobie zaparzy\u0107 kaw\u0119\/herbat\u0119. Serwer w tym czasie wykona swoj\u0105 prac\u0119 i zainstaluje nam Certbot.<\/p>\n<h2 class=\"western\">Certbot \u2013 generowanie certyfikatu SSL Let\u2019s Encrypt<\/h2>\n<p>Program Certbot zosta\u0142 ju\u017c wgrany. Zapytasz pewnie, co dalej? Mo\u017cemy teraz p\u00f3j\u015b\u0107 dwoma \u015bcie\u017ckami. Pierwsza opcja to oddanie ca\u0142ej pozosta\u0142ej pracy automatowi. Wydajemy wtedy polecenie<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">certbot --apache<\/div><\/div>\n<p>Dzi\u0119ki temu ca\u0142a brudna robota zostanie odwalona przez automat. Ja niestety jestem konserwatyst\u0105 i nie lubi\u0119 gdy kto\u015b za mnie decyduje w tak wa\u017cnych sprawach jak konfiguracja serwera. Wobec tego poka\u017c\u0119 drog\u0119 trudniejsz\u0105, ale daj\u0105c\u0105 o wiele wi\u0119cej kontroli (oraz satysfakcji). Mianowicie \u2013 u\u017cyjemy Certbot jedynie do wygenerowania certyfikatu, kt\u00f3ry zainstalujemy sobie samodzielnie.<\/p>\n<p>Aby wygenerowa\u0107 certyfikat, powinni\u015bmy u\u017cy\u0107 polecenia:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">certbot --apache certonly<\/div><\/div>\n<p>Certbot na pocz\u0105tku za\u017c\u0105da od nas podania adresu e-mail. Nast\u0119pnie ka\u017ce nam przeczyta\u0107 warunki umowy, na kt\u00f3re musimy si\u0119 zgodzi\u0107.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-379 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z2.png\" alt=\"certbot licencja\" width=\"744\" height=\"461\" \/><\/p>\n<p>Nast\u0119pnie mo\u017cemy si\u0119 zgodzi\u0107 (lub nie) na udost\u0119pnienie naszego adresu e-mail innym organizacjom, wsp\u00f3\u0142pracuj\u0105cym z Let\u2019s Encrypt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-380 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z3.png\" alt=\"Podsumowanie instalacji Certbot\" width=\"744\" height=\"461\" \/><\/p>\n<p>Na samym ko\u0144cu podajemy nazw\u0119 naszej domeny. Certbot sprawdza, czy rzeczywi\u015bcie mo\u017ce wygenerowa\u0107 dla nas certyfikat. Je\u015bli wszystkie testy zako\u0144cz\u0105\u00a0si\u0119 pomy\u015blnie, certyfikat b\u0119dzie gotowy do instalacji w folderach wskazanych przez aplikacj\u0119.<\/p>\n<p>Mo\u017cemy uruchomi\u0107 Certbot jeszcze raz, aby wygenerowa\u0107 pliki dla subdomeny www (czyli dla adresu w postaci <a href=\"http:\/\/www.kompikownia.pl\/\">www.kompikownia.pl<\/a>).<\/p>\n<p>Wszystkie pliki powi\u0105zane z certyfikatami wygenerowanymi na potrzeby naszych domen znajduj\u0105 si\u0119 w folderze \/etc\/letsencrypt\/live. Wchodz\u0105c do folderu pod wskazan\u0105 \u015bcie\u017ck\u0105, ujrzymy katalogi o\u00a0nazwach takich samych jak nazwy domen, dla kt\u00f3rych wygenerowali\u015bmy certyfikaty. W\u00a0ka\u017cdym\u00a0z tych folder\u00f3w znajduj\u0105 si\u0119 pliki .pem, kt\u00f3rych u\u017cyjemy w nast\u0119pnym etapie.<\/p>\n<h2 class=\"western\">Instalacja certyfikatu SSL w Apache2<\/h2>\n<p>Wygenerowali\u015bmy certyfikat kt\u00f3ry usprawni i\u00a0zabezpieczy nasz\u0105 witryn\u0119. Teraz musimy tylko powiedzie\u0107 serwerowi WWW Apache aby skorzysta\u0142 ze \u015bwie\u017co utworzonego zabezpieczenia.<\/p>\n<p>Najpierw musimy w\u0142\u0105czy\u0107 modu\u0142 SSL. Zrobimy to za pomoc\u0105 polecenia:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">a2enmod ssl<\/div><\/div>\n<p>Nast\u0119pnie musimy zmodyfikowa\u0107 plik \/etc\/apache2\/sites-available\/default-ssl.conf. Znajduje si\u0119 tam domy\u015blna konfiguracja Apache2 pod SSL. Jedyne zmiany jakie b\u0119dziemy musieli wprowadzi\u0107 b\u0119d\u0105 dotyczy\u0142y \u015bcie\u017cki do certyfikat\u00f3w. Zobaczmy, jak to powinno wygl\u0105da\u0107.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-381 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z4.png\" alt=\"SSL Konfiguracja Apache\" width=\"795\" height=\"461\" \/><\/p>\n<p>Dodali\u015bmy linijki SSLCertificateFile, SSLCertificateKeyFile i SSLCertificateChainFile. Wszystkie wskazuj\u0105 na odpowiednie pliki wygenerowane przez Certbot od Let\u2019s Encrypt.<\/p>\n<p>To koniec podstawowej konfiguracji. Zapisz plik. Musimy teraz aktywowa\u0107 t\u0119 stron\u0119. Aby to zrobi\u0107, wystarczy wyda\u0107 polecenie:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">a2ensite default-ssl.conf<\/div><\/div>\n<h3 class=\"western\">Wy\u0142\u0105czenie ruchu po http. Ustawienie przekierowania 301<\/h3>\n<p>Obecnie nasza witryna b\u0119dzie dost\u0119pna w dw\u00f3ch trybach. B\u0119dziemy mogli korzysta\u0107 z niej w\u00a0formie szyfrowanej (https) oraz nieszyfrowanej (http). Nie jest to satysfakcjonuj\u0105ce rozwi\u0105zanie. Oberwiemy za SEO (cz\u0119\u015b\u0107 mo\u017ce linkowa\u0107 do wersji http, cz\u0119\u015b\u0107 do https). Oberwiemy od u\u017cytkownik\u00f3w (cz\u0119\u015b\u0107 z nich, kt\u00f3ra wesz\u0142a za pomoc\u0105 linka zaczynaj\u0105cego si\u0119 od http b\u0119dzie widzia\u0142a napis \u201eNiezabezpieczona\u201d w pasku adresu przegl\u0105darki). Aby rozwi\u0105za\u0107 ten problem musimy sprawi\u0107, aby ca\u0142y ruch http by\u0142 odt\u0105d automatycznie szyfrowany.<\/p>\n<p>S\u0105 dwa sposoby na rozwi\u0105zanie tego problemu. Mo\u017cemy stworzy\u0107 odpowiednie regu\u0142y .htaccess. Nie lubi\u0119 si\u0119 w tym bawi\u0107, dlatego poka\u017c\u0119 prostsze rozwi\u0105zanie.<\/p>\n<p>Musimy zmodyfikowa\u0107 plik \/etc\/apache2\/sites-enabled\/000-default.conf. Hashujemy (stawiamy znak # na pocz\u0105tku) linijk\u0119 DocumentRoot. Pod spodem dopisujemy:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">Redirect permanent &quot;\/&quot; &quot;https:\/\/www.kompikownia.pl\/&quot;<\/div><\/div>\n<p>Plik konfiguracyjny powinien wygl\u0105da\u0107 tak:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-382 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z5.png\" alt=\"Apache przekierowanie 301 http\" width=\"744\" height=\"461\" \/><\/p>\n<p>Po tym wszystkim powinni\u015bmy zrestartowa\u0107 serwer apache2 za pomoc\u0105 komendy:<\/p>\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;width:435px;\"><div class=\"text codecolorer\">systemctl restart apache2.conf<\/div><\/div>\n<h2 class=\"western\">Let\u2019s Encrypt &#8211; Konfiguracja WordPressa \u2013 w\u0142\u0105czenie SSL<\/h2>\n<p>Aby WordPress poprawnie korzysta\u0142 z szyfrowania SSL, musimy wprowadzi\u0107 kilka zmian w\u00a0panelu administracyjnym. Logujemy si\u0119 do WordPressa i przechodzimy na zak\u0142adk\u0119 Ustawienia\u2192Og\u00f3lne.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-383 size-full\" src=\"https:\/\/www.kompikownia.pl\/wp-content\/uploads\/2018\/11\/z6.png\" alt=\"Konfiguracja wordpress https\" width=\"1919\" height=\"914\" \/><\/p>\n<p>Powy\u017cszy screen w zasadzie wyja\u015bnia wszystko. Musimy zmieni\u0107 dwa pola: <strong>Adres WordPressa (URL)<\/strong> i <strong>Adres witryny (URL)<\/strong>. W obydwu wypadkach musimy zamieni\u0107 http na https.<\/p>\n<h2 class=\"western\">Podsumowuj\u0105c<\/h2>\n<p>Pobranie certyfikatu SSL od Let\u2019s Encrypt oraz jego instalacja na swojej stronie s\u0105 bardzo op\u0142acalnymi czynno\u015bciami. \u201eZielona k\u0142\u00f3deczka\u201d wp\u0142ywa nie tylko na zachowanie u\u017cytkownik\u00f3w, kt\u00f3rzy czuj\u0105 si\u0119 bezpieczniej. Google b\u0119dzie tak\u017ce lepiej postrzega\u0142 nasz\u0105 witryn\u0119, winduj\u0105c j\u0105 do g\u00f3ry w wynikach wyszukiwania. Nawet je\u015bli nie posiadamy formularzy rejestracji\/logowania na stronie i tak warto wdro\u017cy\u0107 szyfrowanie. Nie jest to trudna operacja. Certbot mo\u017ce za\u0142atwi\u0107 za nas wszystkie formalno\u015bci. Je\u015bli chcemy pobawi\u0107 si\u0119 r\u0119cznie, nic nie stoi na przeszkodzie. Samodzielna instalacja certyfikatu SSL tak\u017ce nie jest trudna, a zapewnia nam pe\u0142n\u0105 kontrol\u0119 nad tym, co dzieje si\u0119 na serwerze.<\/p>\n<p>Zapraszam do komentowania. Gdyby wkrad\u0142y si\u0119 jakie\u015b nie\u015bcis\u0142o\u015bci, poinformuj o tym w\u00a0komentarzu. Je\u015bli podoba\u0142 ci si\u0119 artyku\u0142, polub profil kompikownia na Facebooku. Mi\u0142ego dnia \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\">5<\/span> <span class=\"rt-label rt-postfix\">minut<\/span><\/span> Lwia cz\u0119\u015b\u0107 stron internetowych posiada ju\u017c certyfikat. \u201eZielona k\u0142\u00f3deczka\u201d, kt\u00f3ra zapewnia nas o\u00a0bezpiecze\u0144stwie staje si\u0119\u00a0coraz bardziej istotnym punktem witryny. Wg raportu Google w\u00a02016\u00a0roku prawie 25% witryn korzysta\u0142o z protoko\u0142u HTTPS. &#8230;<\/p>\n","protected":false},"author":1,"featured_media":468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[29,33],"tags":[],"_links":{"self":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/369"}],"collection":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/comments?post=369"}],"version-history":[{"count":9,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/369\/revisions"}],"predecessor-version":[{"id":384,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/posts\/369\/revisions\/384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/media\/468"}],"wp:attachment":[{"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/media?parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/categories?post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kompikownia.pl\/index.php\/wp-json\/wp\/v2\/tags?post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}