Imap Proxy

IMAP Proxy jest cacheującym serwerem proxy IMAP przeznaczonym do użycia z klientami webmail, które nie potrafią utrzymywać stałych połączeń do serwera IMAP.

IMAP Proxy umieszcza się pomiędzy serwerem webmail i serwerem IMAP. Przyjmuje on połączenia od serwera webmail dla każdego klienta i przekazuje je do właściwego serwera IMAP. Kiedy klient webmail rozłączy się, IMAP Proxy pozostawia otwarte połączenie przez określony czas i kiedy webmail znów się połączy zostaje użyte istniejące już połączenie.

IMAP Proxy jest bardzo lekkim daemonem napisanym w C z użyciem wątków POSIX. Kompiluje się i działa na większości systemów UNIXowych i jest dostępny w prekompilowanej wersji dla wielu dystrybucji Linuxa, jak np. Debian, Ubuntu, Gentoo i Fedora.

IMAP Proxy jest wolnym oprogramowaniem, na licencji GNU GPL.

IMAP Proxy został napisany w 2002 roku przez Dave McMurtrie. W 2010 roku został zaadoptowany przez zespół SquirrelMail.

Read more

Konfiguracja dostarczania poczty w LDAP

Ostatnim razem pisałem o uwierzytelnianiu użytkowników w katalogu LDAP aby umożliwiać im odbieranie i nadawanie poczty. Teraz nadszedł czas aby skonfigurować Postfixa aby dostarczał pocztę do właściwych skrzynek.
Jeśli sam kompilujesz Postfixa musisz pamiętać o dodaniu do niego wsparcia dla LDAP. Mój opis tym razem bazuje na Ubuntu, więc trzeba tylko zainstalować odpowiedni pakiet postfix-ldap:

$ sudo -i
# apt-get install postfix-ldap

To załatwi sprawę wsparcia map ldap: w Postfixie.
Teraz idziemy do konfiguracji Postfixa:

# cd /etc/postfix
# vi main.cf

Read more

Instalacja skanera AV/AS do poczty

Instalacja skanowania Antywirusowego (AV) i Antyspamowego (AS) do systemu poczty

Przełączamy się na roota i insalujemy potrzebne oprogramowanie:


sudo -i
aptitude update
aptitude install amavisd-new
aptitude install clamav-daemon
aptitude install spamassassin

SpamAssassin jest domyślnie wyłączony, o czym nas informuje przy instalacji, aby go włączyć należy wyedytować plik /etc/default/spamassassin i ustawić:


vi /etc/default/spamassassin
ENABLED=1
CRON=1

Usuwanie poczty z kolejki

Czasem trzeba wyrzucić kilka maili z kolejki albo wykonać jakąś inną operację wymagającą złożenia kilku poleceń do kupy.

Dla starych wyjadaczy to żaden problem i pewnie zrobiliby to bardziej optymalnie, ale ja właśnie postanowiłem rozpocząć cykl pod tytułem „Jednowierszowce„, gdzie będę wrzucał jednowierszowe skrypty shellowe (i inne), które mam nadzieję będą przydatne i zrozumiałe dla szerszego grona użytkowników.

Konfiguracja dostarczania poczty w oparciu o LDAP

Ostatnio pisałem o konfiguracji uwierzytelniania użytkowników w katalogu LDAP aby mogli odbierać i wysyłać pocztę. Teraz czas na konfigurację Postfixa aby tę pocztę dostarczał do właściwych domen i skrzynek.

Jeśli kompilujecie/instalujecie Postfixa samodzielnie, to należy pamiętać o wkompilowaniu wsparcia dla LDAP oraz wskazaniu ścieżki do bibliotek LDAP. Ja pójdę na łatwiznę i zrobię to na Ubuntu:


$ sudo -i
# apt-get install postfix-ldap

To dołoży nam do postfixa wsparcie dla map typu ldap:

Teraz możemy zabrać się za konfigurację serwera Postfix:


# cd /etc/postfix
# vi main.cf

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 i konfiguracja OpenLDAP

Instalacja i podstawowa konfiguracja usługi katalogowej LDAP (OpenLDAP) na Ubuntu:

drfugazi@charr:~% sudo aptitude install slapd ldap-utils

Opis wzorowany jest na angielskim opisie dla Karmic Koala na HowtoForge. Ja jestem przyzwyczajony do konfigurowania LDAPa w pliku slapd.conf, ale to stara szkoła. Tutaj dostajemy możliwość dynamicznej konfiguracji bez konieczności restartu serwera LDAP.

cd /etc/ldap

Na początek proponuję dodać kilka schematów, zwierających klasy obiektów, które będą przydatne później:

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif

Jeśli Wam się nie uda dodanie z powodu niewystarczających uprawnień, to przełączcie się na roota poleceniem sudo su -

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: