Wdrażanie systemu pocztowego

Z mojego doświadczenia nabytego przy wdrażaniu różnych systemów wynika, że wdrożenia należy przeprowadzać etapami. Wtedy na każdym etapie można stwierdzić czy działa zgodnie z oczekiwaniami i poprawić działanie lub przejść do kolejnego etapu wdrożenia. Wdrażanie systemu pocztowego nie jest tu wyjątkiem, zakładając, że mamy do realizacji takie wdrożenie jakie opisałem we wpisie „Budowa systemu pocztowego”, można by je podzielić na następujące etapy:

Etap I

Podstawowa konfiguracja nadawania i odbioru poczty dla użytkowników systemowych

Read more

Budowa systemu pocztowego

Opis systemu pocztowego opieram na wiedzy, którą nabyłem przy wdrożeniu systemu pocztowego, które wykonałem na Uniwersytecie Śląskim w Katowicach. W pierwszym etapie było to okoł 3 tys. użytkowników, w chwili obecnej system może obsługiwać ok. 40 tys. użytkowników. Całość systemu (oprócz Sophos AV) oparta jest na oprogramowaniu Open Source. Jego głównymi składnikami są:

Read more

Pigeonhole – kompilacja i instalacja

dovecotPigeonhole dla serwera Dovecot można ściągnąć z http://pigeonhole.dovecot.org/download.html

% wget http://www.rename-it.nl/dovecot/2.1/dovecot-2.1-pigeonhole-0.3.1.tar.gz
% tar -xf dovecot-2.1-pigeonhole-0.3.1.tar.gz

Poniżej mój skrypt do konfiguracji i kompilacji Pigeonhole 0.3.1 dla Dovecota 2.1:

Read more

Pigeonhole – implementacja Sieve dla Dovecot

dovecotOmówienie

Pigeonhole jest nazwą projektu, który implementuje wsparcie dla języka Sieve (RFC 5228) oraz protokołu ManageSieve (RFC 5804) do Bezpiecznego serwera IMAP Dovecot. W literalnym znaczeniu pigeonhole jest dziurą lub wnęką wewnątrz gołębnika dla gniazd gołębi. Jest to również nazwa jednej z serii małych, otwartych przedziałów w szafie używanej do przechowywania lub sortowania poczty. Jako czasownik, opisuje czynność wkładania przedmiotu do jednej z tych szuflad. Nazwa 'Pigeonhole’ zatem dość dobrze opisuje ważną część funkcjonalności, którą ten projekt dodaje do Dovecota: sortowanie i umieszczanie wiadomości e-mail.

Read more

Dovecot – kompilacja i instalacja

dovecotDovecota w systemach linuxowych można zainstalować z pakietów. Odpowiednie pakiety zapewniają też wsparcie dla LDAP, mysql itd. Niestety instalując w ten sposób zwykle nie można liczyć na najnowszą wersję, np. na dzień dzisiejszy w pakietach Ubuntu jest wersja 2.0.19-0ubuntu1, podczas gdy na stronie projektu dostępna jest już wersja 2.1.7. Dlatego też czasem warto skompilować i zainstalować samodzielnie oprogramowanie, nawet jak dostępne jest w pakiecie.

Read more

Konfiguracja uwierzytelniania poczty w LDAP

Zakładam, że Dovecot i Postfix już działają i można odebrać i wysłać pocztę logując się na użytkownika systemowego (patrz poprzednie wpisy). Nadszedł zatem czas na uruchomienie uwierzytelniania w naszym katalogu LDAP (patrz konfiguracja LDAP).

Wykorzystanie LDAPa do uwierzytelniania użytkowników pozwala na elastyczne zarządzanie hostingiem poczty i nie tylko. LDAP jest już przyjętym standardem w zakresie uwierzytelniania i autoryzacji, praktycznie każde szanujące się oprogramowanie wymagające uwierzytelnienia ma wsparcie dla tego protokołu.

Zaczniemy od serwera POP3/IMAP, który również dostarcza mechanizmu uwierzytelniania dla Postfixa czyli od Dovecota:


/usr/bin/sudo -i
cd /etc/dovecot
vi dovecot-ldap.conf

W tym pliku musimy zdefiniować parametry serwera lub serwerów LDAP, metodę uwierzytelnienia oraz filtry i atrybuty, wymienię te, które trzeba ustawić:


hosts = localhost
auth_bind = yes
base = o=hosting,dc=example,dc=com
scope = subtree
user_attrs = homeDirectory=home
user_filter = (&(objectClass=mailUser)(mail=%u))
pass_attrs = mail=user,userPassword=password
pass_filter = (&(objectClass=mailUser)(mail=%u))

Instalacja systemu pocztowego na Ubuntu

Zakładam, że system jest zainstalowany i posiada podstawową konfigurację z uruchomioną usługą SSH. Po zalogowaniu przystępujemy do instalacji pakietu dovecot-postfix, który opisany jest jako w pełni funkcjonalny serwer pocztowy:

drfugazi@charr:~% sudo aptitude install dovecot-postfix
[sudo] password for drfugazi:
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie... Gotowe
Reading extended state information
Initializing package states... Gotowe
The following NEW packages will be installed:
  dovecot-common{a} dovecot-imapd{a} dovecot-pop3d{a} dovecot-postfix
0 packages upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 7957kB of archives. After unpacking 15,1MB will be used.
Do you want to continue? [Y/n/?] y
...
Konfigurowanie dovecot-common (1:1.2.9-1ubuntu6.1) ...
Creating config file /etc/dovecot/dovecot.conf with new version
Creating config file /etc/dovecot/dovecot-ldap.conf with new version
Creating config file /etc/dovecot/dovecot-sql.conf with new version

Sprawdzamy czy działa serwer Dovecot i czy da się połączyć do serwera IMAP z localhosta:

dovecot-2.0-sieve-0.2.0

Interpreter Pigeonhole Sieve

Projekt Pigeonhole dostarcza Sieve jako plugina dla Dovecotowego agenta dostarczania poczty (LDA) jak również usługi LMTP. Plugin implementuje interpreter języka Sieve, który pozwala na filtrowanie przychodzących wiadomości używając skryptów zgodnych ze specyfikacją języka Sieve (RFC 5228). Skrypty Sieve mogą być modyfikowane przez użytkowników i dzięki temu użytkownik może decydować o obsłudze przychodzących wiadomości. Mogą być one dostarczane do konkretnych folderów, przekazywane, odrzucane itd.

dovecot-2.0.3

Dovecot jest Open Sourceowym serwerem IMAP i POP3 dla systemów Linux/UNIX, napisanym z naciskiem na bezpieczeństwo. Dovecot jest doskonałym wyborem zarówno dla małych jak i wielkich instalacji. Jest szybki, łatwy do ustawienia, nie wymaga specjalnej administracji i używa niewiele pamięci.

Źródło: http://dovecot.org/

Poniżej znajdziecie zapis sesji konfiguracji i kompilacji serwera dovecot oraz skrypt, którego do tego użyłem.