Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Administracja systemami operacyjnymi Wiosna 2014

Podobne prezentacje


Prezentacja na temat: "Administracja systemami operacyjnymi Wiosna 2014"— 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 443.

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.

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. Przeglądarka i serwer generują klucze sesji: Przeglądarka odczytuje z certyfikatu cyfrowego serwera jego klucz publiczny i szyfruje nim losowo wybraną liczbę. Serwer wybiera z podaj listy najbezpieczniejszą metodę, którą jest w stanie obsłużyć. 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.

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 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 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
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. Instalacja implementacji protokołów SSL #apt-get install openssl ssl-cert Generowanie klucza prywatnego # openssl genrsa -des3 -out 2048 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
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 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 <VirtualHost :443> 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 </VirtualHost>

12 Wysyłanie do urzędu certyfikacji
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 Chronimy nasze klucze: #chmod 400 /etc/apache2/ssl/www.mojadomena.pl.* 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
Przechodzimy do katalogu z konfiguracjami Apache # cd /etc/apache2/sites-available/ Tworzymy tutaj plik testowa_pl <VirtualHost *> 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 </VirtualHost> # a2ensite testowa_pl

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

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

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

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


Pobierz ppt "Administracja systemami operacyjnymi Wiosna 2014"

Podobne prezentacje


Reklamy Google