Łukasz Przywarty 171018 Wrocław, 13.11.2012 r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL

Podobne dokumenty
OpenSSL - CA. Kamil Bartocha November 28, Tworzenie CA przy użyciu OpenSSL

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

MikroTik Serwer OpenVPN

VSFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniuvsftpd. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

I. Uruchomić setup i postępować według instrukcji

# katalog, w który zapisywane są certyfikaty crl_dir=$dir/crl

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

APACHE SSL Linux. Użycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE SSL Linux. wersja 1.5

APACHE SSL Linux. Użycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE SSL Linux. wersja 1.8

Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A.

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0 UNIZETO TECHNOLOGIES S.A.

Wysyłka wniosko w ZUS - EKS. Instrukcja użytkownika aplikacji Wysyłka wniosków ZUS EKS

SENDMAIL (SMTP) + POP3 + SSL Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sendmail wersja 1.3

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

POSTFIX (SMTP) + POP3 + SSL. Użycie certyfikatów niekwalifikowanych w oprogramowaniu POSTFIX. wersja 1.4

PureFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniupureftpd. wersja 1.3

SENDMAIL (SMTP) + POP3 + SSL Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sendmail. wersja 1.2 UNIZETO TECHNOLOGIES SA

FINNCA INS Instrukcja dla subskrybentów

Instalacja i konfiguracja serwera SSH.

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 13

Instrukcja wymiany certyfikatów przeznaczonych do komunikacji aplikacji Komornik SQL z systemem ZUS

System Zdalnej Obsługi Certyfikatów Instrukcja użytkownika

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

APACHE SSL Linux. Użycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE SSL Linux. wersja 1.7

Opis aktualizacji programu Kancelaria Komornika

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Tomcat. wersja 1.1

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

4. Certyfikaty dla pracy w systemie WOW w miejscu z siecią Internet UWAGA

Kalipso wywiady środowiskowe

Laboratorium nr 6 VPN i PKI

Laboratorium nr 4 Sieci VPN

Przewodnik dla klienta

Instrukcja pozyskiwania certyfikatu

MultiInfo. Certyfikat dostępu do usługi

Java Code Signing UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

VPN Host-LAN IPSec X.509 z wykorzystaniem DrayTek Smart VPN Client

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0

Laboratorium nr 5 Sieci VPN

Aplikacja npodpis do obsługi certyfikatu

1. Ściągnąłem wersję dla Linuksa, ale jak ją zainstalować?

Instrukcja obsługi serwera FTP v

Instrukcja uzyskania certyfikatu niekwalifikowanego w Urzędzie Miasta i Gminy Strzelin

Instalacja certyfikatu CCK NBP w przeglądarce Mozilla Firefox

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

Instrukcja użytkownika

Instytut Teleinformatyki

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

Aplikacja npodpis do obsługi certyfikatu

Internet Information Service (IIS) 7.0

Instrukcja instalacji nośników USB w systemie internetowym Alior Banku

Autoryzacja zleceń z użyciem aplikacji Java Web Start "Pocztowy24Podpis"

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Podręcznik użytkownika. Certification Request Services Wersja dokumentacji Asseco Data Systems S.A.-

Aplikacja npodpis do obsługi certyfikatu

Certification Request Services

Aplikacja npodpis do obsługi certyfikatu

Instrukcja aktywacji i instalacji Certum Code Signing

The Bat Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu The Bat. wersja 1.0

DESlock+ szybki start

Aplikacja npodpis do obsługi certyfikatu

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Toccat. wersja 1.0 UNIZETO TECHNOLOGIES S.A.

Instrukcja pobrania i instalacji. certyfikatu Premium EV SSL. wersja 1.4 UNIZETO TECHNOLOGIES SA

Generowanie kluczy API

Instalacja aplikacji komunikacyjnej modułu pl.id

Exchange Enterprise Edition 2003 Użycie certyfikatów niekwalifikowanych w oprogramowaniu Microsoft Exchange wersja 1.2 UNIZETO TECHNOLOGIES SA

procertum SmartSign 3.2 kwalifikowany znacznik czasu do użycia z procertum CLIDE Client - Instrukcja obsługi wersja UNIZETO TECHNOLOGIES SA

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

CEPiK 2 dostęp VPN v.1.7

Instrukcjaaktualizacji

Metryka dokumentu. str. 2. Tytuł. CEPiK 2 dostęp VPN. Centralny Ośrodek Informatyki. Zatwierdzający. Wersja Data Kto Opis zmian.

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Aplikacja npodpis do obsługi certyfikatu

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kancelaria Prawna.WEB - POMOC

Exchange Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange wersja 1.0 UNIZETO TECHNOLOGIES S.A.

procertum SmartSign 3.2 wersja 1.0.2

APACHE SSL Linux Użycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE SSL Linux wersja 1.4 UNIZETO TECHNOLOGIES S.A.

