Enkel e-post och katalog-server


Enkel e-post och katalog-server

kontor | Postfix

Beskrivning av installationen av en enkel e-post och katalog-server. S ervern skall ha spam och virus-filtrering, arbeta med imap-konton och webmail för ett par hundra användare. Tanken är också att databasen med information om e-post-kontona skall kunna användas av andra system för autenticering och rättighetshantering, dvs en enkel katalogtjänst för företaget. Vi väljer Cyrus för e-postkontona och WebCyrAdm för administrationen, detta är något enklare än att använda en LDAP-server. Katalog-servern i denna konfiguration kan även användas för single-sign-on av vanliga unix-konton, tunna klienter som FreeNX, filserver, webbapplikationer och intranät som Drupal med flera. Prestandamässigt hanterar denna lösning flera hundra användare men behövs kalenderserver, distribution av adresslistor till mobila enheter och mer avancerat utbyta av vcard/adressinformation mellan applikationerna så börjar argumenten för en mer ambitös LDAP-lösning formera sig.

Systemstruktur

Systemstruktur
Systemstruktur
För att systemet skall vara robust och lättskött är driften övervakad och uppdelad på flera servrar med en spridning på flera Internet-operatörer och rumsligt. Huvudservrarna är Amelia och Beata, där Beata är en redundant reservserver för Amelia. Cecilia och Daniella är så kallad sekundära e-post-servrar och cachar inkommande elektronisk post om den(de) primära servrarna inte är nåbara. Dessa fyra servrar övervakas av Erica som larmar om någon av dem inte uppträder korrekt och behöver service.

Grundinstallation

Dessa handgrepp är lika för alla maskinerna i konfigurationen. Installera och välj server-installation, installera på LVM, lägg på openssh-server paketet för att kunna fortsätta utan konsol och slippa stå i datorhallen. Slå av root-inloggningen via ssh (PermitRootLogin no i filen /etc/ssh/sshd_config).

Lägg in FreeNX-arkiv i /etc/apt/sources.list.

 deb http://seveas.ubuntulinux.nl/ breezy-seveas freenx

Nyckeln till seveas-arkiven

 gpg --keyserver subkeys.pgp.net --recv-keys 1135D466
 gpg --export --armor 1135D466 | sudo apt-key add - 

Lägg på Gnome och FreeNX sudo apt-get install ubuntu-desktop freenx.

Installationen kan fortsätta från en klientdator via ssh/freenx. Passa på att byta default-kerneln till linux-server (Synaptic) och slå av gdm (System/Administration/Tjänster) eftersom gdm-inloggningen inte behövs av FreeNX. Lägg upp alla individer som skall ha administratörskonto på maskinen, glöm ej att ansluta användaren till gruppen admin för att aktivera sudo. Root-kontot används inte för inloggning, vilket bland annat betyder att bland annat /var/log/auth visar vilka som gjort administrativa åtgärder, vad och när. Root-inloggning gör de administrativa inloggningarna anonyma och är därför inte lämpligt. Välj säkra lösenord.

Cecilia och Daniella, sekundär e-post

Lägg på Postfix (Synaptic) konfigurera parametern relay_domains att även hantera foretaget.se i /etc/postfix/main.cf. Det är inte några problem att låta maskinen gå sekundär e-post för en mängd domäner, det är bara att räkna upp dem i en kommaseparerad lista.

Amber och Beata, primär e-post och e-postlager

Installera med Synaptic

  • Postfix, (postfix, postfix-doc, postfix-mysql)
  • Cyrus (cyrus21-common, cyrus21-imap, cyrus21-doc, cyrus21-admin)
  • squirrelmail, mysql-server
  • clamav (avclam *), spamassassin, amavis-new, razor, pyzor
  • backupninja, rdiff-backup (rsync)

Webcyradm finns inte i Synaptic och måste hämtas och packas upp på /var/www-katalogen.

 wget http://www.web-cyradm.org//web-cyradm-0.5.4-1.tar.gz

Lägg på ett lösenord för root och en ny vanlig databasanvändare i MySQL.

http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/index.html http://www.ku24.com/technotes/cyrus/

Konfigurera Webcyradm

Skapa en databas, förlaga i script-katalogen, ange lösenord och användarid till databasen i config/conf.php-filen.

Konfigurera PAM

PAM används för autenticera Cyrus-användare

/etc/pam.d/imap


 auth sufficient pam_mysql.so user=mail passwd=secret host=localhost db=mail \
   table=accountuser usercolumn=username passwdcolumn=password crypt=1 \ 
   logtable=log  logmsgcolumn=msg logusercolumn=user loghostcolumn=host \ 
   logpidcolumn=pid  logtimecolumn=time

 auth sufficient pam_unix_auth.so 

 account required pam_mysql.so user=mail passwd=secret host=localhost db=mail \
   table=accountuser usercolumn=username passwdcolumn=password crypt=1 \
   logtable=log logmsgcolumn=msg logusercolumn=user loghostcolumn=host \ 
   logpidcolumn=pid logtimecolumn=time

 account  sufficient       pam_unix_acct.so

