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