oprogramowania F-Secure

System Zdalnej Obsługi Certyfikatów 2.0 Instrukcja użytkownika

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

Opis przykładowego programu realizującego komunikację z systemem epuap wykorzystując interfejs komunikacyjny "doręczyciel"

I. WSTĘP... 2 II. WYMAGANIA SYSTEMOWE... 2 III. DOSTĘP DO REPOZYTORIUM TRANSAKCJI... 2

Transkrypt:

Łukasz Przywarty 171018 Wrocław, 13.11.2012 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL Prowadzący: mgr inż. Mariusz Słabicki 1 / 9

1. Treść zadania laboratoryjnego Podczas zajęć należało kolejno: utworzyć własne CA, zmodyfikować plik konfiguracyjny OpenSSL tak, aby znajdowały się w nim właściwe parametry nowego CA, utworzyć i podpisać certyfikat serwera, utworzyć i podpisać przez CA kilku certyfikatów klientów, zapisać je w postaci pliku PKCS12, skonfigurować serwer Apache do używania certyfikatu serwera i nawiązywania komunikacji po https://, skonfigurować Firefox do używania certyfikatu klienckiego, skonfigurować serwer Apache tak, by wybrane katalogi udostępniał tylko użytkownikom posiadającym certyfikat klienta. 2. Realizacja zadań laboratoryjnych 2.1 Utworzenie własnego CA 1. Pracę należy rozpocząć od wygenerowania zabezpieczonego hasłem klucza własnego CA. W momencie wycieku klucza bez hasła, będzie on bezużyteczny. Bazując na utworzonym kluczu zostanie wygenerowany właściwy certyfikat CA. Uwaga: wszystkie komendy są wydawane w katalogu domowym (w tym przypadku home/q), wszystkie hasła to bus12. Listing 1: Krok 1 openssl genrsa -des3 -out ca.key 8192 2. Wygenerować samodzielnie podpisany certyfikat. Należy odpowiadać na pytania generowane przez narzędzie (kraj, region, nazwa firmy itd.). Listing 2: Krok 2 openssl req -new -x509 -extensions v3_ca -key ca.key -out ca.crt -days 3650 2 / 9

3. Utworzyć strukturę katalogów niezbędną do generowania i przechowywania certyfikatów i kluczy własnego CA. Listing 3: Krok 3 mkdir -m 0700 \CA \CA/certs \CA/crl \CA/newcerts \CA/private 4. Należy przenieść wygenerowany wcześniej klucz do katalogu CA/private a certyfikat do CA/certs. Listing 4: Krok 4 mv ca.key CA/private mv ca.crt CA/certs 5. Oprócz struktury katalogów, OpenSSL wymaga dedykowanych plików. Trzeba je utworzyć. Listing 5: Krok 5 touch CA/index.txt echo 1000 > CA/serial 6. Należy upewnić się, że klucz może być odczytany tylko przez użytkownika z kontem roota i w razie potrzeby zmodyfikować uprawnienia. Listing 6: Krok 6 chmod 0400 CA/private/ca.key 2.2 Modyfikacja openssl.conf 1. Należy odszukać na dysku plik openssl.cnf. Najłatwiej skorzystać z komendy z listingu 7 i zlokalizować zmienną OPENSSLDIR (w przypadku systemu Ubuntu będzie to /usr/lib/ssl) Listing 7: Krok 1 openssl version -a 2. Dokonać edycji pliku openssl.conf. Listing 8: Krok 2a sudo gedit /etc/ssl/openssl.cnf 3 / 9

Należy wyszukać fragment zawarty w listingu 9 i zmodyfikować zmienne dir, certificate, private_key (na ścieżki utworzone w punkcie 2.1). Można również zmodyfikować domyślne dane własnego CA (countryname_default etc.) Listing 9: Krok 2b certificate = $dir/certs/ca.crt # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/ca.key # The private key RANDFILE = $dir/private/.rand # private random number file 2.3 Utworzenie i podpisanie certyfikatu serwera 1. Wygenerować certyfikat serwera. Listing 10: Krok 1 openssl req -new -nodes -keyout CA/private/server.key -out server.csr -days 3650 2. Należy zadbać o prywatność klucza. Listing 11: Krok 2 chmod 400 CA/private/server.key 3. W tym miejscu można przejść do podpisywania certyfikatu serwera. Listing 12: Krok 3 openssl ca -policy policy_anything -out CA/certs/server.crt -infiles server.csr 2.4 Utworzenie i podpisanie przez CA certyfikatów dla klientów 1. Utworzyć klucz (user.key) oraz certyfikat (user.csr) poprzez wygenerowanie certificate signing requests. Listing 13: Krok 1 openssl req -new -nodes -keyout CA/private/user1.key -out user1.csr 2. Podpisać żądania za pomocą klucza CA: 4 / 9

