• FORSIDE • PORTFOLIE • NYHEDER • OM OS • PRODUKTER • ARTIKLER • KONTAKT • LINKS • 
ROOT > ARTIKLER > DEBIAN LINUX > MAILSERVER

Mailsystem med IMAP, POP3, SMTP, AV, AntiSPAM.
ARTIKLER
DEBIAN LINUX
MAILSERVER
exim4.conf
mailserver.sql

Submit

SiteMap
 

In Progress.....

Indledning:

Denne artikkel er en revideret udgave af den tidligere artikkel af samme navn.
Grundet en efterspørgsel på en guide, der følger de nye metoder og versioner af de anvendte programmer, har jeg valgt at skrive denne. Hvis i oplever afvigelser eller fejl i denne artikkel er i hjerteligt velkommen til at kontakte mig.

Denne guide/artikkel er en del nemmere end den sidste version, da der ikke skal kompileres nye pakker med patches.

Vi skal til dette system bruge følgende programmer:

  • exim4-daemon-heavy (SMTP MTA)
  • courier-authdaemon
  • courier-authmysql
  • courier-imap
  • courier-pop
  • spamassassin
  • clamav
  • clamav-daemon
  • clamav-freshclam
  • mysql-server
  • mysql-client
  • squirrelmail
  • squirrelmail-locales
Disse pakker er alle tilgængelige i testing, men for os som kører stable, skal vi have nogle af pakkerne backported fra backports.org.
Hvis i kører stable skal i bruge følgende linier i jeres /etc/apt/sources.list
# Backport of Exim4 (MTA)
deb http://www.backports.org/debian/ stable exim4

# Backport of Courier (IMAP,POP3)
deb http://www.backports.org/debian/ stable courier

# Backport of spamassassin (AntiSPAM)
deb http://www.backports.org/debian/ stable spamassassin

# Backport of clamav (AV)
deb http://www.backports.org/debian/ stable clamav
Når de ovenstående kilder er tilføjet skal der køres en apt-get update
Nu følger den hurtige udgave af installationen, hvor i så selv kan skære de hoved-elementer fra som i allerede har installeret:
apt-get update
apt-get install exim4-daemon-heavy 
apt-get install courier-authdaemon courier-authmysql courier-imap courier-pop
apt-get install spamassassin 
apt-get install clamav clamav-daemon clamav-freshclam 
apt-get install mysql-server mysql-client 
apt-get install squirrelmail squirrelmail-locales

Forberedelse af MYSQL database:

Hvis i ikke allerede har en MySQL server installeret lokalt, eller på en anden server, skal vi først gøre det:
apt-get install mysql-server mysql-client
Nu kan vi begynder at opbygge vores database som vi skal bruge til at styre vores mailserver og dens brugere.
Hvis i ikke behøver den komplette forklaring af databasens opbygning, kan i hente SQL'en til opbygningen lige her.
Vi vil i denne setup bruge flere tabeller som vi joiner på kryds for at gøre den fremtidige administration lidt nemmere.

mail_accounts
Denne table indholder vores lokale bruger konti og deres tilhørende indstillinger, såsom av-skanning og spam filter.
  • id - Unikt id nummer.
  • local_part - Første del af en email adresse. Alt før @.
  • domain_id - Id nummer der bruges fra tabellen mail_domains.
  • crypt - Password i md5.
  • clear - Password i plaintext.
  • maildir - Bruges kun hvis det er angivet.
  • spam_scan - Spam skanning on/off.
  • av_scan - Antivirus skanning on/off.
  • spam_save - Niveau hvortil mail markeret som spam skal gemmes.
  • spam_drop - Niveau hvorfra mail markeret som spam skal droppes.
  • active - Konti aktiv/inaktiv.
mail_domains
Dette er listen over lokale domains som vi modtager mail på. Denne tabel indholder desuden, globale indstillinger for hele domainet.
  • id - Unikt id nummer.
  • domain - Domain navn. Alt efter @.
  • alias - Id nummer på andet domain i denne table som dette er alias for. Må kun bruge id på domain der er ikke allerede er alias. Når alias er sat bliver de nedenstående felter, på nær active, ikke brugt.
  • spam_scan - Spam skanning on/off på hele domain.
  • av_scan - Antivirus skanning on/off på hele domain.
  • smtp - SMTP on/off på hele domain.
  • imap - ÍMAP on/off på hele domain.
  • imaps - IMAPS on/off på hele domain.
  • pop3 - POP3 on/off på hele domain.
  • pop3s - POP3S on/off på hele domain.
  • active - Domain aktiv/inaktiv.
