sendmail (smtp) + pop3 + ssl
Transkrypt
sendmail (smtp) + pop3 + ssl
SENDMAIL (SMTP) + POP3 + SSL U ycie certyfikatów niekwalifikowanych w oprogramowaniu Sendmail wersja 1.1 UNIZETO TECHNOLOGIES SA © Spis tre ci 1. WST P.............................................................................................................................................................. 3 2. TWORZENIE KLUCZY I CERTYFIKATU DLA DEMONÓW SMTP I POP3 ......................................... 3 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. GENEROWANIE WNIOSKU O CERTYFIKAT (CSR) ....................................................................................... 3 TWORZENIE CERTYFIKATU NA PODSTAWIE UTWORZONEGO DANIA (CSR)........................................... 5 POBIERANIE CERTYFIKATÓW CERTUM CA I CERTYFIKATÓW PO REDNICH .............................................. 6 INSTALOWANIE CERTYFIKATÓW PO REDNICH I CERTUM CA .................................................................... 7 POBIERANIE CERTYFIKATU SERWERA ........................................................................................................ 7 INSTALOWANIE KLUCZA PRYWATNEGO SERWERA ..................................................................................... 8 INSTALOWANIE CERTYFIKATU SERWERA .................................................................................................... 9 3. KONFIGUROWANIE SENDMAILA DO OBSŁUGI SMTP W OTOCZENIU SSL ................................. 9 4. UWIERZYTELNIANIE WZGL DEM SERWERA NA PODSTAWIE CERTYFIKATU KLIENTA ....... 9 5. KONFIGUROWANIE DEMONA POP3 DO OBSŁUGI W OTOCZENIU SSL ..................................... 10 5.1. 5.2. 5.3. 6. INSTALOWANIE KLUCZA PRYWATNEGO W POP3S .................................................................................. 10 INSTALOWANIE CERTYFIKATU SERWERA W POP3S................................................................................ 10 INSTALOWANIE CERTYFIKATU CERTUM CA I CERTYFIKATU PO REDNIEGO ......................................... 10 EKSPORT KLUCZY I CERTYFIKATÓW .................................................................................................. 10 UNIZETO TECHNOLOGIES SA © 1. Wst p Sendmail/TLS jest zaawansowanym wrapperem SMTP, przeznaczonym na profesjonaln platform Unix. Umo liwia nawi zanie bezpiecznego i autoryzowanego poł czenia za pomoc protokołu TLS z klientem poczty elektronicznej. Dokument ten zawiera instrukcj generowania unikalnej pary kluczy oraz dania certyfikatu (CSR), dla serwera Sendmail i demona POP3. Wi cej informacji znajdziesz na oficjalnych stronach projektu Sendmail (www.sendmail.org). Aby wła ciwie skonfigurowa komponenty: poł czenia SSL na linii klient-serwer potrzebne b d • Serwer MTA Sendmail – www.sendmail.org • Demon POP3 – tutaj w postaci pakietu imap-2002d-2.src.rpm • Biblioteka OpenSSL – www.openssl.org nast puj ce Je li Twoja dystrybucja Linuksa nie obejmuje powy szych składników, ci gnij je i zainstaluj. Zanim zabierzemy si za konfigurowanie bezpiecznych poł cze pocztowych przekonajmy si czy: • Serwer DNS jest odpowiednio skonfigurowany (dodany wpis MX). • Sendmail jest skonfigurowany z protokołem SMTP. • Sendmail jest zintegrowany z agentem POP3 (lub IMAP) z paczki IMAP. • Dodani zostali u ytkownicy poczty wraz z hasłami (addusr/passwd). • Klient poczty jest skonfigurowany. ... i czy cały mechanizm działa poprawnie. Przy pisaniu tej instrukcji, Autor korzystał z dystrybucji: Red Hat Enterprise Linux 4. 2. Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 2.1. Generowanie wniosku o certyfikat (CSR) W celu wygenerowania kluczy dla Sendmaila (i agenta POP3), wykorzystamy zewn trzne narz dzie – Openssl – które mo na ci gn 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 b dzie miał długo 1024 bity i b dzie zaszyfrowany algorytmem symetrycznym 3des. Podczas generowania klucza b dziemy poproszeni o hasło, które zabezpieczy komponent. SENDMAIL (SMTP) + POP3 + SSL – Wst p Wersja 1.1 UNIZETO TECHNOLOGIES SA © 3 Plik CSR wraz z kluczem prywatnym server.key nale y zabezpieczy na dyskietce lub innym no niku. Po pomy lnym 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. Pami tajmy o wskazaniu pliku z kluczem prywatnym server.key. Podczas generowania dania CSR nale y poda hasło zabezpieczaj ce klucz prywatny oraz dane zwi zane z nasz firm i serwerem poczty: • Country (C) - dwuliterowy symbol kraju (PL). Nale y u y kodu ISO, np. poprawnym kodem Polski jest PL (du e litery), a nie pl czy RP. • State / Province (ST) - nazwa województwa, np.: Zachodniopomorskie. Nie nale y stosowa skrótów. • City or Locality (L) - nazwa miasta lub wsi, np.: Szczecin, Kozia Wolka, Warszawa. • Organization Name (O) - pełna nazwa swojej organizacji / firmy, np.: Moja Firma • Organizational Unit (OU) - je eli zachodzi taka potrzeba, mo na wypełni nazw działu np. Oddzial w Moja Firma • Common Name (CN) - bardzo wa ne pole! Musi si tutaj znale np.: www.mojserwer.pl, mojadomena.plm *.mojserwer.pl. to pole, wstawiaj c pełna nazwa DNS (fqdn) serwera UWAGA: U ywanie znaków specjalnych % ^ $ _ lub polskich znaków diakrytycznych: podawaniu tych informacji spowoduje nieprawidłowe wygenerowanie certyfikatu!!! Pami tajmy, e w pole Common Name musimy wpisa poczta.mojserwer.com, pop3.mojadomena.pl, smtp.test.com.pl: nazw Ł przy fqdn naszego serwera, np. SENDMAIL (SMTP) + POP3 + SSL – Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 Wersja 1.1 UNIZETO TECHNOLOGIES SA © 4 2.2. Tworzenie certyfikatu na podstawie utworzonego Wygenerowane w kroku poprzednim dania (CSR) danie powinno mie posta podobn jak poni ej: -----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 iNpWGZ8Z8+TmqBB0Tuz4FPTkeSqLpWv1ORfmxMKPIu10dC3QwRP2E//oMPnaU807 IJIDwn2VZ7qQ/h0KcWoWSPmvt7J0KKshdGgAF7P6AYc7W4yA9B9nPeyEzQRW0t4D YBApPQ== -----END NEW CERTIFICATE REQUEST----Maj c 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). SENDMAIL (SMTP) + POP3 + SSL – Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 Wersja 1.1 UNIZETO TECHNOLOGIES SA © 5 UWAGA: W celu wklejania certyfikatu na stronie nale y skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--" (razem z tymi liniami!!!), u ywaj c 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 zaznaczyli my pole Potwierdzam O wiadczenie i klikamy Dalej. Pojawi si strona, na której mo emy si upewni , e nasze prawidłowe dane. danie CSR zostało wygenerowane na UWAGA: Nale y si upewni , e w polu podmiot jest wpisana poprawna nazwa naszej strony (je li kupujemy certyfikat na domen poczta.mojserwer.com upewnijmy si , e ta nazwa widnieje w tym polu)!!! Upewniwszy si , co do poprawno ci wprowadzonych danych klikamy Dalej: Po wykonaniu powy szej procedury zostaniemy poinformowani stosownym e-mailem o dalszych krokach naszych działa . 2.3. Pobieranie certyfikatów Certum CA i certyfikatów po rednich Aby pobra certyfikat Certum CA lub certyfikaty po rednie nale y wej na stron www.certum.pl do działu Obsługa certyfikatów Za wiadczenia i klucze. Po wybraniu certyfikatu nale y wybra opcj Certyfikat dla serwerów WWW. Wy wietli si interesuj cy nas certyfikat, który zaznaczymy myszk , wkleimy do pliku i zapiszemy. UWAGA: W celu wklejania do pliku certyfikatu prezentowanego na stronie nale y skopiowa fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--". SENDMAIL (SMTP) + POP3 + SSL – Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 Wersja 1.1 UNIZETO TECHNOLOGIES SA © 6 W przypadku pobierania certyfikatów po rednich, wybieramy interesuj cy nas certyfikat, np. CERTUM Level IV z listy (Certyfikaty Level IV nale y pobra w przypadku, gdy posiadamy certyfikat typu Trusted, certyfikat poziomu III nale y pobra w sytuacji, gdy posiadamy certyfikat typu Enterprise / Wildcard, certyfikat poziomu II nale y 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. 2.4. Instalowanie certyfikatów po rednich i Certum CA W paczce ca-bundle.crt (dost pnej pod adresem: http://www.certum.pl/keys/ca-bundle.crt), znajduj si wszystkie certyfikaty CERTUM: wszystkie certyfikaty po rednie (w kolejno ci od Level I do Level IV), oraz root CA na ko cu. W celu zainstalowania certyfikatów CERTUM CA i certyfikatów po rednich kopiujemy (z poziomu Midnight Commandera b d linii polece ) plik z nasz paczk ca-bundle.crt do katalogu, gdzie b dziemy j przechowywa (zdefiniowanego w pliku sendmail.mc), np.: /usr/share/ssl/certs/ca-bundle.crt Restartujemy serwer poleceniem: #sendmail restart Instalacja certyfikatu, CERTUM CA i certyfikatów po rednich została zako czona pomy lnie. 2.5. Pobieranie certyfikatu serwera Po wykonaniu powy szych czynno ci mo emy wej na stron , której adres otrzymali my poczt elektroniczn i aktywowa certyfikat (umie ci certyfikat w naszym repozytorium dost pnym na stronach www): Wchodzimy na stron , wklejamy ID i aktywujemy certyfikat klikaj c Dalej: Pojawi si okno ze szczegółami naszego certyfikatu: Klikamy Zapisz tekstowo, aby zapisa certyfikat jako plik *.cer. certyfikat jako plik *.pem lub Zapisz binarnie, aby zapisa UWAGA: W przypadku utraty pliku z certyfikatem, mo emy j Obsługa certyfikatów -> Wyszukaj certyfikat (niekwalifikowany). pobra ze strony www.certum.pl -> SENDMAIL (SMTP) + POP3 + SSL – Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 Wersja 1.1 UNIZETO TECHNOLOGIES SA © 7 Dla interesuj cego nas certyfikatu wybieramy opcj Zapisz tekstowo lub Zapisz binarnie: UWAGA: Pobrany w ten sposób plik zawiera jedynie certyfikat serwera – pozostałe certyfikaty CERTUM mo na pobra z działu Obsługa certyfikatów -> Za wiadczenia i klucze i doł czy do pobranego pliku. 2.6. Instalowanie klucza prywatnego serwera Aby zainstalowa klucz prywatny na serwerze, nale y skopiowa (z poziomu Midnight Commandera b d linii polece ) plik z kluczem prywatnym server.key do katalogu, w którym b dziemy go przechowywa , np.: /usr/share/ssl/certs/server.key Zdejmujemy hasło z klucza prywatnego, aby klucz prywatny nie był w formie zaszyfrowanej (nieczytelnej dla niektórych wersji Sendmaila) : Openssl rsa -in server.key -out server.key Zabezpieczamy klucz: #chmod 400 /etc/share/ssl/certs/server.key Wła cicielem pliku server.key powinien by root . Po tych czynno ciach restartujemy serwer poleceniem: #sendmail restart Instalacja klucza prywatnego została zako czona pomy lnie. SENDMAIL (SMTP) + POP3 + SSL – Tworzenie kluczy i certyfikatu dla demonów SMTP i POP3 Wersja 1.1 UNIZETO TECHNOLOGIES SA © 8 2.7. Instalowanie certyfikatu serwera W celu zainstalowania certyfikatu serwera kopiujemy (z poziomu Midnight Commandera b d linii polece ) plik z pobranym certyfikatem (patrz Pobieranie certyfikatu serwera) do katalogu, gdzie b dziemy go przechowywa , np. do: /usr/share/ssl/certs/server.crt Po tych czynno ciach restartujemy serwer poleceniem: #sendmail restart Instalacja certyfikatu serwera została zako czona pomy lnie. UWAGA: Klucze i certyfikaty mog by równie przechowywane w jednym pliku. W tym celu nale y do pliku ca-bundle.crt doł czy klucz prywatny i odpowiednio zmieni zapisy w pliku konfiguracyjnym sendmail.mc: define(`confCACERT_PATH',`/usr/share/ssl/certs')dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/ca-bundle.crt')dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/ca-bundle.crt')dnl W tym przypadku klucz prywatny musi znajdowa bundle.crt! si na pierwszym miejscu w paczce ca- 3. Konfigurowanie Sendmaila do obsługi SMTP w otoczeniu SSL W celu instalacji kluczy i certyfikatów w Sendmailu edytujemy plik sendmail.mc i odkomentowujemy linijki: • wymuszaj ce bezpieczne poł czenie: TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl • cie k oraz pliki z kluczami: define(`confCACERT_PATH',`/usr/share/ssl/certs')dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/server.crt')dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/server.key')dnl • nasłuchiwanie serwera na porcie smtps (465): DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl 4. Uwierzytelnianie wzgl dem serwera na podstawie certyfikatu klienta Szczegółowe informacje na ten temat znale http://www.sendmail.org/~ca/email/starttls.html#STARTTLS mo na poprzez serwis SENDMAIL (SMTP) + POP3 + SSL – Konfigurowanie Sendmaila do obsługi SMTP w otoczeniu SSL Wersja 1.1 UNIZETO TECHNOLOGIES SA © 9 5. Konfigurowanie demona POP3 do obsługi w otoczeniu SSL Aby klienci mogli odbiera poczt korzystaj c z bezpiecznego poł czenia nale y skonfigurowa demona POP3 do obsługi certyfikatów CERTUM. 5.1. Instalowanie klucza prywatnego w POP3S Aby zainstalowa klucz prywatny nale y do pliku ipop3d.pem (przy instalacji paczki nale y poda cie k dla tego pliku – w przeciwnym razie zostanie zainstalowany domy lnie) skopiowa plik z kluczem prywatnym server.key. UWAGA: Nale y wcze niej zdj hasło z klucza prywatnego: Openssl rsa -in server.key -out server.key 5.2. Instalowanie certyfikatu serwera w POP3S W celu zainstalowania certyfikatu serwera nale y doda do pliku ipop3d.pem (u ywaj c polecenia cat) certyfikat naszego serwera server.crt. 5.3. Instalowanie certyfikatu CERTUM CA i certyfikatu po redniego Aby zainstalowa certyfikat CERTUM CA i certyfikat po redni nale y doda (u ywaj c polecenia cat) kolejno: do pliku ipop3d.pem • certyfikat po redni odpowiadaj cy klasie certyfikatu naszego serwera np. CERTUM Level II • certyfikat główny CERTUM CA, który ''wydał'' certyfikaty po rednie Restartujemy serwer pop3s: #xinetd restart 6. Eksport kluczy i certyfikatów Aby wyeksportowa klucz i certyfikat z serwera nale y skopiowa pliki z kluczem prywatnym server.key i certyfikatem server.crt w bezpieczne miejsce. Aby utworzy z tych plików paczk pfx nale y wykona polecenie: openssl pkcs12 server.crt -export -out klucze.p12 -inkey server.key -in W razie problemów z instalacj certyfikatów warto diagnozowa problem przy u yciu narz dzi typu nmap, ps, netstat czy openssl s_client. SENDMAIL (SMTP) + POP3 + SSL – Konfigurowanie demona POP3 do obsługi w otoczeniu SSL Wersja 1.1 UNIZETO TECHNOLOGIES SA © 10