Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Administracja systemami operacyjnymi Wiosna 2014 Wykład 3 Zaawansowane usługi sieciowe w Linux/UNIX – Apache i SSL dr inż. Wojciech Bieniecki Instytut.

Podobne prezentacje


Prezentacja na temat: "Administracja systemami operacyjnymi Wiosna 2014 Wykład 3 Zaawansowane usługi sieciowe w Linux/UNIX – Apache i SSL dr inż. Wojciech Bieniecki Instytut."— Zapis prezentacji:

1 Administracja systemami operacyjnymi Wiosna 2014 Wykład 3 Zaawansowane usługi sieciowe w Linux/UNIX – Apache i SSL dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

2 SSL SSL (Secure Socket Layer) to opracowany w 1994 roku protokół, służący do bezpiecznej transmisji zaszyfrowanego strumienia danych. SSL odpowiada za: szyfrowanie danych, miedzy warstwą transportu a warstwą aplikacji TCP autoryzację tożsamości serwera względem klienta. SSL standardowo oczekuje na zapytania na porcie

3 Działanie SSL Protokół SSL funkcjonuje jako warstwa pośrednia między przeglądarką i usługami TCP/IP udostępnionymi na komputerze macierzystym. Przed wysłaniem komunikatu HTTP do usługi TCP/IP komputera macierzystego przeglądarka przekazuje go do warstwy SSL w celu zaszyfrowania. Warstwa SSL skonfigurowana na serwerze WWW rozszyfrowuje komunikat otrzymany od usługi TCP/IP, po czym przesyła go do serwera. Po zainstalowaniu i prawidłowym skonfigurowaniu serwera WWW żądania i odpowiedzi HTTP są szyfrowane automatycznie. 3

4 Etapy działania protokołu Przeglądarka nawiązuje połączenie z serwerem wykorzystującym SSL i żąda od niego uwierzytelnienia się. Serwer wysyła swój certyfikat cyfrowy Serwer może zażądać od przeglądarki uwierzytelnienia się. Przeglądarka wysyła listę obsługiwanych przez siebie algorytmów szyfrujących i funkcji mieszających. Serwer wybiera z podaj listy najbezpieczniejszą metodę, którą jest w stanie obsłużyć. Przeglądarka i serwer generują klucze sesji: Przeglądarka odczytuje z certyfikatu cyfrowego serwera jego klucz publiczny i szyfruje nim losowo wybraną liczbę. Serwer wysyła ciąg losowo wybranych danych w formie otwartego tekstu (chyba że przeglądarka na żądanie serwera udostępniła swój certyfikat cyfrowy – wówczas serwer wykorzysta zawarty w nim klucz publiczny przeglądarki do szyfrowania wysyłanych danych). Na podstawie wymienionych danych generowane są klucze sesji będące wynikiem wykonania funkcji mieszających. 4

5 5 Operacja wysyłania danych Dane zostają podzielone na niewielkie pakiety. Każdy pakiet może zostać skompresowany. Za pomocą odpowiedniego algorytmu mieszającego dla każdego pakietu zostaje obliczony kod uwierzytelniający. Skompresowane dane i ich kod uwierzytelniający zostają połączone i zaszyfrowane.

6 6 Operacja wysyłania danych Za pomocą odpowiedniego algorytmu mieszającego dla każdego pakietu zostaje obliczony kod uwierzytelniający. Skompresowane dane i ich kod uwierzytelniający zostają połączone i zaszyfrowane. Zaszyfrowane pakiety wraz z dołączonymi do nich nagłówkami informacji zostają wysłane do sieci.

7 SSL - Certyfikaty Certyfikat jest to zbiór danych jednoznacznie identyfikujących pewną jednostkę (na przykład osobę, lub komputer) oraz pozwalający stwierdzić, czy osoba, która się nim legitymuje jest rzeczywiście tym, za kogo się podaje. Jest on potwierdzony przez zaufaną organizację, zwaną w protokole SSL certificate authority (CA).(Urząd certyfikacji) Certyfikat zawiera: Nazwę certyfikowanego obiektu Identyfikator obiektu Klucz publiczny obiektu Czas ważności Nazwę wystawcy certyfikatu Identyfikator wystawcy Podpis wystawcy (To pole zawiera jednoznaczny skrót całego certyfikatu zaszyfrowany przy pomocy klucza prywatnego wystawcy.) 7

8 Urząd certyfikacji 8 Urząd certyfikacji – podmiot, który wystawia certyfikaty cyfrowe. Certyfikat potwierdza własność klucza publicznego poprzez wskazanie podmiotu certyfikatu. Pozwala to innym powołującym się stronom polegać na podpisach złożonych przez klucz prywatny. Komercyjne urzędy certyfikacji pobierają opłatę za wydanie certyfikatów, które będą automatycznie zaufane przez większość przeglądarek internetowych Niektórzy dostawcy wydają cyfrowe certyfikaty do obrotu publicznego bez żadnych kosztów. Duże instytucje lub podmioty rządowe mogą mieć swoje własne centrum certyfikacji. W ogólnym przypadku mamy tak zwany łańcuch certyfikatów. Nie musimy (a nawet nie powinniśmy) dla każdego obiektu w danym systemie wystawiać certyfikatu potwierdzonego przez CA, gdyż spowodowałoby to przeciążenie tych instytucji i niepotrzebny rozrost bazy danych. Możemy na własne potrzeby ustanowić lokalny urząd certyfikacyjny który będzie poświadczał lokalne certyfikaty, a sam będzie legitymował się certyfikatem poświadczonym przez CA.

