User login

Poll

Window manager/desktop favorit?
KDE
10%
Gnome
45%
XFCE
30%
Enlightenment
0%
Blackbox, Fluxbox
15%
Windowmaker
0%
Altceva
0%
Total votes: 20

Partners

[banner]

[banner]

[banner]

Setare mailserver, utilizand sendmail - FreeBSD 4.7

http://www.cnews.ro/index.php?option=com_content&task=view&id=83&Itemid=35

Avem in fata urmatoarea sarcina: 1. Setare mailserver, care ruleaza FreeBSD, pentru ca clientii sa poata lucra prin pop3, smtp (adica sa ?ia? corespondenta prin clientii de mail precum The Bat!, Outlook, etc.).......

Avem in fata urmatoarele sarcini:

- Setarea mailserver-ului sub FreeBSD, pentru ca clientii sa poata lucra prin pop3, smtp (adica sa ?ia? corespondenta cu clientii de mail precum The Bat!, Outlook, etc.)
- Serverul v-a deserve posta a 3 domenii, in cazul in care utilizatorii au conturi in diferite domenii, adica

,

,

ale aceluiasi utilizator si corespondenta lui trebuie sa ajunga intr-o singura ?cutie postala?.
- Mailserver-ul trebuie sa aiba un server de rezerva, care poate sa deserveasca mail-urile acestor trei domenii, in cazul iesirii din functiunii a serverului de baza, dupa care serverul de rezerva trebuie sa trimita corespondenta celui de baza, cand acesta din urma isi va restabili functionarea.
- Accesul catre server trebuie sa se efectueze numai din adrese stabilite (reteaua locala a biroului) atat pentru trimitere cat si pentru receptionare de mail-uri.
- Utilizatorii mailserver-ului vechi (sendmail sub FreeBSD 4.6) trebuie transferati pe serverul nou fara modificarea parolei.

Serverul are urmatoarea configuratie.

CPU: 2xPIII 1133 Mhz 512k ???
RAM: 2x512 DIMM ECC
HDD: Seagate Barracuda IV 7200 rpm 40 Gb
MB: Intel Server Board SAI2 ServerWorks ServerSet III LE chipset+LAN 100Mbit(Intel 82559)+Video

Pentru instalare ? downloadam ultima versiune a Sendmail:

Sendmail
sendmail-8.12.7.tar.gz
http://www.sendmail.org
ftp://ftp.sendmail.org

Dezarhivam pachtul

#cd /
#mkdir src
#tar xvfz sendmail-8.12.7.tar.gz

Compilez si instalez noua versiune, in locul celei vechi, din componenta kit-ului

#cd sendmail.8.12.7
#sh Build
#sh Build install
#cd ./mailstats
#sh Build install
#cd ../makemap
#sh Build install
#cd ../praliases
#sh Build install
#cd ..
#install -d -m 755 /var/spool/mqueue
#ln -fs /usr/sbin/sendmail /usr/lib/sendmail

Incep configurarea

/src/sendmail-8.12.7/cf/cf/sendmail.mc

divert(-1)

divert(0)dnl
define(confDEF_USER_ID 26:26)dnl
OSTYPE(freebsd4)dnl # Daca utilizati FreeBSD 5.0 atunci trebuie sa indicati freebsd5
daca e Linux atunci notam - linux

DOMAIN(generic)dnl
define(confTRY_NULL_MX_LIST,true)dnl
define(confDONT_PROBE_INTERFACES,true)dnl
define(PROCMAIL_MAILER_PATH,/usr/local/bin/procmail)dnl
define(LOCAL_MAILER_FLAGS,ShPfn)dnl
define(LOCAL_MAILER_ARGS,procmail -a $h -d $u)dnl
FEATURE(mailertable)dnl
FEATURE(virtusertable,hash -o /etc/mail/virtusertable)dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(local_procmail)dnl
FEATURE(access_db)dnl

Urmatoarele randuri trebuie adaugate in cazul in care server-ul va utilize bazele de date antispam publice

**********************
FEATURE(blacklist_recipients)dnl
FEATURE(dnsbl)dnl
FEATURE('dnsbl', 'relays.ordb.org', 'Spam bloked - see http://ordb.org/')
FEATURE(dnsbl,'inputs.orbz.org', 'Input Spam bloked - see http://orbz.org/')
FEATURE(dnsbl,'bl.spamcop.net', 'Spam blocked - see http://spamcop.net/bl.shtml?$&{client_addr}')
FEATURE(dnsbl,'ex.dnsbl.org', 'Spam bloked - see http://www.dnsbl.org/')
FEATURE(dnsbl, 'relays.osirusoft.com', 'Spam bloked - see http://relays.osirusoft.com/')
**********************

MAILER(local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl

Generarea file-ului de configurare sendmail.cf din sendmail.mc cu ajutorul m4

#m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf
#cd /usr/ports/mail/procmail
#make
#makeinstall
#cd /etc/mail

Constituirea file-ului access si crearea bazei hash.

/etc/mail/access

localhost.localdomain RELAY
localhost RELAY
uni12.ro RELAY
uni12.ac.ro RELAY
193.215.78 RELAY
informs12.ro RELAY

#makemap hash access.db < access

Crearea file-ului care va contine acele domenii, pentru care se va receptiona corespondenta.

/etc/mail/local-host-names

uni12.ro
data.uni12.ro
system.uni12.ac.ro

Crearea bazelor de date hash goale. In cazul meu configurarea acestora nu a fost necesara.

#ee virtusertable
#makemap hash virtusertable.db < virtusertable
#ee mailertable
#makemap hash mailertable.db < mailertable
#ee domaintable
#makemap hash domaintable.db < domaintable

Redactarea file-ului rc.conf

/etc/rc.conf

defaultrouter="193.215.78.xxx"
hostname="data.uni12.ru"
ifconfig_xl0="inet 193.215.78.xxx netmask 255.255.255.0"
kern_securelevel_enable="NO"
nfs_reserved_port_only="NO"
sendmail_enable=\"YES\" # Pornesc sendmail
sendmail_flags="-bd -q30m"
sshd_enable="YES"
usbd_enable="NO"
inetd_enable="YES" #Pentru a lucra cu pop3 se utilizeaza qpopper care lucreaza sub inetd
firewall_enable="YES" #Pornesc firewall
firewall_type="filename" #Pentru ca firewall-ul sa fie suportat recompilez nucleul cu suportul acestuia
firewall_script="/etc/firewall.conf" # firewall.
firewall_quiet="NO" # Setarile firewall-ului se gasesc intr-un fisier separat firewall.conf

Fisierul de setari ale firewall-ului

/etc/firewall.conf

/sbin/ipfw add 1 allow tcp from any to 193.233.78.37 80 in # Deschid portul 80 pentru webserver
/sbin/ipfw add 2 allow tcp from 193.233.78.33 to 193.233.78.37 22 in # 22 port pentru ssh
/sbin/ipfw add 3 allow tcp from 193.233.78.33 to 193.233.78.37 110 in # 110 port pentru pop3
/sbin/ipfw add 4 allow tcp from any to 193.233.78.37 25 in # 25 portul pentru receptionare corespondenta din internet
/sbin/ipfw add 5 allow udp from any to 193.233.78.37 25 in
/sbin/ipfw add 6 allow tcp from any to 193.233.78.37 443 in # 443 pentru webserver-ul care lucreaza cu https
/sbin/ipfw add 7 allow tcp from 193.233.78.33 to 193.233.78.37 20-21 in # deschid ftp
/sbin/ipfw add 50 reset tcp from any to 193.233.78.37 1-1024 in # in continuare blochez totul
/sbin/ipfw add 60 deny udp from any to any 1-1024 in
/sbin/ipfw add 70 unreach port tcp from any to 193.233.78.37 1025-65535 in setup
/sbin/ipfw add 65000 allow ip from any to any
Aduc fisierul cu parolele si utilizatorii vechi din server-ul vechi. Il reunesc cu datele noi si sterg inregistrarile de prisos. Dupa care, cu fisierul care l-am primit ? inlocuesc originalul.

#cat master.passwd ./old/master.passwd > master
#cp master master.passwd

Creez baza de date cu parole din file-ul master.passwd

pwd_mkdb master.passwd

Instalez qpopper din porturi

#cd /usr/ports/mail/qpopper
#make
#make install

Aici se termina configurarea serverului de mail. Restartez sistemul si vad ce am obtinut. Toate adresele din acest articol sunt inlocuite cu unele inexistente.

? Drezyulya D. http://www.CNews.ro

Why manual install ?

Am o intrebare... Nu era in conformitate cu filozofia FreeBSD sa fi instalat sendmail direct din ports ? Plus ca acolo exista cateva variante de sendmail cu patchuri pentru a functiona impreuna cu sasl, etc..

# ll /usr/ports/mail | grep sendmail
drwxr-xr-x  2 root  wheel    512 Sep 23 02:23 mini_sendmail
drwxr-xr-x  3 root  wheel    512 Nov  8 09:33 pgpsendmail
drwxr-xr-x  2 root  wheel    512 Jan 19  2004 popa3d-before-sendmail
drwxr-xr-x  3 root  wheel    512 Nov  8 09:33 sendmail
drwxr-xr-x  2 root  wheel    512 Jul 25  2004 sendmail-ldap
drwxr-xr-x  2 root  wheel    512 Jul 25  2004 sendmail-old
drwxr-xr-x  2 root  wheel    512 Jul 25  2004 sendmail-sasl
drwxr-xr-x  3 root  wheel    512 Sep 23 02:23 usendmail

---
# grep PORTVERSION= /usr/ports/mail/sendmail/Makefile
PORTVERSION=    8.13.5

Si asa ai si sansa de a fi verificat pachetul de vulnerabilitati de catre portaudit ;-)