• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

BIG HOWTO SPAM-MAIL-SERVER (Step by step)

Status
Für weitere Antworten geschlossen.

mmp5

Member
Was ist drin?

Was ist Postfix?
Postfix ist der im Mailsystem verwendete MTA (Mail Transfer Agent).
Ein MTA übernimmt den Transport von E-Mails. Postfix benutzt, wie auch MTAs das Protokoll SMTP.

Was ist amavisd-new?
AMaViS (A Mail Virus Scanner) ist ein Virus-Scanner für Emails. Es ist sehr weit verbreitet. AMaViS ist ein Perl-Skript, welches mit den verbreiteten Mailservern zusammenarbeitet (z.B. postfix), die Mails entgegennimmt und diese durch konfigurierte Virenscanner schickt (z.B. clamav, bitdefender). Mails, welche die Tests bestanden haben, werden danach weiter zugestellt, virus-verseuchte Mails gehen in einen Quarantäne-Ordner. AMaViS besitzt die Fähigkeit, gepackte Mailanhänge vor dem Scannen auszupacken. AMaViS kann nicht nur nach Viren, sondern auch nach Spam suchen. Wenn SpamAssassin installiert ist, braucht man ihn nicht per Postfix einzubinden, sondern lässt Spam ähnlich wie Viren von amavisd handhaben lassen.

Was ist ClamAv?
ClamAV (Clam AntiVirus) ist ein Antivirusprogramm. Er arbeitet im Mailsystem als Virenscanner und Phishing-Filter(gegen Mailwürmern, Phishing-E-Mails). Bei ClamAV handelt es sich um eine Bibliothek, die in eigene Software integriert werden kann (Daemon).

Was ist Bitdefender?
s.o. ähnlich wie ClamAv.

Was ist Spamassassin?
SpamAssassin ist ein Email-filterprogramm, welches ungewünschte E-Mails automatisch aussortieren kann.
Das Programm gibt jeder E-Mail nach bestimmten Regeln Punkte, die anzeigen, wie hoch die Spamwahscheinlichkeit bei der Email ist. Bei Überschreiten dieses Schwellenwertes wird die E-Mail als Spam markiert, sowie der „X-Spam-Flag“ auf „YES“ gesetzt.
Maßgebende Kriterien für die Punktevergabe bei Spamassassin sind:
• Statische Regeln, die nach Regulären Ausdrücken, welche typischer Weise in Spammails vorkommen, suchen
• Abfrage von Realtime Blackhole Lists (Schwarzes Brett der Spammer)
• Abfrage von „Collaborative Filtering Networks“ mittels Razor, Pyzor, DCC (Netzwerke welche Mails als Spam stufen)
• Bayes'scher-Filter, der eine statische Wahrscheinlichkeit berechnet, auf der Basis der bisher als Spam deklarierten Mails. Nach dieser Wahrscheinlichkeit wird überprüft ob es sich in der Mail um Spam oder Ham handelt. (Spam = Ungewollte Mails; Ham = Gewollte Mails)
Spamassassin hat zusätzlich zu der automatischen Punktevergabe eine Manuelle und eine Black- bzw. Whitelist. In der Manuellen Punktevergabe kann der Benutzer sich und seiner Umgebung vor Spam schützen, indem er einzelne (in Spam vorkommenden) Wörter oder Sätze mit einem selbst bestimmten Punktewert deklariert. Die manuell eingetragenen Black- und Whitelisten dienen dazu einzelne User oder Domains als Spam (Blacklist) oder als Ham (Whitelist) zu bestimmen.


1. Debian Installation
Hardware Vorraussetzung für Antispam sollten ein Pentium 233Mhz mit 256MB RAM sein (ca. 2500 Mails/Tag). Der Festplattenspeicher sollte mindestens 600 MB betragen.
Installiert wird ohne Graphische Oberfläche, also ohne GUI. Zunächst einmal wird die Net-Install CD benötigt. Die benötigte Version erhält man unter:
http://www.debian.org/devel/debian-installer/index
Nachdem das Image runtergeladen und gebrannt wurde legt man es ins Laufwerk ein und Bootet von der CD aus.

