ALTE DOCUMENTE
|
||||||
Expedierea si receptionarea de mesaje: sendmail
Ca si serviciul FTP, serviciul de posta electronica este unul dintre primele servicii oferite de Internet. Un sistem de posta electronica 616r1718g este alcatuit din urmatoarele trei componente:
Agenti utilizator (clienti de
posta electronica, MUA = Mail User Agent),
programe care permit utilizatorilor sa
citeasca, sa emita si sa gestioneze
mesajele. Programele cele mai folosite în Linux sunt pine,
mult, Kmail,
Evolution, Netscape Messenger, Mazilia Mail etc.
Agenti de transport (MTA = Mail
Transport Agent), programe responsabile
pentru acceptarea mesajelor primite si livrarea
acestora la destinatia finala.
sendmail este agentul de
transport traditional din mediile UNIX.
Agenti de distributie (MDA = Mail
Distribution Agent), programe care
directioneaza mesajele primite catre
casuta postala a utilizatorului destinatar.
Sistemul de posta electronica din Linux/UNIX utilizeaza directorul /var/spool/maii pentru a stoca mesajele receptionate de catre utilizatori si /var/spool/mqueue pentru a stoca mesajele expediate de catre utilizatori, aflate în asteptare, urmând a fi procesate de catre agentul de transport. Fisierul-jurnal este în general localizat în /var/log/mailiog si înregistreaza cererile de expediere, mesajele primite, precum si erorile aparute în urma acestor operatiuni.
Cea mai importanta componenta a sistemului de posta electronica 616r1718g este agentul de transport. In acest capitol ne vom ocupa de configurarea programului sendmail.
Pentru a oferi serviciul de transport al mesajelor, trebuie ca pachetul sendmail sa fie instalat, iar daemonul sendmail sa fie pornit. Daca se doreste modificarea fisierului de configurare sendmail.mc, trebuie instalat si pachetul sendmail-cf.
Configurari generale
Fisierul /etc/sysconfig/sendmaii contine doua directive:
DAEMON stabileste daca sendmail ruleaza ca daemon. Daca masina nu
primeste mesaje, poate fi setat pe No. QUEUE stabileste intervalul de timp la care este procesata coada de mesaje.
Administrarea si configurarea sistemelor Linux
De exemplu:
DAEMON=yes QUEUE=lh
Controlul accesului
Controlul accesului se configureaza prin intermediul fisierului /etc/mail/access. Acesta contine mai multe reguli, câte una pe fiecare linie. Pot avea formatul:
user@masina regula
masina regula
domeniu regula
Dupa cum se observa, regulile se pot aplica unui mesaj trimis de un utilizator de pe o anumita masina sau mesajelor trimise de pe o anumita masina sau domeniu. Câmpul regula poate lua valorile:
OK accepta mesajul daca alte reguli 1-ar refuza, de exemplu atunci
când domeniul nu poate fi rezolvat; RELAY accepta mesaje catre domeniul specificat sau dinspre domeniul
specificat pentru a fi retransmise (relayed) de serverul SMTP; REJECT refuza livrarea mesajului.
accepta retransmiterea mesajelor de pe masina locala
localhost.localdomain RELAY
localhost RELAY
RELAY
accepta retransmiterea mesajelor din domeniul local
biosfarm.ro RELAY
t refuza mesajele provenite de la o anumita adresa
[email protected] REJECT
Dupa fiecare modificare a acestui fisier trebuie executata urmatoarea comanda, pentru reconstruirea bazelor de date:
| makemap hash /etc/mail/acccess.db < /etc/mail/access
Definirea pseudonimelor
Pseudonimele (alias-ur\\e) reprezinta nume echivalente pentru utilizatorii din sistem. Pot fi folosite fie pentru a redirectiona mesajele catre alta adresa (de
Setari avansate ale sistemului
exemplu, \vebmaster sa fie echivalent cu sabin) sau a trimite un mesaj catre mai multe adrese. Pseudonimele se configureaza în fisierul /etc/mail/aliases (în versiunile mai vechi desendmail, /etc/aliases), în formatul:
| pseudonim: utilizator
Un exemplu:
webmaster: dragos
office: biosfarm
sales: mirela
Dupa modificarea acestui fisier, trebuie reconstruita baza de date similar cu cea pentru controlul accesului.
Configurarea retelei
Fisierul /etc/maii/local-host-names stabileste numele echivalente pentru masina locala. Poate fi folosit pentru a defini o lista de masini în reteaua locala, pentru care masina locala serveste ca destinatie MX (Metil eXchanger):
I |
biosfarm.ro mail.biosfarm.ro
Configurarea /etc/sendmail.mc
Fisierul /etc/sendmail.cf are o structura complexa si prezinta multe optiuni. Configurarea acestuia nu se face direct, ci prin intermediul unui fisier de configurare simplificat, procesat de preprocesorul numit m4. Acest fisier este /etc/maii/sendmaii.mc. Acesta contine mai multe reguli, câte una pe fiecare linie. Regulile pot fi de mai multe tipuri si trebuie sa apara în fisierul de configurare de preferat în urmatoarea ordine:
VERSIONWCversiune')Defineste versiunea sistemului.
OSTYPE(\<iistem') Declara tipul sistemului de operare. Aceasta regula
trebuie obligatoriu specificata.
DEFINECvariabila',\'aloare') Defineste variabila, având valoarea specificata. FEATUREC optiune') Activeaza o anumita optiune. MAILER (program) Declara un program folosit ca agent de distributie.
Administrarea si configurarea sistemelor Linux
Locatiile fisierelor
ALIAS_FILE Stabileste locatia fisierului de pseudonime. Implicit:
/etc/mail/aliases. QUEUE_DIR Stabileste directorul care contine cozile de mesaje.
Impliciti /var/spool/mqueue.
PROCMAIL_MAILER_PA TH
Stabileste locatia programului procmail (un program care permite filtrarea mesajelor). în general,
/usr/bin/procmail.
Agenti de distributie
Se stabileste cu ajutorul regulii MAILER. Sunt recunoscuti urmatorii agenti de distributie: local, smtp si procmail. în mod normal sunt activate toate trei. Este important de notat aici ca declaratia pentru smtp trebuie sa preceada declaratia pentru procmail.
Optiuni
use_cwjlle activeaza utilizarea fisierului /etc/mail/locai-host-
names, descris mai sus;
smrsh utilizeaza SMRSH (SendMail Restricted SHell) în loc de
/bin/sh. Implicit: /usr/bin/smrsh; relay_based_on_MX activeaza posibilitatea de a permite retransmiterea bazata
pe înregistrarile MX ale destinatarului; acceptjunqualified_senders accepta mesajele chiar daca adresa expeditorului
nu este corecta (de exemplu, nu include numele
domeniului). Nu recomandam activarea acestei optiuni.
Vezi si comentariul de la optiunea urmatoare; accept_unresolvable_domains accepta mesajele provenite din domenii ce nu
pot fi rezolvate. Nu recomandam activarea acestei
optiuni, deoarece aceasta asigura un nivel de protectie
împotriva atacurilor de tip spam; blacklistj-ecipients permite blocarea primirii de mesaje pentru anumiti
utilizatori destinatari sau anumite masini; confDEF_USER_ID defineste utilizatorul implicit, sub forma uid:gid. în
general: 8:12; confTO_QUEUEWARN stabileste timpul de stationare a unui mesaj în coada de
asteptare dupa care se trimite expeditorului un mesaj de
atentionare. Implicit: 4h;
Setari avansate ale sistemului
confTO_QUEUERETURN stabileste timpul de stationare a unui mesaj în coada
de asteptare dupa care acesta este trimis înapoi
expeditorului. Implicit: 5d\ confQUEUE_LA specifica nivelul minim de încarcare a masinii peste care
mesajele sunt introduse în coada de asteptare, fara a fi
trimise; confREFUSE_LA specifica nivelul minim de încarcare a masinii peste care
nu sunt acceptate noi mesaje.
Reguli speciale
DAEMON_OPTIONSCPort=port, Addr=adresa, Name=MTA')
Specifica adresa si portul pe care sendmail va accepta cereri.
Dupa modificarea fisierului /etc/maii/sendmaii.mc trebuie generat fisierul de configurare /etc/sendmaii.cf apelând comanda:
| m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
Evident, daemonul sendmail trebuie repornit pentru ca modificarile sa aiba efect.
Prezentam în cele ce urmeaza un fisier /etc/mail/sendmail .mc:
include('/usr/share/sendmail-cf/m4/cf.m4')
VERSIONID('linux setup for Red Hat Linux')dnl
OSTYPE("linux1)
dnl utilizatorul implicit
def ine (' conf DEF_USER__ID' , '"8:12 ' ' ) dnl
dnl locatia programului procmail
define('PROCMAIL_MAILER_PATH', Vusr/bin/procmail')dnl
dnl locatia fisierului continând pseudonime
define("ALIAS_FILE', '/etc/aliases')dnl
dnl locatia fisierului pentru statistici
define('STATUS_FILE', '/etc/mail/statistics')dnl
dnl timpul de stationare a unui mesaj în coada dupa care se
trimite
dnl expeditorului un mesaj de atentionare
define("confTO_QUEUEWARN', ' 4h')dnl
dnl timpul de stationare a unui mesaj în coada dupa care este
trimis
dnl înapoi expeditorului
define('confTO_QUEUERETURN', ~5d')dnl
dnl nivelul minim de încarcare a masinii peste care mesajele sunt
dnl introduse în coada de asteptare, fara a fi trimise
define(vconfQUEUE_LA', )dnl
dnl specifica nivelul minim de încarcare a masinii peste care nu
dnl sunt acceptate noi mesaje
define("confREFUSE_LA', dnl
dnl locatia shell-ului SMRSH
Administrarea si configurarea sistemelor Linux
FEATURE('smrsh','/usr/sbin/smrsh')dnl
FEATURE('mailertable', "hash -o /etc/mail/mailertabie.db')dnl
FEATURE('virtusertable',"ha s h -o /etc/mail/virtusertable.db')dnl
dnl permite redirectionarea mesajelor
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail, 'procmail -t -Y -a $h -d $u')dnl
FEATURE(~access_db','hash -o /etc/mail/access.db')dnl
FEATURE('blacklist^recipients')dnl
EXPOSED_USER('root')dnl
FEATURE('relay_based_on_MX')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
|