9 Instalacja OpenSSL – uzyskiwanie klucza i certyfikatu Instalacja implementacji protokołów SSL #apt-get install openssl ssl-cert Aby zdobyć certyfikat SSL ptrzebujemy dwóch rzeczy: klucza prywatnego naszego hosta i tzw. żądania certyfikatu (ang. CSR: Certificate Signing Request). Obie wygenerujemy przy pomocy OpenSSL. Generowanie klucza prywatnego # openssl genrsa -des3 -out OpenSSL podczas generowania klucza prywatnego poprosi o podanie hasła, którym zostanie zaszyfrowany klucz – nawet po przechwyceniu klucza, atakujący nie mógł z niego tak łatwo skorzystać. Generowanie CSR # openssl req -new -key -out Plik po podpisaniu przez zaufane centrum certyfikacji stanie się certyfikatem i będzie mógł zostać użyty do szyfrowania transmisji. 9

10 Podpisywanie certyfikatu 10 Proces weryfikacyjny składa się z dwóch etapów: - umieszczenie pliku na serwerze lub umieszczenie ciągu znaków na stronie w domenie dla której staramy się o certyfikat - wysłanie maila z domeny (np. maile są zdefiniowane i mamy wybór spośród kilku opcji Jeśli weryfikacja się powiedzie, otrzymamy na podany adres identyfikator. Dzięki niemu będziemy mogli pobrać przez WWW podpisany certyfikat. Dane certyfikatu możemy wyświetlić przy użyciu polecenia openssl: # openssl x509 -in -text Każdy podpisany certyfikat posiada okres ważności, termin ten jest zawarty w sekcji Validity: Not Before: Nov 17 13:58: GMT Not After : Nov 18 13:58: GMT Użycie niepodpisanego certyfikatu powoduje, że wyskakuje ostrzeżenie na przeglądarce

11 11 Instalacja certyfikatu Należy włączyć SSL pod apache #a2enmod ssl Tworzenie CSR-a – tak jak poprzednio + katalogi #mkdir /etc/apache2/ssl #cd /etc/apache2/ssl #openssl req -new -days 365 -nodes -keyout -out Dopisujemy konfigurację w /etc/apache2/ports.conf SSLEngine On SSLCertificateFile /etc/apache2/ssl/www.mojadomena.pl.crt SSLCertificateKeyFile /etc/apache2/ssl/www.mojadomena.pl.key SSLCACertificateFile /etc/apache2/ssl/www.mojadomena.pl.cer ServerAdmin ServerName DocumentRoot /var/www/ssl ErrorLog /var/www/error.log

12 Wysyłanie do urzędu certyfikacji 12 Chronimy nasze klucze: #chmod 400 /etc/apache2/ssl/www.mojadomena.pl.* Wchodzimy na stronę wybieramy trial ssl rejestrujemy się i wklejamy zawartość CSR Czekamy na weryfikację i odbiór plików przez Będą to: Należy je umieścić w katalogu /etc/apache2/ssl Uwaga: konfiguracja na poprzednim slajdzie zakłada istnienie katalogu ze stroną WWW dostępną przez SSL Resetujemy serwer WWW i wchodzimy na stronę główną przez HTTP UWAGA: Trial SSL ważny jest przez 21 dni.

13 Konfiguracja wirtualnych hostów 13 Przechodzimy do katalogu z konfiguracjami Apache # cd /etc/apache2/sites-available/ Tworzymy tutaj plik testowa_pl # a2ensite testowa_pl ServerAdmin ServerName ServerAlias testowa.pl DirectoryIndex index.php index.html DocumentRoot /var/www/testowa_pl ErrorLog /var/log/apache2/testowa.pl-error.log CustomLog /var/log/apache2/testowa.pl-access.log combined

14 Ćwiczenia 14 Na tym samym IP postaw dwie domeny wp.pl i onet.pl

15 Ćwiczenia 15 Na jednym serwerze postaw dwie domeny na dwóch różnych IP Wymaga to utworzenia aliasu na interfejsie # ifconfig eth0: up

16 Ćwiczenia 16 Postaw tę samą stronę na dwóch różnych IP Server configuration NameVirtualHost NameVirtualHost DocumentRoot /www/server1 ServerName server.example.com ServerAlias server

17 Ćwiczenia 17 Postaw różne strony na różnych portach tego samego IP Listen 80 Listen 8080 NameVirtualHost :80 NameVirtualHost :8080 ServerName DocumentRoot /www/domain-80 ServerName DocumentRoot /www/domain-8080 ServerName DocumentRoot /www/otherdomain-80


Pobierz ppt "Administracja systemami operacyjnymi Wiosna 2014 Wykład 3 Zaawansowane usługi sieciowe w Linux/UNIX – Apache i SSL dr inż. Wojciech Bieniecki Instytut."

Podobne prezentacje


Reklamy Google