Jak generować certyfikaty SSL w systemie Linux za pomocą OpenSSL

Generate Ssl Certificate Openssl Featured

Proces generowania certyfikatów SSL/TLS jest typowym zadaniem wielu administratorów systemów Linux. Na szczęście, nawet jeśli nie jesteś administratorem, łatwo to zrobić za pomocą OpenSSL, narzędzia typu open source, które jest domyślnie instalowane w wielu dystrybucjach Linuksa. Tutaj wyjaśniamy, czym jest OpenSSL, jak go zainstalować, a co najważniejsze, jak go używać do generowania certyfikatów SSL i TLS w swoim systemie.

Co to jest OpenSSL?

OpenSSL to biblioteka opracowana przez OpenSSL Project w celu zapewnienia implementacji SSL i TLS typu open source do szyfrowania ruchu sieciowego. Jest dostępny dla różnych dystrybucji opartych na systemie Unix i może być używany do generowania certyfikatów, kluczy prywatnych RSA i wykonywania ogólnych zadań związanych z kryptografią.

Ograniczenie certyfikatu SSL z podpisem własnym

Kiedy używasz OpenSSL do generowania certyfikatu SSL, jest on uważany za „samopodpisany”. Oznacza to, że certyfikat SSL jest podpisany Twoim własnym kluczem prywatnym, a nie z Urzędu Certyfikacji (CA).

W związku z tym certyfikat SSL nie może być „zaufany” i nie powinien być używany w witrynach publicznych. Jeśli jest używany, użytkownicy mogą zobaczyć ostrzeżenia w swoich przeglądarkach dotyczące certyfikatu.

Certyfikat z podpisem własnym jest przydatny do programowania lokalnego lub dowolnej aplikacji działającej w tle i bez połączenia z Internetem.

Alternatywnie możesz użyć LetsEncrypt lub uzyskać certyfikat zweryfikowany przez zaufany urząd, taki jak Comodo CA.

Instalacja

Większość dystrybucji Linuksa ma już domyślnie wbudowaną wersję OpenSSL. Jeśli nie, możesz go łatwo zainstalować.

Możesz zainstalować go na Ubuntu i Debianie za pomocą apt Komenda:

W CentOS (lub jego alternatywie) możesz zainstalować go za pomocą yum Komenda:

Możesz go również łatwo pobrać z Twoja strona internetowa jako plik „.tar.gz”.

podstawowe zastosowanie

Teraz, gdy masz już zainstalowany OpenSSL, możemy przyjrzeć się niektórym podstawowym funkcjom zapewnianym przez program.

Czytać  Jak uruchomić Nmapa bez roota lub Sudo

Możesz zacząć od wyświetlenia wersji i innych istotnych informacji o Twojej instalacji OpenSSL:

Sprawdzanie wersji Openssl

Możesz zapoznać się z dostarczoną instrukcją:

Polecenie pomocy Openssl 1

Generowanie certyfikatu za pomocą pliku konfiguracyjnego

Generowanie certyfikatu za pomocą OpenSSL jest możliwe na wiele sposobów. Jednym z nich jest użycie pliku konfiguracyjnego, który określi szczegóły dotyczące organizacji.

Aby rozpocząć, możesz utworzyć plik konfiguracyjny o nazwie „config.conf” i edytować go za pomocą Nano:

Oto przykład zawartości pliku konfiguracyjnego:

Możesz po prostu skopiować i wkleić to do pliku i wprowadzić niezbędne zmiany, aby odzwierciedlić informacje o Twojej organizacji.

Edytuj plik konfiguracyjny nano

Następnie musisz wygenerować klucz prywatny RSA, który następnie posłuży do wygenerowania certyfikatu głównego:

ten -out flaga jest w tym przypadku używana do określenia nazwy generowanego klucza. Określony jest również rozmiar klucza wynoszący 2048 bitów, co jest wartością domyślną dla kluczy RSA.

Openssl generuje klucz prywatny Rsa

Będziesz także musiał wygenerować żądanie podpisania certyfikatu (CSR):

W tym przypadku -key flaga służy do określenia klucza RSA, -out znak określa nazwę pliku CSR, a -config flaga służy do określenia nazwy pliku konfiguracyjnego.

Następnie możesz wygenerować certyfikat główny, który służy do wygenerowania naszego certyfikatu końcowego:

W procesie generowania tego certyfikatu głównego, -sha256 służy do określenia SHA256 jako skrótu wiadomości.

Teraz, jeśli chodzi o ostatni krok, możemy wreszcie napisać, co następuje, aby wygenerować nasz certyfikat:

ten -CA flaga określa certyfikat główny, -CAkey flaga określa klucz prywatny i -extfile określa nazwę pliku konfiguracyjnego. Plik „final.crt” będzie żądanym certyfikatem SSL.

Openssl generuje samopodpisany certyfikat

Generowanie certyfikatu bez pliku konfiguracyjnego

Alternatywnie możesz również wygenerować certyfikat za pomocą OpenSSL bez pliku konfiguracyjnego.

Czytać  Jak używać polecenia xargs w systemie Linux

Możesz zacząć od wygenerowania klucza prywatnego RSA:

Następnie musisz wygenerować CSR:

Podczas generowania CSR zostaniesz poproszony o udzielenie odpowiedzi na pytania dotyczące Twojej organizacji.

Żądanie podpisania certyfikatu Openssl

Na koniec możemy wygenerować sam certyfikat:

Certyfikat generowania Openssl bez pliku konfiguracyjnego

Weryfikacja kluczy i certyfikatów

Klucze i certyfikaty można łatwo sprawdzić i zweryfikować za pomocą OpenSSL, dzięki -check flaga:

Openssl Weryfikacja klucza prywatnego Rsa

Możesz sprawdzić żądania podpisania certyfikatu:

a także certyfikaty:

Certyfikat weryfikacji Openssl

Częste pytania

1. Czy nadal muszę się martwić o Heartbleed?

Heartbleed (CVE-2014-0160) to stara luka znaleziona w OpenSSL w 2014 roku. Dotyczy to serwerów TLS i klientów korzystających z OpenSSL. Łatka została szybko wydana kilka dni po jej odkryciu, a ta luka nie jest powodem do zmartwień w 2022 roku, o ile korzystasz z nowoczesnej, aktualnej wersji OpenSSL.

Jeśli używasz OpenSSL na systemach opartych na Debianie i Ubuntu, zawsze możesz go zaktualizować, uruchamiając następujące polecenia:

2. Jak długo trwają certyfikaty SSL, zanim wygasną?

Zależy to od wartości wybranej podczas generowania certyfikatu. Można to określić za pomocą -days wskaźnik podczas generowania certyfikatu.

Kredyt obrazu: SLS napisany na drewnianym bloku kostki przez 123RF

Czy ten artykuł jest przydatny?