transparent a virus... Dodał: grzywka18 Dnia: 2008-05-13 11:19:58 hmm Dodał: dzibi Dnia: 2007-12-12 10:01:14 Bez tytułu Dodał: grzywka18 Dnia: 2007-12-11 17:46:06 Bez tytułu Dodał: termid Dnia: 2007-05-09 18:01:11 Bez tytułu Dodał: sarelo33 Dnia: 2006-12-30 23:50:14 Jest ok ale.. Dodał: theviant Dnia: 2006-11-16 08:10:05
Google
Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..
Postfix - ''Krok po kroku'' - 1a. Instalacja i podstawowa konfiguracja
piątek, 08 kwietnia 2005 -
Napisał: Artur Zdoliński (24478 odsłon)
Czynnością jaką powinniśmy wykonać najpierw jest wygenerowanie odpowiednich
certyfikatów. Utworzymy je w katalogu `/etc/ssl/mail` i nadamy mu odpowiednie
uprawnienia:
# mkdir /etc/ssl/mail
# chmod 700 /etc/ssl/mail
# cd /etc/ssl/mail
Zaczynamy od wygenerowania klucza prywatnego RSA, o długości 1024 bitów i
nazwie ca.key. Powinniśmy ujrzeć komunikat taki jak poniżej. Jeśli masz już
wygenerowany certyfikat CA, możesz ten krok pominąć i przejść dalej:
# openssl genrsa -out cakey.pem 1024
Generating RSA private key, 1024 bit long modulus
...............................++++++
.................................++++++
e is 65537 (0x10001)
Powstanie plik cakey.pem
Jeśli mamy już klucz prywatny możemy z niego wygenerować klucz publiczny
odpowiadając na poniższe zapytania, podając w nich podstawowe informacje o
serwerze oraz jego właścicielu, będzie on stanowił CSR (Certificate Signing
Request), czyli nie podpisany certyfikat X.509:
# openssl req -new -key cakey.pem -out cacsr.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Twoje województwo
Locality Name (eg, city) []:Twoje miasto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nazwa instytucji
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:Twoje imię i nazwisko lub nazwa firmy
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
Powstanie plik: cacsr.pem
Po wykonaniu powyższej czynności, przystępujemy do zgłoszenia naszego CSR, do
podpisania, korzystamy z podpisywanego CSR oraz podpisującego klucza prywatnego
i wynik zapisujemy do pliku cacert.pem, oczywiście podany został tu przykładowy
komunikat zwrotny:
# openssl x509 -req -in cacsr.pem -signkey cakey.pem -out cacert.pem
Signature ok
subject=/C=PL/ST=podkarpackie/L=Tarnobrzeg/O=PLANET - Home LAN Server/CN=PLANET
-
Home LAN Server/emailAddress=
Getting Private key
Powstanie plik: cacert.pem
W ten sposób otrzymaliśmy właściwy certyfikat CA instytucji, którym będziemy
podpisywać inne certyfikaty. Pozostało nam już tylko utworzyć klucz prywatny RSA
i wygenerować odpowiedni certyfikat dla naszego SMTP oraz zgłosić go do
podpisania.. Wydajemy więc polecenie, generujące klucz, o długości 1024 bitów i
nazwie smtpkey.pem:
# openssl genrsa -out smtpkey.pem 1024
Generating RSA private key, 1024 bit long modulus
.............++++++
......++++++
e is 65537 (0x10001)
Teraz generujemy odpowiedni certyfikat, dla smtp.
UWAGA!!! Zamiast nazwy firmy lub imienia i nazwiska w polu Common Name
podajemy nazwę naszego serwera (nazwę domeny). Pole to będzie później
wykorzystywane przez klientów do porównania z nazwą serwera, z którym się
połączyli.:
# openssl req -new -key smtpkey.pem -out smtpcsr.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Twoje województwo
Locality Name (eg, city) []:Twoje miasto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nazwa instytucji
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:domena.pl
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
Ostatnia czynność to złożenie podpisu, używamy do tego utworzony już
wcześniej klucz prywatny CA, klucz publiczny CA:
# openssl x509 -CA cacert.pem -CAkey cakey.pem -req -CAcreateserial -in
smtpcsr.pem -out smtpcert.pem
Signature ok
subject=/C=PL/ST=podkarpackie/L=Tarnobrzeg/O=PLANET -
Home LAN Server/CN=domena.pl/emailAddress=
Getting CA Private Key
Możliwe jest też wygenerowanie certyfikatu "na skróty", otóż tworzymy nowy
certyfikat X.509, który będzie ważny przez 3650 dni, utworzony zostanie plik
smtpd.pem, który będzie zarówno kluczem prywatnym, jak i certyfikatem serwera.
Musisz jednak pamiętać, że po wygenerowaniu takiego certyfikatu, w pliku
konfiguracyjnym Postfix'a (main.cf) do zmiennych smtpd_tls_key_file ,
smtpd_tls_cert_file, smtpd_tls_CAfile dopisujesz ścieżkę właśnie do tego pliku
smtpd.pem.:
# openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days
3650
Generating a 1024 bit RSA private key
.................++++++
............................++++++
writing new private key to 'smtpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:PL
State or Province Name (full name) [Some-State]:Twoje województwo
Locality Name (eg, city) []:Twoje miasto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nazwa instytucji
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:domena.pl
Email Address []:
Osobiście preferuję to drugie rozwiązanie, ze względu na certyfikat
instytucji CA, którym być może w późniejszym czasie podpisywał inne certyfikaty.
Wybór pozostawiam Tobie.
Skoro mamy już wygenerowane certyfikaty, wypadało by zająć się plikiem `main.cf`
w celu dodania do niego niezbędnych opcji, aby nasz Postfix mógł obsługiwać
szyfrowane połączenie SMTP. Edytujmy więc ten plik i wstawmy do niego to co
zostało napisane poniżej:
# ee /etc/postfix/main.cf
--- main.cf ---
# TLS
smtp_use_tls = yes # Parametr uaktywniający używanie TLS dla SMTP i SMTPD
smtpd_use_tls = yes # Parametr uaktywniający używanie TLS dla SMTP i SMTPD
smtpd_tls_auth_only = yes # Autoryzacja odbywa się jedynie poprzez
szyfrowanie
smtp_tls_note_starttls_offer = yes # połączenia (poprzez tunele TLS)
smtpd_tls_key_file = /etc/ssl/mail/smtpkey.pem # Ścieżka do pliku
zawierającego klucz
# Ścieżka do pliku zawierający wygenerowany certyfikat dla SMTP
smtpd_tls_cert_file = /etc/ssl/mail/smtpcert.pem
# Ścieżka do pliku zawierającego wygenerowany certyfikat CA
smtpd_tls_CAfile = /etc/ssl/mail/cacert.pem
# Sprawdzenie, czy informacje dotyczące protokołu oraz szyfru zawarte są w
nagłówku wiadomości:
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom # ???
--- end main.cf ---
Restartujemy Postfix'a i sprawdzamy, czy wszystko działa.
# /usr/local/etc/rc.d/postfix.sh reload
Aby móc korzystać z możliwości szyfrowania wysyłanych wiadomości za pomocą
SSL należy dokonać odpowiednich ustawień w programie do odbioru poczty np.
Outlook Express. Oto przykład ustawień w przypadku Outlook Express.
Wchodzimy do zakładki Narzędzia / Konta / Poczta / Właściwości (właściwe
konto) / Zaawansowane i ustawiamy w niej następujące opcje: Poczta wychodząca
SMTP - port 25 [x] ten serwer wymaga bezpiecznego połączenia SSL.
Jeśli możesz wysyłać pocztę to na pewno wszystko działa i udało Ci się
poprawnie skonfigurować Postfix'a z autoryzacją i szyfrowanym połączeniem SMTP.
Możesz również sprawdzić, czy wszystko działa dobrze logując się przez telnet na
port 25: