sobota, 11 luty 2012 
Start arrow FreeBSD arrow POCZTA arrow Postfix - bezpieczny i wydajny serwer MTA
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
SQUID - najpopularni...
Kompilacja i konfigu...
Samba - serwer plikó...
Neostrada+ i modem ...
Praktyczne IPFW
Upgrade systemu
NATowanie czyli jak ...
Apache (konfiguracja...
MRTG - statystyki ru...
Postfix - bezpieczny...
CVSup - pomocny podc...
Postfix z autoryzacj...
Neostrada na modemie...
System Portów (Kolek...
Instalacja FreeBSD 5...
Top Download
File icon Postfix - "Krok po kroku" v1.18107
File icon Postfix - "Krok po kroku" v1.06803
File icon PPTPd - "Prosty i szybki VPN" v1.0b6420
File icon sdi.sh3887
File icon uEagle 1.0p12975
File icon named.sh2945
File icon uEagle 0.99b2869
File icon cs.sh2834
File icon uEagle 1.02759
File icon uEagle 1.12568
Ostatnie komentarze
jeden raz na konto
Dodał: arti
Dnia: 2011-06-15 15:10:56
Re: Kod rabatowy na...
Dodał: cooler
Dnia: 2011-06-15 13:59:07
JAK NIE DZIALA opti...
Dodał: wierzba86
Dnia: 2010-02-25 21:37:29
JAK NIE DZIALA opti...
Dodał: wierzba86
Dnia: 2010-02-25 21:36:09
RE: transparent a v...
Dodał: Trash
Dnia: 2009-10-06 15:45:18
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
Postfix - bezpieczny i wydajny serwer MTA - 1. Instalacja Drukuj E-mail
Oceny: / 27
KiepskiBardzo dobry 
sobota, 24 kwiecień 2004 - Napisał: Tomasz Stała (49052 odsłon)
Spis treści
1. Instalacja
2. Podstawowa konfiguracja
3. Instalacja popa3d
4. Uruchamianie Postfixa
5. Konfiguracja SMTP AUTH
6. Konfiguracja TLS
7. Instalacja i konfiguracja ClamAV
8. Instalacja i konfiguracja AMaViS
9. Administracja Postfixem

6. Konfiguracja Postfix'a i TLS

TLS polega na tym, że wszystkie wiadomości przesyłane i odbierane z danego programu pocztowego będą szyfrowane co uniemożliwi dostęp do nich niepowołanym osobom. Chyba każdy z nas nie chciałby aby ktoś podszył się pod naszą osobę i wysłał pocztę do kogoś w naszym imieniu. Szyfrowanie to będzie odbywać się za pomocą SSL. Secure Socket Layer jest to protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez firmę Netscape. SSL zapewnia trzy rzeczy:prywatność - połączenie jest szyfrowaneautoryzację - klient i serwer określa swoją tożsamośćintegralność przesyłanych danych - przez sumy kontrolneTo tak na wstępie chciałem przypomnieć na jakiej zasadzie działa szyfrowanie połączenia SMTP. Przejdźmy do konfiguracji. 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)

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 (np.
TEST Home Server)
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:Twoje imię i nazwisko lub nazwa firmy
Email Address []:postmaster@domena.pl

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.

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=postmaster@domena.pl
Getting Private key

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 (np. TEST Home Server)
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:domena.pl
Email Address []:postmaster@domena.pl

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=postmaster@domena.pl
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 (np. TEST Home Server)
Organizational Unit Name (eg, section) []:.
Common Name (eg, YOUR name) []:domena.pl
Email Address []:postmaster@domena.pl

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:

# vi /etc/postfix/main.cf

--- main.cf ---

# TLS

# Parametr uaktywniający używanie TLS dla SMTP i SMTPD:
smtp_use_tls = yes
smtpd_use_tls = yes
# Autoryzacja odbywa się jedynie poprzez szyfrowanie połączenia (poprzez tunele TLS):
smtpd_tls_auth_only = yes
smtp_tls_note_starttls_offer = yes
# Ścieżka do pliku zawierającego klucz prywatny RSA:
smtpd_tls_key_file = /etc/ssl/mail/smtpkey.pem
# Ś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
# Wybieramy poziom logowania (0-4)
smtpd_tls_loglevel = 3
# Sprawdzenie, czy informacje dotyczące protokołu oraz szyfru zawarte są w nagłówku wiadomości:
smtpd_tls_received_header = yes
# Szacowany czas trwania sesji:
smtpd_tls_session_cache_timeout = 3600s
# ???
tls_random_source = dev:/dev/urandom

--- end of 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 napewno 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:

$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to localhost
Escape character is '^]'.
220 domena.pl ESMTP Postfix
EHLO domena.pl
250-domena.pl
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-XVERP
250 8BITMIME

Zauważ, że poniższe dwie linijki, które były aktywne w czasie gdy konfigurowaliśmy SMTP AUTH, mowa tu o:

250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN

zastąpiła jedna:

250-STARTTLS

Jeśli ukazał Ci się taki komunikat, wszystko działa OK. Wpisz `QUIT`, aby zakończyć połączenie.



Ostatnio aktualizowany ( wtorek, 08 listopad 2005 )

« wstecz   dalej »
Ciekawostki
"man security" zawiera mnóstwo dobrych porad jak dostroić bezpieczeństwo twojego systemu.
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Domeny
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




Licznik odwiedzin
Odwiedziło już nas
3815511
Internautów od lutego 2003

Korzystamy ze statysyk