Die ersten Abfragen des Systems sind:
choose a language:
german - Deutsch

Land oder Gebiet wählen:
Deutschland

Wählen sie Ihre Tastaturbelegung aus:
Deutsch

Man sollte das Internetkabel jetzt vom Gerät entfernen, da es nicht über DHCP konfiguriert werden soll.
Daraufhin wählt man im nächsten Menü
Netzwerk manuell einrichten
aus.

IP-Adresse:
192.168.xxx.xxx

Netzmaske:
255.255.255.0

Gateway:
192.168.xxx.xxx

Adresse des DNS Servers:
192.168.xxx.xxx

Rechnername
antispam

Domainname:
example.local


Festplatten Partitionieren:
Gesamtes Laufwerk löschen: . . .

Partitionsschema:
Alle Dateien auf eine Partition

Partitionierung beenden und änderungen übernhmen
Änderungen auf die Festplatte schreiben?
Ja

Daraufhin wird das Debain Grundsystem installiert.

Den Grub-Bootloader in den Master Boot Record installieren?
Ja

CD entfernen
Weiter

Es wird Neugestartet.

Willkommen bei ihrem neuen Debian System
Ok

Ist die Hardware-Uhr auf GMT gesetzt?
Nein

Befinden sie sich in der Zeitzone . . .
Ja

Root-Passwort
**********
Nochmals zur Bestätigung
**********

Geben sie den vollen Namen für den Neuen Benutzer ein:
example

Geben sie den Benutzernamen für Ihr Konto ein:
example

Passwort für den neuen Benutzer:
**********

Nochmals zur Bestätigung:
**********

Apt Konfiguration
http

Land des Spielgel-Servers
Deutschland

Wählen sie einen Spiegelserver aus:
Xxxxxx

Daten Ihres http Proxys:
. . . (keine)

Debian Software Auswahl:
Wählen Sie Software aus die Installiert werden soll:
Keine Veränderungen vornehmen einfach nur
OK

Exim4 Konfiguration
Keine Konfiguration zum jetztigen Zeitpunkt

Soll das Emailsystem wirklich nicht konfiguriert werden?
Ja

Empfänger der Mails für Root und Postmaster:
. . .
OK

Debian System Konfiguration
Setup des Debian System ist komplett
OK

--------------------------------------------------------------------
--------------------------------------------------------------------

2. Debian Programm Installation & Konfiguration


1: System Uhrzeit richtig setzen:

apt-get install ntpdate ssh

setze CMOS Zeit gleich der Systemzeit:
hwclock --systohc


2: Konfiguriere Locales:

Um die Tatatureinstellungen festzulegen:
dpkg-reconfigure locales

[*] de_DE@euro ISO-8859-15
OK

Which locale should be the default in the system environment?
de_DE@euro

[reboot]


3: Grundprogramme installieren, deinstallation:

apt-get install libc6-dev dpkg-dev db4.3-util libdb4.3-dev libberkeleydb-perl vim lynx ncftp bzip2 unzip perl-doc libwww-perl ntp-simple zlib1g-dev unzoo arj zip lzop nomarch arc zoo ftp lsof less libdbi-perl libmail-spf-query-perl libconvert-binhex-perl gcc make autoconf automake1.7 libtool flex bison libldap2 libcompress-zlib-perl dnsutils rblcheck pax libmail-spf-query-perl libdbi-perl libnet-ident-perl cabextract

apt-get remove ipchains lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig uw-imapd qpopper mailagent

Abfragen immer mit JA beantworten.


4: Nachprüfen von Systemeinstellungen:

vi /etc/resolv.conf
Steht der Domainname in folgender Form da?
search example.local
Ist der Nameserver darunter richtig eingetragen?
nameserver 192.168.xxx.xxx

(Eintrag im DNS-Server)

vi /etc/hosts
Die ersten zwei zeilen sollten wie folgt aussehen:
127.0.0.1 localhost.localdomain localhost
192.168.xxx.xxx antispam.example.local antispam

