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



Podobne dokumenty
Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

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

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA

Bezpieczeństwo systemów informatycznych

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

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

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

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

Laboratorium nr 6 VPN i PKI

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 13

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

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

ZiMSK. Konsola, TELNET, SSH 1

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

Laboratorium nr 5 Sieci VPN

Sieci VPN SSL czy IPSec?

Laboratorium nr 4 Sieci VPN

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

OpenVPN na dd-wrt

Polityka Certyfikacji dla Certyfikatów PEMI

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

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

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

Instrukcja pobrania i instalacji. certyfikatu niekwalifikowanego na komputerze lub karcie kryptograficznej wersja 1.2

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

SSL (Secure Socket Layer)

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

Wykorzystanie protokołu SCEP do zarządzania certyfikatami cyfrowymi w systemie zabezpieczeń Check Point NGX

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Instrukcja obsługi programu altbackup

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Podstawy Secure Sockets Layer

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

Technologia Internetowa w organizacji giełdy przemysłowej

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

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

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

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509

Program Opakowania zwrotne dla InsERT GT.

Konfiguracja OpenVPN Parę słów o VPN i OpenVPN

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

FINNCA INS Instrukcja dla subskrybentów

Podpisywanie i bezpieczne uruchamianie apletów wg

WHEEL LYNX SSL/TLS DECRYPTOR. najszybszy deszyfrator ruchu SSL/TLS

Bezpieczeństwo informacji w systemach komputerowych

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instrukcja do instalacji/aktualizacji systemu KS-FKW

Przewodnik użytkownika

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

Konfiguracja bezpiecznego tunelu IPSec VPN w oparciu o bramę ZyWall35 i klienta ZyXEL RSC (Remote Security Client).

Bezpieczna poczta i PGP

Zdalne logowanie do serwerów

Program do obsługi ubezpieczeń minifort

Authenticated Encryption

INSTRUKCJA AKTYWACJI I INSTALACJI CERTYFIKATU ID

Samokontrola postępów w nauce z wykorzystaniem Internetu. Wprowadzenie

Internet Information Service (IIS) 7.0

Procedura zarządzania profilami zaufanymi epuap

Instrukcja wgrywania Certyfikatu Klienta do przeglądarki Mozilla Firefox. System Bankowości Internetowej KIRI BS 2012

Wygeneruj 8192-bitowy klucz RSA SHA-256 dla naszego głównego urzędu certyfikacji: ...++

Wprowadzenie do OpenSSL

Instalacja i konfiguracja serwera SSH.

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

1. MOZILLA THUNDERBIRD (31.3.0) 2 2. WINDOWS LIVE MAIL THE BAT HOME EDITION ( BIT) 30

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Program Zamiana towarów dla Subiekta GT.

Bezpieczeństwo systemów komputerowych, r.

CA w praktyce Warsztaty promocyjne dla użytkowników Usługi Powszechnej Archiwizacji. Gracjan Jankowski, Maciej Brzeźniak, PCSS

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

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

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

Elementy zaczerpnięte z: Encryption & Security Tutorial (Peter Gutmann)

Program Dokumenty zbiorcze dla Subiekta GT.

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 10

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

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

Instytut Teleinformatyki

11. Autoryzacja użytkowników

Problemy z bezpieczeństwem w sieci lokalnej

Podręcznik Integracji

Gerard Frankowski, Błażej Miga Zespół Bezpieczeństwa PCSS. Konferencja SECURE 2008 Warszawa,

Stunnel - tunelowanie poczty po SSL Data: o godz. 00:01:32 Temat: FreeBSD - oprogramowanie itp.

ZESTAW PLATINUM. - instrukcja pobrania i instalacji certyfikatu niekwalifikowanego wersja 1.2

Strategia gospodarki elektronicznej

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Polityka Certyfikacji. Bezpieczna Poczta Korporacyjna Telekomunikacja Polska

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

BEZPIECZEOSTWO SYSTEMU OPERO

Transkrypt:

OpenSSL A. Instalacja pakietu: sudo aptitude openssl B. Zastosowanie pakietu OpenSSL: Tworzenie własnego CA, Generowanie kluczy, wniosków i certyfikatów. Tworzymy własny Urząd Certyfikacji (CA). Wymagania: CA powinno być utworzone na bezpiecznym komputerze - najlepiej odłączonym od Internetu lub przynajmniej za Firewallem, Regularne robienie kopii bezpieczeństwa wystawionych certyfikatów tak aby w razie potrzeby uniewaŝnić któryś z certyfikatów. Przechodzimy do pliku /etc/ssl/openssl.cnf, odnajdujemy sekcję [CA_default] i dokonujemy sprawdzenia poprawności ścieŝek składowania certyfikatów i kluczy: [Ca_default] dir=/etc/ssl/private # główny katalog, w którym zapisywane są pliki certs=/etc/ssl/certs # katalog, w który zapisywane są certyfikaty crl_dir=$dir/crl # katalog z listą uniewaŝnionych certyfikatów private_key=$dir/ssl-cert-snakeoil.pem # klucz prywatny CA database = $dir /index.txt # baza danych o wystawionych certyfikatach certfyfikate = $dir/cacert.pem # Certyfikat CA do podpisu wniosków serial = $dir/serial #plik pomocniczy z bieŝącym numerem inkrementowany po kaŝdym wystawieniu certyfikatu

