Posiadanie własnej strony internetowej wraz z certyfikatem SSL nie musi być skomplikowane. Dobrym i skutecznym rozwiązaniem jest wykorzystanie Internet Information Services (IIS), które oferuje rodzina systemów Windows – zarówno wersja kliencka, jak i serwerowa. IIS było obecne w systemie już w wersji Windows NT 3.51 z 1995 roku. Linuksową alternatywą jest wykorzystanie Apache HTTP Server, który posiada obecnie 25% udziału wśród serwerów WWW. Dodanie certyfikatu SSL również nie należy do skomplikowanych czynności, co opisałem poniżej. Uruchomienie IIS/Apache to temat dzisiejszego wpisu.
Dołącz do szkolenia "Docker w 90 minut!"
Podczas szkolenia dowiesz się wszystkiego, co potrzebne, by wystartować z konteneryzacją. Poznasz podstawową obsługę Dockera. Nauczysz się 17 komend, które musi znać każda osoba działająca z kontenerami, Dockerem i Kubernetesem.
Widzimy się 12 września o 13:00!
Chcesz wziąć udział w szkoleniu? Zapisy na stronie: https://asdevops.pl/s42/
Instalacja IIS
Podstawą działania Internet Information Services są rozwiązania, które domyślnie znajdują się w systemach w wersji serwerowej. IIS może zostać aktywowane w klienckiej wersji systemu, lecz jest ono przeznaczone głównie do systemów serwerowych. Podczas konfigurowania IIS korzystałem z Windows Server 2016.
Założenie domeny
Jeżeli chcemy korzystać z naszej strony poprzez wpisanie w przeglądarce adresu URL, musimy zainstalować na nim Usługi domenowe Active Directory. Aby to zrobić, należy przejść do zakładki Dodaj role i funkcje.
Następnie należy wybrać serwer, na jakim zostaną zainstalowane usługi.
Kolejnym krokiem jest wybranie roli Usługi domenowe Active Directory. Po kilku minutach usługa powinna zainstalować się i poprosić o podniesienie kontrolera do rangi domeny. W kreatorze należy dodać nowy las i nadać adres domenie głównej – w moim przypadku było to domena.local.
Po udanej instalacji pojawi się komunikat z prośbą o ponowne uruchomienie. Po restarcie będzie widoczny panel logowania do konta w domenie zamiast lokalnego konta. Dzięki temu możemy mieć pewność, że domena została zainstalowana i przejść do instalacji IIS.
Rola IIS
Po zainstalowaniu domeny można przejść do uruchomienia IIS. Aby przejść do instalacji należy ponownie przejść do panelu Dodaj role i funkcje i ponownie wybrać serwer do instalacji. Następnie w zakładce Role serwera należy wybrać Serwer sieci Web (IIS) i potwierdzić instalację.
Aby przejść do panelu IIS wystarczy nacisnąć prawym przyciskiem myszy na serwer i wybrać opcję Menedżera internetowych usług informacyjnych (IIS).
W tym momencie naszym oczom ukaże się Menedżer IIS. W tym momencie warto sprawdzić, czy domyślna strona internetowa zaczęła działać – można to zrobić dzięki wpisaniu lokalnego adresu IP w pasku adresu (w moim przypadku 10.0.2.15) lub localhost.
Wykorzystanie domeny do połączenia
Kolejnym krokiem jest dodanie nowej strony internetowej. Naciskając prawym przyciskiem myszy na nazwę serwera możemy nacisnąć na Dodaj witrynę sieci Web…, dzięki czemu możemy skonfigurować stronę. Ścieżka fizyczna na zrzucie ekranu jest domyślną ścieżką domyślnej strony internetowej, dlatego to właśnie ona będzie widniała w późniejszych etapach. Nazwą hosta jest nazwa mojej domeny – domena.local.
Po wpisaniu nazwy hosta w przeglądarce powinna wyświetlać się strona zgodna ze ścieżką fizyczną.
Instalacja certyfikatu SSL na IIS
Aby dodać certyfikat SSL do IIS, należy przejść do opcji Certyfikaty Serwera.
Jeżeli posiadasz gotowy certyfikat SSL możesz go dołączyć za pomocą opcji Importuj…
Jeśli musisz taki certyfikat wygenerować, przejdź do opcji Utwórz certyfikat z podpisem własnym…
Dla potrzeb tego artykułu wygeneruję certyfikat z podpisem własnym o nazwie certserw.
Po wygenerowaniu certyfikat będzie widoczny od razu.
Certyfikat został wystawiony dla serwer.domena.local, ponieważ nazwą serwera jest serwer. Następnym krokiem jest dodanie powiązania adresu z certyfikatu z żądaniem HTTPS, co można zrobić w polu Powiązania… w zakładce Akcje.
W tym momencie można sprawdzić poprawność konfiguracji, wpisując https://nazwa_hosta. W moim przypadku będzie to https://serwer.domena.local.
Dzięki temu w naszej przeglądarce ukazuje się strona internetowa wykorzystująca szyfrowane połączenie.
Instalacja Apache
Instalacji Apache najprościej dokonuje się z terminala, ponieważ należy wpisać jedno polecenie, którego składnia jest zależna od dystrybucji Linuksa. Dla dystrybucji opartych na Debianie będzie to:
sudo apt-get install apache2
W tym momencie powinniśmy mieć możliwość otworzenia strony testowej, wpisując w przeglądarce localhost lub adres IP serwera. W moim przypadku było to 192.168.25.180.
Do prawidłowego działania strony internetowej należy otworzyć porty wymagane przez Apache2 – w tym przypadku 80 i 443. Można to zrobić za pomocą prostych poleceń:
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2
Generowanie i wgranie certyfikatu SSL
Jeżeli masz wygenerowany certyfikat, przejdź do następnego nagłówka.
Do wygenerowania certyfikatu SSL może służyć openssl. Można to zrobić za pomocą jednego polecenia, jakim jest:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nazwa_klucza.key -out /etc/ssl/certs/nazwa_certyfikatu.crt
Wgranie certyfikatu SSL
Aby wgrać certyfikat, należy wygenerować plik konfiguracyjny poprzez stworzenie pliku tekstowego w katalogu sites-available. Służy do tego polecenie:
sudo nano /etc/apache2/sites-available/konfiguracja.conf
W pliku tekstowym należy umieść następującą treść:
<VirtualHost *:443>
ServerName [ip lub domena]
DocumentRoot [katalog z Twoją stroną]
SSLEngine on
SSLCertificateFile [ścieżka certyfikatu]
SSLCertificateKeyFile [ścieżka klucza]
</VirtualHost>
Ważne – Uzupełnij plik zgodnie ze swoją konfiguracją. Dla mojego urządzenia była ona następująca:
<VirtualHost *:443>
ServerName 192.168.25.180
DocumentRoot /var/www/html/index.html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/nazwa_certyfikatu.crt SSLCertificateKeyFile /etc/ssl/private/nazwa_klucza.key
</VirtualHost>
Nazwy certyfikatów muszą być zgodne z tymi, które zostały wygenerowane wcześniej (w punkcie Generowanie i wgranie certyfikatu SSL) lub z posiadanymi certyfikatami z zewnątrz.
/var/www/html/index.html to domyślna ścieżka dla strony internetowej dla Apache. Jeśli strona znajduje się w innej lokalizacji, należy podać jej ścieżkę bezwzględną.
Aby wgrać konfigurację na serwer, należy użyć poleceń:
cd /etc/apache2/sites-available
sudo a2ensite [plik konfiguracyjny]
Następnie należy przeładować apache2 za pomocą polecenia:
sudo systemctl reload apache2
W tym momencie możesz wyświetlić swoją stronę wraz z certyfikatem SSL. W moim przypadku była dostępna pod adresem https://malinka.
Podsumowanie – Uruchomienie IIS/Apache i dodanie certyfikatu SSL na stronę
Wgranie certyfikatu SSL na IIS lub serwer Apache pozwala na zestawienie szyfrowanego połączenia. Dzięki niemu znacząco wzrasta poziom zabezpieczeń strony – korzystanie z nieszyfrowanego połączenia może narazić nas na wiele negatywnych czynników, jak np. wykradnięcie danych logowania – przesyłane są one wtedy „otwartym tekstem”. Instalacja certyfikatu SSL w dzisiejszych czasach jest koniecznością, dlatego warto wiedzieć w jaki sposób można to zrobić na serwerze WWW. Jak widzisz uruchomienie IIS/Apache nie jest trudnym zadaniem, choć na początku może przysporzyć problemów. Mam nadzieję, że z moim poradnikiem uruchomienie IIS/Apache poradzisz sobie doskonale!
Pisał dla Was Oskar Klimczuk.