[reboot]


5: Apt settings

Da Packete aus der Testing benötigt werden, muss man diese noch in die Apt-settings hinzufügen (später wird diese Einstellung wieder auf default=stable gestellt):

vi /etc/apt/preferences
-
Package: *
Pin: release a=testing
Pin-Priority: 600

Package: *
Pin: release a=stable
Pin-Priority: 550

Package: *
Pin: release a=unstable
Pin-Priority: 400
-


6: Backup der Sourcedatei / editieren der Sourcedatei

Um sicher zu gehen, dass die zusätzlichen Packete installiert werden können muss man sie noch in die source.list eintragen.
Sie sollte danach wie Folgt aussehen (hier am Beispiel vom http-Spiegel rwth-aachen):

cp /etc/apt/sources.list /etc/apt/sources.backup

vi /etc/apt/sources.list
-
#deb file:///cdrom/ sarge main

deb http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ stable main non-free contrib
deb-src http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ stable main

deb http://security.debian.org/ stable/updates main

deb http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ testing main non-free contrib
deb-src http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ testing main

deb http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ unstable main non-free contrib
deb-src http://sunsite.informatik.rwth-aachen.de/ftp/pub/Linux/debian/ unstable main

deb http://security.debian.org/ testing/updates main

deb http://volatile.debian.net/debian-volatile sarge/volatile main
-


7: installation von Zusatzprogrammen:

apt-get update

apt-get install lha unrar unarj

8: Update Kernel (nicht unbedingt nötig):
(
Um herauszufinden, welche Kernelversion auf dem System existiert:
uname -r

Suche nach dem neusten Kernel:
apt-cache search kernel-image-2.6

Installation des neusten Kernels:
apt-get install kernel-image-2.x...
)
[reboot]


9: Firewall Regeln

In diesen Firewall Regeln werden nur folgende Ports offen gelassen, sowie der Netzinterne verkehr:
TCP Port 21 (FTP)
TCP Port 22 (SSH)
TCP Port 23 (Telnet)
TCP Port 25 (SMTP)
TCP Port 53 (DNS)
UDP Port 53 (DNS)
TCP Port 80 (HTTP)
TCP Port 7 (Razor)
TCP Port 2703 (Razor)
TCP Port 24441 (Pyzor)
UDP Port 6277 (DCC)
TCP Port 514 (Syslog)
TCP Port 123 (NTPd)
UDP Port 123 (NTPd)

#//Pc Interne Port Freigabe
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT

#//--state new
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#//Eingehende FTP Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 21 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende SSH Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 22 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende Telnet Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 23 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende SMTP Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 25 --sport 1024:65535 -m state --state NEW -j ACCEPT

#//Eingehende DNS Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 53 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 53 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende HTTP Verbindung erlauben (Zum download spezifischer SARules)
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 80 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende Razor Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 7 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 2703 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende pyzor Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p tcp --dport 24441 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende Webmin Verbindung erlauben
#//Pakete vom Client zum Server
#iptables -A INPUT -p tcp --dport 10000 --sport 1024:65535 -m state --state NEW,ESTABLISHED –j #DROP
#//Pakete vom Client zum Server
#iptables -A INPUT -p udp --dport 10000 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j #DROP

#//Eingehende DCC Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p udp --dport 6277 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende Syslog Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p udp --dport 514 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Eingehende NTP DAEMON Verbindung erlauben
#//Pakete vom Client zum Server
iptables -A INPUT -p udp --dport 123 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//NTP daemon
iptables -A INPUT -p tcp --dport 123 --sport 1024:65535 -m state --state NEW,ESTABLISHED -j ACCEPT

#//Policy setzen - es wird alles verworfen
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables-save > /etc/firewall-rules
iptables-restore < /etc/firewall-rules

Um die Regeln nach der änderung anzeigen zu lassen:
iptables –L



10: Firewall Regeln eintragen:

vi /etc/network/interfaces
Folgendes genau unter der Zeile "iface lo inet loopback":
-
pre-up iptables-restore < /etc/firewall-rules
-
[reboot]



11: Deaktivieren von nicht genutzten Daemons:

Um die Arbeitenden Prozesse anzeigen zu lassen (nicht unbedingt notwendig):
top
ps afx
ps afxl
ps –A
ls -F /etc/rc2.d
lsof -i | grep LISTEN
grep -v "^#" /etc/inetd.conf | sort -u
netstat -pn -l -A inet
netstat -pn -l inet

lsconfig ist ein Script um anzuzeigen zu lassen was alles an Programmen auf dem PC ist:
cd /usr/bin
wget http://www200.pair.com/mecham/debian/lsconfig
chmod +x /usr/bin/lsconfig
lsconfig

Backup der init scripts:
cp -r /etc/init.d /etc/init.d-original

#Um die Daemons nun zu Stoppen und Deaktivieren:
/etc/init.d/lpd stop
update-rc.d -f lpd remove
/etc/init.d/nfs-common stop
update-rc.d -f nfs-common remove
/etc/init.d/portmap stop
update-rc.d -f portmap remove
/etc/init.d/pcmcia stop
update-rc.d -f pcmcia remove
/etc/init.d/ppp stop
update-rc.d -f ppp remove
/etc/init.d/exim4 stop
update-rc.d -f exim4 remove
update-rc.d -f ntpdate remove

update-inetd --disable time
update-inetd --disable daytime
update-inetd --disable echo
update-inetd --disable chargen
update-inetd --disable ident
update-inetd --disable discard

#Um inetd neu zu starten:
/etc/init.d/inetd restart

Damit die Aktiven daemons angezeigt werden:
lsof -i | grep LISTEN
Der eizige daemon sollte jetzt nur noch *:ssh sein.


12: Installation der Hauptprogramme:

Upgrade Stable zu Testing (zeitaufwendig):
apt-get upgrade

Vom System gestellte Fragen immer mit der Standartantwort (default answer) beantworten.

[reboot]

Welche versionen sind verfügbar?
apt-cache policy postfix spamassassin amavisd-new

Damit amavis in Stable Version installiert wird:
apt-get -t stable install amavisd-new

Dieser befehl installiert die zusatzmodule für den Spamassassin, razor und pyzor:
apt-get install razor pyzor

Die neuste Version von Spamassassin wird installiert mittels:
apt-get install spamassassin/testing

Die neuste Version von Postfix wird installiert mittels:
apt-get install postfix/testing

Die abfrage ob Postfix konfiguriert weden soll beantwortet man mit:
Nein

Zusätzliche module für postfix sind:
apt-get install postfix-pcre postfix-mysql postfix-ldap


13: Die installation Modifizieren:

Einige Ordner für Amavis einrichten:
mkdir /var/lib/amavis/tmp
mkdir /var/lib/amavis/db
mkdir /var/lib/amavis/var
mkdir /var/lib/amavis/home

#Amavis Rechte über /var/lib/amavis geben:
chown -R amavis:amavis /var/lib/amavis
chmod -R 750 /var/lib/amavis

ln -s /etc/amavis/amavisd.conf /etc/amavisd.conf


14: Amavis für Debian (+ update)

Ersetzen von amavis Version 20030616-p10 mit Version 2.3.2.:
amavisd-new stop
cd /usr/local/src
wget http://www.ijs.si/software/amavisd/amavisd-new-2.3.2.tar.gz
tar xzvf amavisd-new-2.3.2.tar.gz
rm amavisd-new-2.3.2.tar.gz
cp /usr/local/src/amavisd-new-2.3.2/amavisd /usr/sbin/amavisd-new-2.3.2
cp /usr/sbin/amavisd-new /usr/sbin/amavisd-new-20030616p10
cp /usr/sbin/amavisd-new-2.3.2 /usr/sbin/amavisd-new
cd /etc/amavis
mv amavisd.conf amavisd.conf-20030616p10
wget http://www200.pair.com/mecham/spam/amavisd.conf


