qmailChciałem dziś polecić wam mój ulubiony MTA którym jest qmail dlaczego akurat qmail?

http://globi.org/lwq/#whyuseit:

Cytat:
1.3. Dlaczego warto używać qmail’a ?Twój system operacyjny zawiera MTA, prawdopodobnie Sendmail’a, zatem jeśli czytasz ten dokument wygląda na to, ze szukasz czegoś lepszego. Oto część cech, którymi qmail przewyższa inne MTA dostarczane standardowo :
1.3.1. Bezpieczeństwoqmail został zaprojektowany z myślą o bezpieczeństwie. Historia Sendmail’a pełna jest poważnych problemów związanych z bezpieczeństwem. Gdy Sendmail był tworzony, sieć była znacznie przyjaźniejszym miejscem. Wszyscy znali się zatem nie było potrzeby projektowania i pisania kodu z myślą o bezpieczeństwie. Dzisiejszy internet nie jest już tak przyjaznym miejscem dla serwerów. Autor Sendmail’a Eric Allman odwalił kawał dobrej roboty uszczelniając swój program, jednak aby naprawdę polepszyć go pod tym względem należałoby zaprojektować go od nowa.
1.3.2. Prędkość działaniaqmail dostarcza pocztę równolegle. Domyślnie potrafi obsługiwać do 20 dostarczeń na raz.
1.3.3. Wiarygodność

qmail akceptując wiadomość gwarantuje, że nie zostanie ona utracona. Ponadto używa on nowego formatu skrzynki pocztowej, który pracuje poprawnie nawet z NFS bez lockowania plików.
1.3.4. Prostota

qmail jest mniejszy niż inne MTA o porównywalnych cechach.


Dodam jeszcze od siebie że mimo swoich małych rozmiarów oraz prostoty spokojnie może konkurować z takim MTA jak postfix czy sendmail.

Krótki prosty opis instalacji serwera pocztowego Qmail wraz z dodatkami : SpamControl, Qmail-scanner/st, AV, SpamAssassin.

Na początek potrzeba nam posiadać w systemie skaner anty wirusowy ClamAV, system anty spamowy SpamAssassin (PERL) wszystko to musi być poprawnie zainstalowane i skonfigurowane. Spamd musi być URUCHOMIONY podczas instalacji, clamd niekoniecznie.

Pierwszym krokiem będzie pobranie Qmail w wersji 1.03:
http://www.qmail.org/qmail-1.03.tar.gz
Musi być to wersja 1.03 netqmail-1.05 zawiera już NIEKTÓRE poprawki które my dodamy z zbiorem patch-y który polecam: SpamControl
http://www.fehcom.de/qmail/spamcontrol.html

teraz wykonujemy:

Kod:
mkdir /usr/src/qmail
cd /usr/src/qmail
wget http://www.qmail.org/qmail-1.03.tar.gz
tar -xzf qmail-1.03.tar.gz
wget http://www.fehcom.de/qmail/spamcontrol/spamcontrol-2417_tgz.bin
mv spamcontrol-2417_tgz.bin qmail-1.03

za pomocą jakiegoś edytora, można poprawić plik conf-spamcontrol:

Kod:
# Configuration for SPAMCONTROL (no tabs allowed)
#
# Additional RELAYING
#
relaymailfrom=no # might be dangerous – use SMTP Auth
#
# Additional CONTROLLING
#
reqbrackets=yes # qmail-smtpd requires brackets „<address>” in SMTP addresses
verp=yes # allow VERP addresses for RECIPIENTS
#
# LOADSHARING enhancements
#
moreipme=no # Scott Gifford’s additional control files moreipme and notipme
#
# PERFORMCANCE enhancements
#
bigtodo=no # Bruce Guenter’s BigToDo patch – consider raising conf-split in the first place

Z czasem plik ten może ulec zmianie, od czasów wersji 3 kilka opcji zniknęło jedna się pojawiła.

Zanim nałożymy patch i rozpoczniemy instalację qmail trzeba zrobić katalogi i grupy w których będzie on pracował.

Wykonujemy:

Kod:
groupadd -g 96 nofiles
groupadd -g 97 qmail
useradd -g nofiles -u 91 -d /var/qmail/alias alias
useradd -g nofiles -u 92 -d /var/qmail qmaild
useradd -g nofiles -u 93 -d /var/qmail qmaill
useradd -g nofiles -u 94 -d /var/qmail qmailp
useradd -g qmail -u 95 -d /var/qmail qmailq
useradd -g qmail -u 96 -d /var/qmail qmailr
useradd -g qmail -u 97 -d /var/qmail qmails
mkdir /var/qmail
cd qmail
mkdir alias
mkdir control
mkdir doc
mkdir scripts
chown -R root:qmail /var/qmail
chown alias:qmail alias scripts

Teraz możemy nałożyć patch na źródło qmail a potem skompilować i zainstalować go:
cd /usr/src/qmail/qmail-1.03
./install_spamcontrol.sh #nakłada patch
make setup check # kompiluje i instaluje qmail

Teraz potrzeba nam tcpserver o ile nie posiadamy w systemie super daemon-a „inetd”
który jest dostępny tu:
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
dodatkowo, MUSIMY założyć patch na tcpserver który pozwoli nam limitować ilość połączeń z smtp i pop3 z jednego IP, oraz w ogóle skompilować tcpserver na gcc-3.X.
Robimy to tak:

Kod:
cd /usr/src/qmail
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://toribio.apollinare.org/qmail/ucspi.st-combo.08.patch
tar xzf ucspi-tcp-0.88.tar.gz
cp ucspi.st-combo.08.patch
patch -p0 < ucspi.st-combo.08.patch

Do kompletu potrzeba jeszcze: checkpasswd oraz gdy chcemy mieć możliwość używania autoryzacji CRAM-MD5 md5checkpw

Kod:
wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
wget http://djbware.csi.hu/patches/checkpassword-0.90.errno.patch
tar -xzf checkpassword-0.90.tar.gz
patch -p0 < checkpassword-0.90.errno.patch
cd checkpassword-0.90
make setup check #checkpassword GOTOWYwget http://www.fehcom.de/qmail/auth/cmd5checkpw-030_tgz.bin
tar -xzf cmd5checkpw-030_tgz.bin
cd cmd5checkpw-0.30
make setup check

W tej chwili nasz Qmail mógł by już z powodzeniem działać ale ten opis przewiduje dodanie jeszcze skaner anty wirusowego i spamowego.

Pora na Qmail-scanner który występuje w dwóch wersjach, jedna to bazowa dostępna na:
http://qmail-scanner.sourceforge.net/
oraz lepszą wersję w/w scaner który dodatkowo potrafi odrzucać pocztę wykrytą jako wirusy lub spam. http://toribio.apollinare.org/qmail-scanner/

STANOWCZO POLECAM LEPSZĄ WERSJĘ! http://toribio.apollinare.org/qmail-scanner/

Instalacja jest dosyć prosta, ale zanim ją wykonamy qmail-scanner potrzebuje:
reformime: http://www.courier-mta.org/maildrop/
PERL5 oraz moduły które instalują się automatycznie, wystarczy wykonać:

Kod:
perl -MCPAN -e shell
# po odpaleniu CPAN-a
install Time::HiRes DB_File Sys::Syslog MIME::Base64

Podczas automatycznej instalacji PERL nie raz spyta nas o inne moduły potrzebne do instalacji tych wybranych, zalecam pozwolić mu na to bo inaczej te wymagane się nie zainstalują. W razie błędów przy make test możemy zainstalować moduły ręcznie są w:
/root/.cpan
za pomocą poleceń:

Kod:
perl Makefile.PL
make
make install

Opcjonalnie możemy dorzucić:
http://sourceforge.net/projects/tnef/

Teraz qmail-scanner:

Kod:
wget http://toribio.apollinare.org/qmail-scanner/download/q-s-2.01st-20061223.tgz
tar -xzf q-s-2.01st-20061223.tgz
cd qmail-scanner-2.01st
./configure –qs-user qscand –admin LOGIN_ADMINA –domain DOMENA_NASZEGO_SERWERA.PL –admin-description „NAZWA ADMINA” –notify none –local-domains DODTKOWE_DOEMNY.PL ALA.MA.KOTA.PL –silent-viruses auto –virus-to-delete 0 –skip-text-msgs 1 –lang pl_PL –debug no –minidebug 1 –add-dscr-hdrs yes –dscr-hdrs-text „X-Qmail-Scanner” –normalize 1 –archive 0 –settings-per-domain 0 –max-scan-size 100000000 –unzip 1 –max-zip-size 1000000000 –max-unpacked-files 10000 –redundant 1 –log-details yes –log-crypto no –fix-mime 2 –ignore-eol-check 0 –sa-subject „SPAM ” –sa-delta 0 –sa-alt 0 –sa-debug 0 –sa-report 0 –sa-quarantine 2 –sa-delete 5 –sa-reject 1 –scanners „fast_spamassassin,clamscan” –install 1
make
make install

Jak widać parametry konfiguracji należy poprawić pod swój serwer!

qmail-scanner obsługuje takie antywirusy:
* Clam Anti-Virus – an Open Source anti-virus scanner
* Trend’s InterScan VirusWall Virus scanner
* Sophos’s „sweep” virus scanner
* H+BEDV’s antivir scanner
* Kaspersky’s AVPLinux scanner
* MacAfee’s (NAI’s) virus scanner
* Command’s virus scanner
* F-Secure Anti-Virus scanner
* F-Prot Anti-Virus scanner
* InocuLAN Anti-Virus scanner
* BitDefender Linux Edition
* Central Command’s Vexira anti-virus scanner
* ESET NOD32 Anti-Virus scanner
* Sophie: Daemon front-end to Sophos Sweep
* Trophie: Daemon front-end to Trend iscan
* AVG Anti-Virus
Które sam wykrywa i sam się konfiguruje do działania z nimi, można wybrać więcej niż jeden.