crl =/$dir/crl.pem # bieŝąca lista certyfikatów uniewaŝnionych Upewniamy się czy istnieje katalog podany w zmiennej dir =/etc/ssl oraz wszystkie jego podkatalogi. Jeśli nie, to je zakładamy. Dla katalogu private ustawiamy uprawnienia tak, aby tylko uŝytkownik Root mógł do niego wejść Tworzymy pliki index.txt (pusty) oraz serial (zawiera wpis 00): touch /etc/ssl/index.txt touch /etc/ssl/serial Tworzenie Urzędu Certyfikacyjnego składa się z dwóch czynności: Wygenerowania klucza prywatnego Urzędu Certyfikacji Wygenerowanie certyfikatu Urzędu Certyfikacji (klucz publiczny) Generujemy klucz prywatny centrum certyfikacji CA (czynność jednorazowa): W katalogu /etc/ssl wydajemy polecenie: openssl genrsa 1024 -des3 out private/ssl-cert-snakeoil.pem genrsa polecenie generujące klucz prywatny według algorytmu RSA des3 polecenie szyfruje klucz prywatny algorytmem des3. Inne opcje: des, idea 1024 długość klucza prywatnego zorientowana bitowo out nazwa pliku wyjściowego Zostaniemy poproszeni o nadanie hasła do klucza prywatnego. Po potwierdzeniu hasła klucz zostanie zapisany w katalogu /etc/ssl/private/cakey.pem Generujemy certyfikat którym będziemy posługiwać się do podpisywania innych certyfikatów (np. dla klientów). openssl req x509 new days 365 key /etc/ssl/private/ssl-certsnakeoil.key > /etc/ssl/private/cacert.pem req polecenie generujące certyfikat bądź Ŝądanie o podpis certyfikatu new opcja generuje nowe Ŝądanie certyfikatu. x509 - opcja zleca wygenerowanie podpisanego certyfikatu