mail_aliases
Denne tabel indeholder eventuelle mail alias eller forward værdier. Vi bruger den til at omdirigere mail til andre konti eller hent andre domainer.
  • id - Unikt id nummer.
  • local_part - Første del af en email adresse. Alt før @.
  • domain_id - Id nummer der bruges fra tabellen mail_domains.
  • value - Email adresse som dette alias/forward skal pege hen på.
  • active - Alias aktiv/inaktiv.
For den komplette SQL til oprettelse af de ovenstående tabeller, klik da her.
I kan brug den tilhørende SQL i PHPMyAdmin eller direkte i mysql fra jeres konsol:
create database mail_db;
grant select,insert,update,delete on mail_db.* to mail_sys@localhost identified by 'password';
flush privileges;
use mail_db;
Nu da databasen er klar, kan vi så begynde at installere de forskellige programmer, som skal håndtere vores mail.

Spamassassin installation og konfiguration

Spamassassin er en spam filter system, som analyserer mail og giver eventuelle "fejl", point efter deres type.
Den samlede point score er den vores system bruger til at bedømme om en mail skal gemmes som spam eller om den skal smides ud.
apt-get install spamassassin
Når det er installeret skal i huske at "enable" spamd i /etc/default/spamassassin. Sæt ENABLED=1.
Derefter kan i starte spamassassin daemonen med:
/etc/init.d/spamassassin start

ClamAV installation og konfiguration

ClamAv er et antivirus program der kører som en daemon hvortil man så kan sende en skanning forespørgsel. Sammen med Clamav kan man installere FreshClam, som er et lille program, der løbende forbinder til centrale servere, for at hente virus definitioner. På den måde en man altid opdateret.
apt-get install clamav clamav-daemon clamav-freshclam

Exim 4 (SMTP MTA) forklaring:

Exim er vores MTA (Mail Tranfer Agent) og er det program som styrer hele modtage/afsende delen af vores mailserver. Den er også den mest komplekse del at sætte op i dette system. Grunden er at mange mennesker ikke forstå princippet hvorved dette program modtager mail og under vejs kører mailen igennem nogle undersøgelses routiner/filtrer for at få dem placeret det rigtige sted.
Exim har i pricippet 5 elementer som indgående eller udgående post gennemgår.
  • ACL
  • Routers
  • Transports
  • Rewrite
  • Authentication

ACL
ACL er forkortelsen for Access Control List, og bruges i korte træk til at styre hvordan Exim opfører sig når den modtager forskellige SMTP kommandoer. Dette gælder for både TCP/IP og lokale kommandoer sendt via pipe kommandoer.

Routers
Routers bruges til at beslutte hvordan en mail bliver leveret til en modtager.
Dette kan inkludere adresse verifikation, av-skanning, spamfilter og routing kontrol, bare for at nævne nogle få.

Transports
Transports er som ordet i sig selv siger, der hvor vi transporterer mail til deres destinationer baseret på de tidligere filtrer.
Man skal se på transports som en portør, der på baggrund af en anvisning, blot leverer varen videre til deres destination.
Transports bruges kun når en mail bliver sendt til den fra en Router der har accepteret mailen.

Rewrite
Rewrite, er regler man opstiller som gør os i stand til eksempelvis at omskrive afsender adressen på en mail. Dette kan vise sig meget brugbart når man for eksempel sender mail fra apache og man ikke vil have afsenderen til at være www-data@domain.com.

Authentication
Authentication er primært til at godkende en bruger for at give ham/hende lov til at bruge vores server til at afsende post. Dette er vigtigt for at kunne styre brugen af vores mailserver til udgående post.

Installation og konfiguration af Exim4

Nu hvor vi har fået grundprincipperne i Exim4 på plads er det tid til at installere vores MTA:
apt-get install exim4-daemon-heavy
Jeg vil ikke forklare hele konfigurationen, men blot referere til kommentarer i den. Min konfiguration kan findes her.

Installation og konfiguration af Courier Authdaemon, Authmysql, Imap, Pop3

apt-get install courier-authdaemon courier-authmysql courier-imap courier-pop


 
Oprettet: 16-02-2005 - 02:04 - Redigeret: 31-08-2005 - 08:50 - Visninger: 3652 - Load tid: 0.060
Der er: 6 active brugere online.  
JÆGERMARKEN 48 ST TH . DK-5700 Svendborg . +45 62 21 03 05 . cyberdoc[AT]cyberdoc.dk
Powered By SiteSuite v1.1 (PHP)
06-09-2010 11:09