15: Postfix konfiguration (Postfix für Debian):

Benötigt werden Postfix Beispieldateien:

cd /usr/local/src
apt-get source postfix
cp -i /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
cp -i /usr/local/src/postfix-2.2.10/conf/* /etc/postfix
cp -i /etc/postfix/header_checks /etc/postfix/body_checks
cp -i /etc/postfix/access /etc/postfix/sender_access


16: Editieren der Postfix master.cf (Download complete one)

Download einer fertigen master.cf, welche Amavis schon mit eingebunden hat:
postfix stop
cd /etc/postfix
mv master.cf master.cf-original
wget http://www200.pair.com/mecham/debian-postfix-2.2-amavisd/master.cf


17: Edit Postfix Main.cf (postconf)

Mit postconf -e kann man Postfix einstellungen eintragen oder verändern, mit postmap werden die eingetragenen Daten initialisiert und von Postfix verwendet.

postconf -e "alias_maps = hash:/etc/aliases"
postconf -e "myhostname = antispam.example.local"
postconf -e "mynetworks = 127.0.0.0/8, 192.168.xxx.0/24"
postconf -e "message_size_limit = 100485760"
postconf -e "mydestination = "
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
postconf -e "local_transport = virtual"

vi /etc/postfix/virtual
-
postmaster Postmaster@example.de
-
postmap /etc/postfix/virtual

postconf -e "relayhost = [192.168.xxx.xxx]"
postconf -e "relay_recipient_maps = hash:/etc/postfix/relay_recipients"

vi /etc/postfix/relay_recipients
-
example.de 1
@example.de ok
account@example.de
-
postmap /etc/postfix/relay_recipients

postconf -e "transport_maps = hash:/etc/postfix/transport"

vi /etc/postfix/transport
-
example.de smtp:192.168.xxx.xxx:25
-
postmap /etc/postfix/transport

postconf -e "relay_domains = example.de"
postconf -e "recipient_delimiter = "
#Router IP
postconf -e "proxy_interfaces = 192.168.xxx.xxx"


18: Postfix-Amavis Antispam

Postfix mitteilen, dass er amavisd-new auf port 10024 nutzen soll:

postfix stop
postconf -e "content_filter = smtp-amavis:[127.0.0.1]:10024"
postfix start
postfix reload


19: Configuring amavisd-new:

Orginal Konfiguration sichern:
cp /etc/amavis/amavisd.conf /etc/amavis/amavisd.conf-2.3.2-original

Zeilen suchen und ggf. ändern:
vi /etc/amavis/amavisd.conf
-
$mydomain = example.local';

$myhostname = 'antispam. example.local';

@bypass_virus_checks_maps = (1); #uncomment the line (disable VS)

@local_domains_maps = ( [".$mydomain" , '.example.de'] );

@mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10
192.168.xxx.xxx/24); # default

#$final_virus_destiny = D_DISCARD; # (defaults to D_DISCARD)
$final_virus_destiny = D_PASS; # (defaults to D_DISCARD)
$final_banned_destiny = D_PASS; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_BOUNCE)
$final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested

$mailfrom_notify_admin = "postmaster\@$mydomain";
$mailfrom_notify_recip = "postmaster\@$mydomain";
$mailfrom_notify_spamadmin = "postmaster\@$mydomain";

$hdrfrom_notify_sender = "amavisd-new <postmaster\@$mydomain>"; # without#

$virus_quarantine_to = 'virus-quarantine';
$banned_quarantine_to = undef;
$bad_header_quarantine_to = undef;
$spam_quarantine_to = undef;

$banned_filename_re = new_RE section
#Aussuchen, welch Files Banned sind
...



$recipient_delimiter = undef;

$sa_kill_level_deflt = undef;
$sa_tag_level_deflt = -9999.9;
$sa_local_tests_only = 0;
$sa_spam_subject_tag = 'Spam >';
$sa_tag2_level_deflt = 2.5;
-
Die neue Konfiguration auch sichern:
cp /etc/amavis/amavisd.conf /etc/amavis/amavisd.conf-10apr06


20: Pyzor, Razor and SpamAssassin configuration:

Pyzor configuration:
chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord
updatedb
??chmod -R a+rX /usr/lib/python2.3/site-packages/pyzor
chmod -R a+rX /usr/lib/site-python/pyzor
pyzor discover
su amavis -c 'pyzor discover'
pyzor ping
su amavis -c 'pyzor ping'

Syntax der local.cf überprüfen:
spamassassin --lint -D

cp -ir /root/.spamassassin /root/.spamassassin-backup
cp -ir /root/.spamassassin /var/lib/amavis

User_prefs einrichten (user-wide settings):
rm /root/.spamassassin/user_prefs
ln -s /var/lib/amavis/.spamassassin/user_prefs /root/.spamassassin/user_prefs

cd
rm /etc/razor/razor-agent.conf
razor-admin -create
razor-admin -register

vi /root/.razor/razor-agent.conf
-
debuglevel = 0
-

cp -r /root/.razor /var/lib/amavis
chown -R amavis:amavis /var/lib/amavis

vi /etc/spamassassin/local.cf
-
bayes_path /var/lib/amavis/.spamassassin/bayes
auto_whitelist_path /var/lib/amavis/.spamassassin/auto-whitelist
#Eintragen, welche Adressen nicht als Spam erkannt werden dürfen (-100.0)
whitelist_from spam-bin@example.com
#Eintargen, welche Adressen als Spam erkannt werden sollen (+100.0)
Blacklist_from xxx@xxx.de
Lock_method flock
bayes_auto_learn_threshold_nonspam -0.1

score BAYES_00 -2.500
score BAYES_05 -2.000
score BAYES_20 -1.700
score BAYES_40 -0.600
score BAYES_60 1.500
score BAYES_80 2.000
score BAYES_95 2.500
score BAYES_99 3.000
score RAZOR2_CF_RANGE_51_100 1.500
score URIBL_WS_SURBL 2.000
score URIBL_PH_SURBL 2.500
score RCVD_IN_SORBS_HTTP 1.000
score RCVD_IN_SBL 1.000
score RCVD_IN_NJABL_PROXY 1.000
score RCVD_IN_SORBS_MISC 0.500
score RCVD_IN_BL_SPAMCOP_NET 2.000
score RCVD_IN_NJABL_SPAM 2.200
score HTML_WEB_BUGS 1.500
-
Aktivieren der Plugins von Spamassassin:
vi /etc/spamassassin/v310.pre
-
loadplugin Mail::SpamAssassin::plugin::DCC
loadplugin Mail::SpamAssassin::plugin::Razor2
-
Rechte von Amavis erneuern:
chown -R amavis:amavis /var/lib/amavis
chmod -R 750 /var/lib/amavis

su amavis -c 'sa-learn --sync'
su amavis -c 'spamassassin --lint -D'
chown -R amavis:amavis /var/lib/amavis


21: DCC installieren

cd /usr/local/src
wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z
tar xzvf dcc-dccproc.tar.Z
cd dcc-dccproc- [tab]
./configure --with-uid=amavis && make && make install
cdcc "delete 127.0.0.1"
cdcc "delete 127.0.0.1 Greylist"
cd
ln -s /var/dcc/libexec/cron-dccd /usr/bin/cron-dccd
cdcc info

crontab -e
43 11 * * * /usr/bin/cron-dccd

su amavis -c 'spamassassin --lint -D'

amavisd-new stop
amavisd-new debug-sa
strg+c

[reboot]


22: ClamAV installieren und in amavisd-new integrieren

vi /etc/apt/sources.list
- wichtig
deb http://volatile.debian.net/debian-volatile sarge/volatile main
-
apt-get update
apt-get -t sarge install clamav clamav-daemon
gpasswd -a clamav amavis

vi /etc/amavis/amavisd.conf
-
# bypass viruschecks

$first_infected_stops_scan = 1; #uncomment
@av_scanners = (['ClamAV-clamd', +4 Zeilen # uncomment
-

Freshclam einstellen, so daß er am Tag 12 (alle 2 std) Virussignaturen einholt:
freshclam -d -c 12

[reboot]

amavisd-new stop
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-daemon start
amavisd-new start

Hat Amavis clamAV geladen?
tail -f /var/log/mail.log


23: Bitdefender installieren (antivirus)

cd /usr/local/src
wget http://download.bitdefender.com/linux/free/bitdefender-console/en/BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i586.deb

dpkg -i BitDefender-Console-Antivirus-7.1-3.linux-gcc3x.i586.deb
bdc -update

crontab -e
50 * * * * /usr/bin/bdc --update > /dev/null # mm e.g. 50

vi /etc/amavis/amavisd.conf
-
### http://www.bitdefender.com/
['BitDefender', 'bdc',
'--all --arc --mail {}', qr/^Infected files *:0+(?!\d)/,
qr/^(?:Infected files|Identified viruses|Suspect files) *:0*[1-9]/,
qr/(?:suspected|infected): (.*)(?:\033|$)/ ],
-
amavisd-new reload

tail -f /var/log/mail.log



------------------------------------------------------------------------
------------------------------------------------------------------------


3. Zusatzinstalltionen & Konfigurationen

How-to rules_du_jour (additional Spamassassin rules):

Das Ruleset Program runterladen, ausführbar machen und sich eine config Datei dafür erstellen.
cd /usr/local/sbin
wget http://sandgnat.com/rdj/rules_du_jour
chmod +x /usr/local/sbin/rules_du_jour
mkdir /etc/rulesdujour
touch /etc/rulesdujour/config
vi /etc/rulesdujour/config
-
TRUSTED_RULESETS="TRIPWIRE SARE_ADULT SARE_OBFU0 SARE_OBFU1 SARE_URI0 SARE_URI1 BLACKLIST RANDOMVAL SARE_BML SARE_RATWARE SARE_SPOOF SARE_OEM SARE_REDIRECT SARE_HIGHRISK"
-
rules_du_jour starten
rules_du_jour

Ein Cronjob erstellen, damit zu einem zeitpunkt die Regeln erneuert werden (Täglich um 2.33 Uhr)
crontab -e
-
33 2 * * * /usr/local/sbin/rules_du_jour
-


Postfix Virtuelle Domain & 2 Mailboxen (whitelist & blacklist)

Die folgenden Zeilen müssen in die main.cf eingetragen werden:

vi /etc/postfix/main.cf
-
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_gid_maps = static:5000
virtual_uid_maps = static:5000
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_domains = /var/mail/virtual_domains
virtual_mailbox_limit = 512000000
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
-

Den Später verwendeten Ordner für die Emails erstellen:

mkdir /var/mail/vhosts
mkdir /var/mail/vhosts/spamcheck.local

In die virtual_domains muss man den virtuellen Domainnamen eintragen:

vi /var/mail/virtual_domains
-
antispam.example.local 1
-
postmap /var/mail/virtual_domains

In die vmailbox muss man die virtuellen localen Mailboxen und Pfade eintragen:

vi /etc/postfix/vmailbox
-
whitelist@antispam.example.local spamcheck.local/whitelist/
blacklist@antispam.example.local spamcheck.local/blacklist/
-
postmap /etc/postfix/vmailbox

mkdir /var/mail/vhosts/spamcheck.local/whitelist
mkdir /var/mail/vhosts/spamcheck.local/blacklist
mkdir /var/mail/vhosts/spamcheck.local/root

Die Rechte für die Ordner müssen noch vergeben werden:
WinSCP3 rechtemaus


Den Telnet daemon installieren (telnetd)

apt-cache search telnetd

nicht Vorhanden?

update
apt-cache search telnetd

Vorhanden:

apt-get install telnetd



Installation Pure-ftpd server (Superserver):

vi /etc/apt/preferences
-
Package: *
Pin: release a=stable
Pin-Priority: 750
-

apt-get update
apt-get install pure-ftpd


cd /usr/local/sbin/
touch pure-start
vi pure-start
-
pure-ftpd -B -a 1001 -4 -k 90 -u 100 -c 20 -C 8 -I 5 -b -E -D -r -j -l puredb:/etc/pure-ftpd/pureftpd.pdb
-

chmod a+x pure-start
pure-start

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpusers
mkdir /home/ftpusers
chown ftpusers:ftpgroup /home/ftpusers
pure-pw useradd ftpuser -u ftpusers -D /home/ftpusers/ftpuser
pure-pw mkdb
pure-pw list
pure-pw show ftpuser
pure-pw usermod ftpuser -N 500 -T 60 -t 30 -y 5 -m
pure-pwconvert
pure-pwconvert >> /etc/pureftpd.passwd
pure-pw mkdb

vi /etc/inetd.conf (Rauten)
-
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
-
mkdir /home/ftpusers/ftpuser
Manueller Serverstart mittels:
pure-start


Sa-Learn (Spamassassin falsche Spam und Ham lernen lassen)

Erstellen des Scripts:
touch /usr/local/sbin/sascript

Im Script soll erst “gelernt” werden und anschließend der inhalt gelöscht.
vi /usr/local/sbin/sascript
-
sa-learn --spam /var/mail/vhosts/spamcheck.local/blacklist/new/
sa-learn --ham /var/mail/vhosts/spamcheck.loc/whitelist/new/

su amavis -c 'sa-learn --sync'

rm -f /var/mail/vhosts/spamcheck.local/blacklist/new/*
rm -f /var/mail/vhosts/spamcheck.local/whitelist/new/*
-
cd /usr/local/sbin
chmod +x /usr/local/sbin/sascript
sascript

crontab -e
-
59 * * * * /usr/local/sbin/sascript
-


--------------------------------------------------------------------
--------------------------------------------------------------------


4. Nach der Installation

Locate:
Um mit dem befehl
locate
Alle Dateien im System zu finden, muß der der folgende befehl ausgeführt werden:
updatedb


IP und Gateway Änderungen:
vi /etc/network/interfaces
-
# /etc/network/interfaces -- configuration file

# The loopback interface
auto lo
iface lo inet loopback

# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
address 192.168.1.2 # < Die IP Adresse
netmask 255.255.255.0 # < Die Netmask
network 192.168.1.0 # < Das Netz
broadcast 192.168.1.255 # < Die Broadcast Adresse
gateway 192.168.1.254 # < Der Default Gateway
-

Und anschliessend die neuer Werte mit folgendem Befehl uebernehmen:
/etc/init.d/networking restart

Die IP, Gw, DNS einstellungen überprüfen in:
vi /etc/resolv.conf
vi /etc/hosts

---------------------------------------------------------------------------
---------------------------------------------------------------------------

Ende ^^

Lange Rede kurzer Sinn.
Die Maschiene Funktioniert, vielleicht findet ihr heraus, warum sie jedoch manchmal so langsam funktioniert :lol:

Gut ne hab ich alles selber gemacht ohne persönliche hilfe ^^

So jetzt sogar überarbeitet:
1. Die Punkte Stimmen jetzt überein

Weite anmerkungen erwünscht
 
Eine Anmerkung:

Auf SuSE-Systemen die eh nicht zulässige TLD .local nicht benutzen. Aus dem Beitrag http://www.linux-club.de/ftopic6067-0-asc-20.html :

Folgende TL-Domains gehen für Tests gem. RFC 2606:
.test
.example
.invalid
.localhost

sowie folgende Domains:
example.com
example.net
example.org

Folgende TLD gehen auch:
aa, zz, und alle 2-stelligen, die mit x anfangen (xa..xz)

Mir fällt auf:
.local ist nicht dabei.
Alternativ auch irgendwas sonstiges ungenutztes, aber .local hat eine echte Bedeutung, die (bei SuSE-Systemen) lustige Effekte bringt. Daß es von Windows als Standard genutzt wird macht es nicht richtiger.

Grüße
 
Status
Für weitere Antworten geschlossen.
Oben