VSFTPd 2.0.1+ Uycie certyfikatów niekwalifikowanych w oprogramowaniu VSFTPd wersja 1.1
Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZY I CERTYFIKATU DLA DEMONA VSFTPD... 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 VSFTPD... 8 5. KONFIGUROWANIE VSFTPD DO POŁCZE W OTOCZENIU SSL.... 8
1. Wstp VSFTPd 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 VSFTPd http://vsftpd.beasts.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 VSFTPd 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: VSFTPd 2.0.1+ 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 ADANBgkqhkiG9w0BAQUFAAOBgQAsTG3Hu00fFzNTekFo/fb3tKsmuS/1rCCB5sQK VSFTPd 2.0.1+ Tworzenie kluczy i certyfikatu dla demona VSFTPd 4
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)!!! Upewniwszy si, co do poprawnoci wprowadzonych danych klikamy Dalej: VSFTPd 2.0.1+ Tworzenie kluczy i certyfikatu dla demona VSFTPd 5
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). VSFTPd 2.0.1+ Tworzenie kluczy i certyfikatu dla demona VSFTPd 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--". VSFTPd 2.0.1+ 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 VSFTPd 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 > /usr/share/ssl/certs/vsftpd.pem Plik vsftpd.pem bdzie umieszczony w katalogu /etc/ssl/private. Jest to katalog domylny, uywany przez PureFTPd do przechowywania kluczy i certyfikatów (podczas istalacji mona go zmieni). Po przeniesieniu pliku z certyfikatami i kluczem, naley zrestartowa serwer. 5. Konfigurowanie VSFTPd do połcze w otoczeniu SSL. Po zainstalowaniu biblioteki OpenSSL, wygenerowaniu kluczy i postawieniu demona FTP, naley skonfigurowa serwer tak, aby umoliwiał klientom bezpieczne połczenie. Jeeli nie instalujemy Vsftpd z pakietu to pamitajmy o zmianie nastpujcej linijki w pliku builddefs.h: na: #undef VSF_BUILD_SSL #define VSF_BUILD_SLL Nastpnie edytujemy plik vsftpd.conf i dopisujemy na ko cu linijk: ssl_enable=yes aktywujemy konkretny protokół, np.: ssl_sslv2=yes #ssl_sslv3=yes #ssl_tlsv1=yes Domylnie serwer bdzie szukał kluczy w katalogu certs (w tym przypadku /usr/share/ssl/certs/vsftpd.pem). Aby wskaza swoj ciek do paczki z kluczami np. do katalogu /tmp naley doda poniszy wpis: rsa_cert_file=/tmp/vsftpd.pem VSFTPd 2.0.1+ Instalowanie klucza prywatnego i certyfikatów w VSFTPd 8