days - waŝność certyfikatu podana w dniach. Działa tylko z opcją x509 (defaultowo 30 dni. key określa ścieŝkę/nazwę klucza prywatnego Zostaniemy poproszeni o podanie kilku pól zawartych w certyfikacie. Po podaniu hasła do klucza prywatnego certyfikat zostanie zapisany w /etc/ssl/private/ca cert Posiadając klucz prywatny i publiczny dla CA (certyfikat CA) moŝna przystąpić do wystawiania certyfikatów innym podmiotom. Tworzenie klucza prywatnego dla określonego podmiotu (serwer, klient): Będąc w katalogu /etc/ssl piszemy: openssl genrsa 1024 des3 > /etc/ssl/private/serwerkey.key Program OpenSSL zapyta o hasło będzie to hasło do klucza prywatnego serwera Warto standaryzować nazwy tworzonych kluczy i certyfikatów: na początku pisząc nazwę podmiotu (tutaj serwer a moŝe być dowolna nazwa: klient, klien1 etc.), kolejno nazwę dokument (tutaj key a moŝe być dowolna nazwa np. klucz), oraz rozszerzenie.pem. Generowanie wniosku o wystawienie certyfikatu: openssl req new key /etc/ssl/private/serwerkey.key > serwerreq.pem Podajemy hasło klucza prywatnego danego podmiotu (tu serwera). JeŜeli hasło będzie poprawne, zostaniemy zapytani o dane do wniosku (tak jak byliśmy pytani w przypadku certyfikatu dla CA). W przypadku podmiotu, który będzie serwerem bezpośrednio połączonym z Internetem, w polu Common Name podajemy pełną nazwę domenową (FQDN Fully Qualified Domain Name ). Jest to waŝne, poniewaŝ niektóre programy zgłaszają niezgodność certyfikatu z adresem serwera.

Wystawienie certyfikatu dla określonego podmiotu (serwer, klient): Aby wystawić certyfikat dla podmiotu wykorzystujemy wygenerowany wcześniej wniosek: openssl ca notext in serwerreq.pem > serwercert.pem ca aplikacja wystawiająca/uniewaŝniająca certyfikaty in nazwa wniosku o wystawienie certyfikatu Zostaniemy zapytani o hasło do klucza prywatnego Urzędu Certyfikacji ssl-cert-snakeoil.pem (nie mylić z hasłem do klucza prywatnego podmiotu). Następnie OpenSSL pokaŝe szczegóły certyfikatów i zapyta czy chcemy go podpisać. Wygenerowaliśmy parę kluczy (prywatny i publiczny - certyfikat) dla podmiotu (serwera). Do zestawienia szyfrowanych połączeń, sieci VPN, IPsec będą potrzebne teŝ klucze dla uŝytkowników. Generujemy je w sposób analogiczny do powyŝszego. MoŜna podejrzeć zawartość plików index.txt oraz serial które zostały zaktualizowane po podpisaniu wniosku. Plik index.txt jest potrzebny przy odwołaniu certyfikatu. Uwagi: W polu Common Name podajemy dane jednoznacznie identyfikujące uŝytkownika np. login korporacyjny, Hasło zabezpieczające klucz prywatny będzie wpisywane z klawiatury, co nie jest najbezpieczniejszym rozwiązaniem. W takich sytuacjach moŝemy ściągnąć hasło z klucza prywatnego. Dostęp do klucza powinien mieć jedynie Root. Ściąganie hasła z klucza prywatnego serwera: sudo openssl rsa in /etc/ssl/private/serwerkey.pem > /etc/ssl/private/serwerkey.pem_bezhasla rsa narzędzie do przetwarzania kluczy UniewaŜnianie certyfikatów: Do uniewaŝniania certyfikatów słuŝy parametr revoke biblioteki openssl, np.: openssl ca revoke klient1.pem

revoke parametr określający nazwę certyfikatu do uniewaŝnienia Openssl zapyta o hasło do klucza prywatnego Urzędu Certyfikacji i uniewaŝni certyfikat. Generujemy jeszcze listę CRL, w której są zapisane uniewaŝnione certyfikaty: openssl ca gencrl out crl.pem gencrl - opcja generuje listę CRL na podstawie informacji w pliku index.txt Inne dostępne polecenia: asn1parse Analiza składni sekwencji ASN.1. ca Zarządzanie ośrodkami certyfikacji (CA). ciphers Opis zestawu dostępnych szyfrów. crl Zarządzanie listą uniewaŝnionych certyfikatów (CRL). crl2pkcs7 Konwersja z CRL do PKCS#7. dgst Obliczanie skrótu wiadomości. dh Zarządzanie parametrami Diffie-Hellmana. Przedawnione przez dhparam. dsa Zarządzanie danymi DSA. dsaparam Tworzenie parametru DSA. enc Szyfrowanie. errstr Konwersja numeru błędu na komunikat błędu. dhparam Tworzenie i zarządzanie parametrami Diffie-Hellmana. gendh Tworzenie parametrów Diffie-Hellmana. Przedawnione przez dhparam. gendsa Tworzenie parametrów DSA. genrsa Tworzenie parametrów RSA. passwd Generowanie skrótu hasła. pkcs12 Zarządzanie danymi PKCS#12.

pkcs7 Zarządzanie danymi w formacie PKCS#7. rand Tworzenie pseudo-losowych bajtów. req Zarządzanie Ŝądaniami podpisu certyfikatu X.509 (CSR). rsa Zarządzanie danymi RSA. rsautl Narzędzie do podpisywania, weryfikowania, szyfrowania i deszyfrowania RSA. s_client Implementacja podstawowego klienta SSL/TLS potrafiącego nawiązywać przeźroczyste połączenia z odległym serwerem na SSL/TLS. SłuŜy jedynie do testowania i dostarcza tylko podstawowej funkcjonalności interfejsu, ale wewnętrznie korzysta z niemal pełnych moŝliwości biblioteki OpenSSL (SSL). s_server Implementacja podstawowego serwera SSL/TLS przyjmującego połączenia od odległych klientów obsługujących SSL/TLS. SłuŜy jedynie do testowania i dostarcza tylko podstawowej funkcjonalności interfejsu, ale wewnętrznie korzysta z niemal pełnych moŝliwości biblioteki OpenSSL ssl. Posiada zarówno własny protokół wiersza poleceń do testowania funkcji SSL, jak i emuluje prosty serwer sieciowy SSL/TLS oparty o HTTP. s_time Licznik czasu połączenia SSL. sess_id Zarządzanie danymi sesji SSL. smime Przetwarzanie poczty S/MIME. speed Mierzenie szybkości algorytmu. verify Weryfikacja certyfikatu X.509. version Informacja o wersji OpenSSL. x509 Zarządzanie certyfikatami X.509.