Listing 14: Krok 2 openssl ca -policy policy_anything -out CA/certs/user1.crt -infiles user1.csr 3. Połączyć podpisany certyfikat (user1.csr) i klucz (user.key) do jednego pliku (user1.pem). Listing 15: Krok 3 cat CA/private/user1.key CA/certs/user1.crt > CA/certs/user1.pem 4. Wyeksportować certyfikat użytkownika do pliku PKCS12. Listing 16: Krok 4 openssl pkcs12 -export -out CA/certs/user1.pfx -in CA/certs/user1.pem -name "Marek Przywarty" 5. Kroki 1-4 należy powtarzać dla wszystkich użytkowników, których certyfikaty trzeba utworzyć. 2.5 Skonfigurowanie Apache WWW do używania certyfikatu. 1. Upewnić się, że serwer Apache jest zainstalowany i uruchomiony. 2. Zamienić certyfikaty serwera nowymi certyfikatami (należy sprawdzić ścieżki w swoim środowisku - dla przykładu - XAMPP 1.8.1): Listing 17: Krok 2 sudo cp /opt/lampp/etc/ssl.crt/server.crt /opt/lampp/etc/ssl.crt/server.crt.orig sudo cp /opt/lampp/etc/ssl.key/server.key /opt/lampp/etc/ssl.key/server.key.orig sudo cp CA/certs/server.crt /opt/lampp/etc/ssl.crt/server.crt sudo cp CA/private/server.key /opt/lampp/etc/ssl.key/server.key 3. Zmodyfikować plik httpd.conf na serwerze Apache tak, aby ten domyślnie rozpoczynał transmisję https://. Listing 18: Krok 3 DocumentRoot "/opt/lampp/htdocs" <Directory "/opt/lampp/htdocs"> SSLRequireSSL... 4. Zrestartować serwer Apache. 5 / 9

2.6. Skonfigurowanie klienta (Firefox) do używania certyfikatu klienta 1. Należy dodać własne CA do listy zaufanych w programie Firefox. W tym celu trzeba wejść w preferencje programu Firefox, a następnie wybrać zakładkę Advanced > Encryption i nacisnąć przycisk View certificates. Rysunek 1: Krok 1a Wyświetli się okno z organami certyfikacji. Należy dodać własne CA jako kolejny organ. Rysunek 2: Krok 1b 6 / 9

Aby wykonać operację dodawania organu certyfikującego należy: kliknąć przycisk Import..., a następnie wybrać z dysku plik certyfikatu CA. W momencie gdy zostanie wpisane hasło (bus12) certyfikat powinien zostać właściwie zaimportowany (rysunek 3) i pojawi się na liście organów (rysunek 2). Rysunek 3: Krok 1b 2. Dodać certyfikat klienta do programu Firefox. W tym celu należy pozostać w oknie managera certyfikatów, zmienić zakładkę na Your certificates,a następnie kliknąć przycisk Import... i wybrać certyfikat klienta z dysku (rysunek 4). Poprawnie dodany certyfikat pojawi się na liście. Rysunek 4: Krok 2 2.7 Dalsza konfiguracja serwera Apache 1. Aby udostępnić konkretne katalogi użytkownikom z certyfikatami klienckimi należy je najpierw utworzyć (na przykład dla-marka, dla-wszystkich) i umieścić w katalogu www: Listing 19: Krok 1 sudo mkdir /opt/lampp/htdocs/dla-marka sudo mkdir /opt/lampp/htdocs/dla-wszystkich 7 / 9

2. Zmodyfikować plik httpd.conf wpisując do niego treść z listingu 21. Reguły definiują uprawnienia konkretnych katalogów i wymagają w nich autoryzacji klienta. Listing 20: Krok 2 sudo gedit /opt/lampp/etc/httpd.conf Listing 21: Krok 3 SSLVerifyClient none SSLCACertificateFile /opt/lampp/etc/ssl.crt/ca.crt <Location /dla-marka> SSLVerifyClient require SSLVerifyDepth 1 </Location> <Location /dla-sylwii> SSLVerifyClient require SSLVerifyDepth 1 </Location>... 3. Wyniki Zastosowana konfiguracja (w środowisku XAMPP 1.8.1 i Firefox) umożliwia skuteczne łączenie z serwerem localhost za pośrednictwem transmisji https:// (rysunek 5). Rysunek 5: Informacje o certyfikacje serwera 8 / 9

Gdy użytkownik odwiedza katalog z ograniczeniami dostępu (np. dla-marka) zostaje poproszony o certyfikat klienta (rysunek 6). Rysunek 6: Żądanie identyfikacji klienta Certyfikat zostaje zaakceptowany, a zawartość strony wyświetlona (rysunek 7). Rysunek 7: Fragment zabezpieczonej strony 9 / 9