Raden auth sufficient pam_unix_auth.so är en unix-behörighetskontroll i reserv.

Samma behörighetskontroll kan behövas i andra tjänster


  cp /etc/pam.d/imap /etc/pam.d/pop
  cp /etc/pam.d/imap /etc/pam.d/sieve
  cp /etc/pam.d/imap /etc/pam.d/smtp

Konfigurera Postfix för WebCyradm

/etc/postfix/master.cf

Byt internt leveransssystem till Cyrus, sätt remark framför maildrop-raden och lägg till en cyrus-rad enligt nedan

 #maildrop  unix  -       n       n       -       -       pipe
 #  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
 cyrus  unix  -       n       n       -       -       pipe
   flags= user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension} ${user}

/etc/postfix/main.cf

Byt hostname och koppla mysql-slagningar till konfigurationen (dynamisk konfiguration)

 myhostname = amber.foretaget.se
 mydestination = $myhostname, $mydomain, localhost.$mydomain,  \
      mysql:/etc/postfix/mysql-mydestinations.cf
 mynetworks = 127.0.0.0/8,192.168.1.0/24,192.168.3.0/24
 mydomain = foretaget.se
 myorigin = $myhostname
 mydestination = $myhostname, $mydomain, localhost.$mydomain, \ 
                         mysql:/etc/postfix/mysql-mydestinations.cf
 #mynetworks = 127.0.0.0/8, hash:/var/lib/pop-before-smtp/hosts
 #pop-autentisering 
 mailbox_transport = cyrus
 default_transport = smtp
 transport_map = mysql:/etc/postfix/mysql-transport.cf
 virtual_alias_domains = virtual_alias_maps =\   
          mysql:/etc/postfix/mysql-virtual_forwarding.cf  \
          mysql:/etc/postfix/mysql-virtual_email2email.cf

/etc/postfix/mysql-mydestinations.cf


 hosts = localhost
 user = dbuser
 password = hemligt
 dbname = webcyradm
 table = domain
 select_field = domain_name
 where_field = domain_name

mysql-postfix.tar

Spam-kontroller som kan göras direkt i Postfix

/etc/postfix/main.cf

Kontroll att avsändaren också kan ta emot e-post, många spamförsök sker från virussmittade Windows-datorer som enbart har fått en programvara som kan skicka e-post installerad.

 smtpd_helo_required = yes

Valideringskontroll av inkommande mail

      smtpd_recipient_restrictions =
                  reject_invalid_hostname,
                  reject_non_fqdn_hostname,
                  reject_non_fqdn_sender,
                  reject_non_fqdn_recipient,
                  reject_unknown_sender_domain,
                  reject_unknown_recipient_domain,
                  reject_unauth_pipelining,
                  permit_mynetworks,
                  reject_unauth_destination,
                  reject_rbl_client zombie.dnsbl.sorbs.net,
                  reject_rbl_client relays.ordb.org,
                  reject_rbl_client opm.blitzed.org,
                  reject_rbl_client list.dsbl.org,
                  reject_rbl_client sbl.spamhaus.org,
                  permit
      mime_header_checks=pcre:/etc/postfix/body_checks

MIME-kontroller låter dig avvisa e-post som innehåller bilagor som kan misstänkas innehålla fientliga funktioner. Outlook-användare är utsatta för illvilliga försök att få e-postklienten att automatiskt starta eller lura användaren att köra bilagda program. Detta ersätter inte en virusscanner men är i alla fall ett komplement.

     /^((Content-(Disposition: attachment;|Type:).*|\ +)| *)(file)?name\ *=\   
    *"?.*\.(lnk|asd|hlp|ocx|reg|bat|chom|cmd|exe|dll|vxd|pif|scr|hta|jse?|\ 
     shmbs|vbesx|wsfh|wmf)"?\ *$/      REJECT  attachment type not allowed

Spam och virus-filtrering

Spam och virusfiltrering administreras av Amavis men ClamAV och Spamassassin är programvaran som gör det egentliga arbetet.

/etc/postfix/master.cf

xxx

ClamAV

clam-fresh ...

clamtk

Spamassassin

sa-learn razor, pyzor

http://wiki.apache.org/spamassassin/IntegratedSpamdInPostfix

http://memberwebs.com/nielsen/software/clamsmtp/postfix.html

http://www.nongnu.org/rdiff-backup/


annons