PureFTPd 1.0.23+ Uycie certyfikatów niekwalifikowanych w oprogramowaniu PureFTPd wersja 1.1
Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZY I CERTYFIKATU DLA DEMONA PURE-FTPD... 3 2.1. GENEROWANIE WNIOSKU O CERTYFIKAT (CSR)... 3 2.2. TWORZENIE CERTYFIKATU NA PODSTAWIE UTWORZONEGO DANIA (CSR)... 4 2.3. IMPORTOWANIE CERTYFIKATÓW... 6 3. POBIERANIE CERTYFIKATÓW CERTUM CA I CERTYFIKATÓW POREDNICH... 7 4. INSTALOWANIE KLUCZA PRYWATNEGO I CERTYFIKATÓW W PURE-FTPD... 8 5. KONFIGUROWANIE PURE-FTPD DO POŁCZE W OTOCZENIU SSL... 8
1. Wstp Pure-FTPd jest darmowym (BSD), bezpiecznym, wysokiej jakoci, spełniajcym wszelkie standardy serwerem FTP. Bardzo dobrze sprawdza si zarówno dla uytku domowego jak i dla wszelkiego rodzaju organizacji czy duych firm. Jest bardzo przyjazny dla administratorów (obsługuje m.in. jzyk polski) i dobrze współpracuje z wieloma rónymi usługami (m.in. LDAP czy SQL). Dziki integracji z bibliotek OpenSSL zapewnia uytkownikom pełn poufno i integralno danych. Aby właciwie skonfigurowa połczenia SSL na linii klient-serwer potrzebne bd nastpujce komponenty: Serwer Pure-FTPd www.pureftpd.org Biblioteka OpenSSL www.openssl.org Kompatybilny klient Jeli Twoja dystrybucja Linuksa nie obejmuje powyszych składników, cignij je i zainstaluj. Przy pisaniu tej instrukcji, Autor korzystał z dystrybucji: Red Hat Enterprise Linux 4. 2. Tworzenie kluczy i certyfikatu dla demona Pure-FTPd 2.1. Generowanie wniosku o certyfikat (CSR) W celu wygenerowania kluczy i wniosku o certyfikat, wykorzystamy zewntrzne narzdzie Openssl które mona cign ze strony: http://openssl.org. Po instalacji biblioteki Openssl, wydajemy polecenie: openssl genrsa -des3 -out server.key 1024 Polecenie to spowoduje wygenerowanie klucza prywatnego o nazwie server.key dla naszego serwera. Klucz ten bdzie miał długo 1024 bity i bdzie zaszyfrowany algorytmem symetrycznym 3des. Podczas generowania klucza bdziemy poproszeni o hasło, które zabezpieczy komponent. Plik CSR wraz z kluczem prywatnym server.key naley zabezpieczy na dyskietce lub innym noniku. Po pomylnym wygenerowaniu klucza prywatnego wydajemy polecenie: openssl req -new -key server.key -out server.csr Wynikiem tego polecenia jest danie certyfikatu CSR serwera, które zapisane zostanie w pliku server.csr. Pamitajmy o wskazaniu pliku z kluczem prywatnym server.key. Podczas generowania dania CSR naley poda hasło zabezpieczajce klucz prywatny oraz dane zwizane z nasz firm i serwerem poczty: PureFTPd 1.0.23+ Wstp 3
1. Country (C) - dwuliterowy symbol kraju (PL). Naley uy kodu ISO, np. poprawnym kodem Polski jest PL (due litery), a nie pl czy RP. 2. State / Province (ST) - nazwa województwa, np.: Zachodniopomorskie. Nie naley stosowa skrótów. 3. City or Locality (L) - nazwa miasta lub wsi, np.: Szczecin, Kozia Wolka, Warszawa. 4. Organization Name (O) - pełna nazwa swojej organizacji / firmy, np.: Moja Firma 5. Organizational Unit (OU) - jeeli zachodzi taka potrzeba, mona wypełni to pole, wstawiajc nazw działu np. Oddzial w Moja Firma 6. Common Name (CN) - bardzo wane pole! Musi si tutaj znale pełna nazwa DNS (fqdn) serwera np.: www.mojserwer.pl, mojadomena.plm *.mojserwer.pl. UWAGA: Uywanie znaków specjalnych % ^ $ _ lub polskich znaków diakrytycznych: Ł przy podawaniu tych informacji spowoduje nieprawidłowe wygenerowanie certyfikatu!!! Pamitajmy, e w pole Common Name musimy wpisa nazw fqdn naszego serwera, np. poczta.mojserwer.com, pop3.mojadomena.pl, smtp.test.com.pl: 2.2. Tworzenie certyfikatu na podstawie utworzonego dania (CSR) Wygenerowane w kroku poprzednim danie powinno mie posta podobn jak poniej: -----BEGIN NEW CERTIFICATE REQUEST----- MIIDMDCCApkCAQAwgZoxGzAZBgNVBAMTEmRsdWJhY3oudW5pemV0by5wbDEhMB8G A1UECxMYRHppYWwgT2Nocm9ueSBJbmZvcm1hY2ppMRswGQYDVQQKExJVbml6ZXRv IFNwLiB6IG8uby4xETAPBgNVBAcTCFN6Y3plY2luMRswGQYDVQQIExJaYWNob2Ru aw9wb21vcnnrawuxczajbgnvbaytalbmmigfma0gcsqgsib3dqebaquaa4gnadcb iqkbgqc8jvrqrpbltozyvmjfxcef5picylmqv6z2al0j2gmoekbccyzf1khodsww 0ZF54FrTZhyKwYqfgiHO5duLfJSBqb/PTzovZH9qXUtxl+zQIhcJnA4Z/jKyWHGl X7LUlC9u2bas/vWwQZWYvxeqNMW4RZ+LU9Qqm9b/YD2qtOZ2qwIDAQABoIIBUzAa BgorBgEEAYI3DQIDMQwWCjUuMC4yMTk1LjIwNQYKKwYBBAGCNwIBDjEnMCUwDgYD VR0PAQH/BAQDAgTwMBMGA1UdJQQMMAoGCCsGAQUFBwMBMIH9BgorBgEEAYI3DQIC MYHuMIHrAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEA bgbuaguabaagaemacgb5ahaadabvagcacgbhahaaaabpagmaiabqahiabwb2agka ZABlAHIDgYkAXxNuAz6gcBaZUdef8WQ2PAroKMW8sprcKv7QD2encz6/Wct9DZ5C kgynlgy0f+lff7visdjqxywaj68ddqgxyaqiilf63kivptic6yxlanx65v3cnkfx 4UrUrGXZtub7M7/NuxSipOW0Vv7yCHganypxDyRzp6IhulEnL4APEH4AAAAAAAAA PureFTPd 1.0.23+ Tworzenie kluczy i certyfikatu dla demona Pure-FTPd 4
ADANBgkqhkiG9w0BAQUFAAOBgQAsTG3Hu00fFzNTekFo/fb3tKsmuS/1rCCB5sQK inpwgz8z8+tmqbb0tuz4fptkesqlpwv1orfmxmkpiu10dc3qwrp2e//ompnau807 IJIDwn2VZ7qQ/h0KcWoWSPmvt7J0KKshdGgAF7P6AYc7W4yA9B9nPeyEzQRW0t4D YBApPQ== -----END NEW CERTIFICATE REQUEST----- Majc wygenerowane danie wypełniamy formularz zgłoszeniowy i wklejamy CSR na stronie CERTUM (www.certum.pl -> Oferta -> Certyfikaty niekwalifikowane -> Zabezpieczanie serwerów -> Serwery SSL i na dole strony wybieramy Kup certyfikat). UWAGA: W celu wklejania certyfikatu na stronie naley skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--" (razem z tymi liniami!!!), uywajc do tego celu edytora tekstowego. Upewniamy si, e w polu E-mail jest wpisany poprawny adres (na ten adres zostan wysłane dalsze instrukcje), oraz, e zaznaczylimy pole Potwierdzam Owiadczenie i klikamy Dalej. Pojawi si strona, na której moemy si upewni, e nasze danie CSR zostało wygenerowane na prawidłowe dane. UWAGA: Naley si upewni, e w polu podmiot jest wpisana poprawna nazwa naszej strony (jeli kupujemy certyfikat na domen poczta.mojserwer.com upewnijmy si, e ta nazwa widnieje w tym polu)!!! PureFTPd 1.0.23+ Tworzenie kluczy i certyfikatu dla demona Pure-FTPd 5
Upewniwszy si, co do poprawnoci wprowadzonych danych klikamy Dalej: Po wykonaniu powyszej procedury zostaniemy poinformowani stosownym e-mailem o dalszych krokach naszych działa. 2.3. Importowanie certyfikatów Po wykonaniu powyszej procedury z poprzedniego punktu otrzymamy stosownego e-maila z adresem strony oraz numerem ID umoliwiajcym aktywacj certyfikatu (umieszczenie certyfikatu w naszym repozytorium dostpnym na stronach www). Wchodzimy na stron, wklejamy ID i aktywujemy certyfikat klikajc Dalej: Pojawi si okno ze szczegółami naszego certyfikatu: Klikamy Zapisz tekstowo, aby zapisa certyfikat jako plik *.pem lub Zapisz binarnie, aby zapisa certyfikat jako plik *.cer. UWAGA: W przypadku utraty pliku z certyfikatem, moemy j pobra ze strony www.certum.pl -> Obsługa certyfikatów -> Wyszukaj certyfikat (niekwalifikowany). PureFTPd 1.0.23+ Tworzenie kluczy i certyfikatu dla demona Pure-FTPd 6
Dla interesujcego nas certyfikatu wybieramy opcj Zapisz tekstowo lub Zapisz binarnie: UWAGA: Pobrany w ten sposób plik zawiera jedynie certyfikat serwera pozostałe certyfikaty CERTUM mona pobra z działu Obsługa certyfikatów -> Zawiadczenia i klucze i dołczy do pobranego pliku. 3. Pobieranie certyfikatów Certum CA i certyfikatów porednich Aby pobra certyfikat Certum CA lub certyfikaty porednie naley wej na stron www.certum.pl do działu Obsługa certyfikatów Zawiadczenia i klucze. Po wybraniu certyfikatu naley wybra opcj Certyfikat dla serwerów WWW. Wywietli si interesujcy nas certyfikat, który zaznaczymy myszk, wkleimy do pliku i zapiszemy (lub dla wygody dołczamy do pliku z naszym certyfikatem w kolejnoci nasz certyfikat -> Certum Level I-IV -> Certum CA). UWAGA: W celu wklejania do pliku certyfikatu prezentowanego na stronie naley skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--". PureFTPd 1.0.23+ Pobieranie certyfikatów Certum CA i certyfikatów porednich 7
W przypadku pobierania certyfikatów porednich, wybieramy interesujcy nas certyfikat, np. CERTUM Level IV z listy (Certyfikaty Level IV naley pobra w przypadku, gdy posiadamy certyfikat typu Trusted, certyfikat poziomu III naley pobra w sytuacji, gdy posiadamy certyfikat typu Enterprise / Wildcard, certyfikat poziomu II naley pobra w sytuacji, gdy posiadamy certyfikat typu Commercial; dla certyfikatów typu Private pobierany jest certyfikat klasy I). Pozostała cz procesu (zapisanie do pliku) przebiega jak dla certyfikatu Certum CA. 4. Instalowanie klucza prywatnego i certyfikatów w Pure-FTPd Przed instalacj certyfikatu naley usun hasło zabezpieczajce pliku z kluczem prywatnym server.key: Po usuniciu hasła, plik z kluczem prywatnym łczymy z paczk z certyfikatami nr_seryjny.pem (w której znajduje si certyfikat serwera i certyfikaty porednie, jeli je wkleilimy wczeniej patrz rozdział 3 wyej): cat server.key cert.txt > /etc/ssl/private/pure-ftpd.pem Plik pure-ftpd.pem bdzie umieszczony w katalogu /etc/ssl/private. Jest to katalog domylny, uywany przez PureFTPd do przechowywania kluczy i certyfikatów (podczas instalacji mona go zmieni). Po przeniesieniu pliku z certyfikatami i kluczem, naley zrestartowa serwer. 5. Konfigurowanie Pure-FTPd do połcze w otoczeniu SSL Po zainstalowaniu biblioteki OpenSSL, wygenerowaniu kluczy i postawieniu demona FTP, naley skonfigurowa serwer tak, aby wymuszał na klientach bezpieczne połczenie. Jednak, aby to było moliwe naley przed kompilacj ródeł skonfigurowa Pure-FTPd z parametrem with-tls:./configure with-tls make install-strip Edytujemy plik konfiguracyjny serwera: pure-ftpd.conf i odkomentowujemy linijk (i zmieniamy domyln warto z 1 na 2 ): TLS 2 W ten sposób wymusimy bezpieczne połczenie klienta z serwerem. Alternatywnym do powyszego rozwizaniem jest uruchomienie demona z opcj:./pure-ftpd tls=2 Aby sprawdzi czy nasz serwer jest przygotowany na obsług tylko i wyłcznie sesji SSL/TLS wydajemy polecenie: telnet localhost 21 Serwer powinien zwróci komunikaty podobne do poniszych: Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). PureFTPd 1.0.23+ Instalowanie klucza prywatnego i certyfikatów w Pure-FTPd 8
Escape character is '^]'. 220---------- Welcome to Pure-FTPd [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 09:39. Server port: 21. 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Spróbujemy si zalogowa...: user certacy Serwer powinien zwróci komunikaty podobne do poniszych: 421 Sorry, cleartext sessions are not accepted on this server. Please reconnect using SSL/TLS security mechanisms. Connection closed by foreign host. Taka lub podobna informacja wiadczy o poprawnym skonfigurowaniu serwera. Pamitaj, e nie kady klient ma wbudowane mechanizmy obsługujce sesje SSL/TLS. Na stronie http://www.pureftpd.org znajdziemy wicej informacji. PureFTPd 1.0.23+ Konfigurowanie Pure-FTPd do połcze w otoczeniu SSL 9