Obowiązkowo: ClamAV opcjonalnie polecam: NOD32, BitDefender, Kaspersky

Konfiguracja Qmail po instalacji.

Sama konfiguracja jest banalna i odbywa się przez edytowanie plików w:
/var/qmail/control
/var/qmail/users

Wymagane do poprawnego funkcjonowania są:
rcpthosts – tu wpisujemy domeny które nasz qmail ma obsługiwać np. example.pl
Przykład:

Kod:
example.pl
przyklad.pl
moja.domena.pl

me oraz locals mogą być symlinkami rcpthosts

Opcjonalnie możemy stworzyć i wyedytować pliki:
badhelo – plik który zawiera treść które nie może zawierać HELO/EHLO które podaje klient/serwer łączący się na SMTP
Przykład:

Kod:
viagra
dupa.pl
nikt.pl

badmailfrom – adresy e-mail które chcemy zablokować
Przykład:

Kod:
monika@o2.pl
*@hotmail.com
*@zly.serwer.pl
balwan*@o2.pl

bouncemaxbytes – liczba bajtów po jakiej zwroty będą ucinane.
concurrencylocal oraz concurrencyremote – to pliki które muszą zawierać liczbę jednocześnie odbieranych i wysyłanych listów lokalnie oraz zdalnie. W zależności od liczby użytkowników, szybkości łącza, wydajności serwera powinna się zmieniać. (jak nie wiesz co wpisać wpisz: 20)

databytes – maksymalna wielkość przesyłki w bajtach

queuelifetime – czas w sekundach po jakim serwer ma przestać próbować dostarczyć przesyłkę której nie udało mu się dostarczyć z powodów niezależnych od nas.

smtpgreeting – wiadomość jaka wyświetla się jako powitanie na naszym SMTP

Plików z konfiguracją może być więcej wszystkie można sobie zobaczyć na: http://globi.org/lwq/#config-files

Teraz pozostał nam tylko plik który ma odpalić qmail przy starcie serwera, można go napisać na wiele sposobów, ja dam dwa przykładowe, które można sobie edytować lub miksować ze soba.

Pierwszy który uruchamia qmail na tcpserver w całości SMTP i POP3 bez autoryzacji CRAM-MD5:
Do pliku /etc/rc.d/rc.local dodajemy:

Kod:
#!/bin/bashecho „QMail: starting …”
export PATH=”/var/qmail/bin:$PATH”
#export SMTPAUTH=”crammd5″
QMAILQUEUE=”/var/qmail/bin/qmail-scanner-queue.pl” export QMAILQUEUE
QMAILDUID=`id -u qmaild`
QMAILDGID=`id -g qmaild`
tcpserver -c 10 -s 10 -vR -u $QMAILDUID -g $QMAILDGID 0 smtp /var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true 2>&1 | /var/qmail/bin/s/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &
tcpserver 0 pop3 /var/qmail/bin/qmail-popup NASZA_DOMENA.PL /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &

Drugi który odpala qmail przez super daemon-a inetd:
W pliku /etc/inetd.conf dodajemy:

Kod:
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true
pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup NASZA.DOMENA.PL /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir

Oraz do /etc/rc.d/rc.local:

Kod:
/var/qmail/bin/s/var/qmail/bin/qmail-start ./Maildir/ /var/qmail/bin/splogger qmail &

Muszę dodać że nie każde distro posiada inetd, a tylko SLACKWARE posiada katalog /etc/rc.d

W innych distrach (nie Slackware) qmail na tcpserver możemy dodać do pliku: /etc/rc.d/init.d/qmail-smtpd.init
Lub jeżeli system posiada xinetd proszę zastosować:
http://www.xinetd.org/faq.html#qmail

O ile wszystko zostało wykonane poprawnie qmail powinien funkcjonować poprawnie.

Jeżeli w opisie doszukasz się błędów napisz mi o tym.

Pliki które są w opisie postanowiłem umieścić też na ftp://ftp.nasa.one.pl/pub/linux/qmail/

Tagged with:
 


Portal Bezpieczna Sieć - Forum komputerowe, Informatyka śledcza, bezpieczeństwo, backtrack, kali - Kali Linux Polska Edycja - Polska Edycja Backtrack - Poradnik dla gracza - Praca oparta na wiedzy i edukacji - Seriws Laptopów Katowice - Sklep Komputerowy Katowice - Odzyskiwanie Danych Katowice - Parking BETA przy lotnisku Pyrzowice - miejsce Run w sieci - Prawda od promocjach ,Informatyka, promocje, ceny, ekonomia, ekologia, filozofia - Prawda na tematy informatyki, ekonomii, ekologii - Wróżka, Poezja - eMono-cykl, SegWay, AirWheel, SoloWheel

stat4u