Thorshammare Mjölnar OpenBSD 5 som brandmur, router, webbserver och e-postserver
Det som från början var tänkt som en enkel, snabb webbserver installation, har utvecklat sig till ett ständigt pågående projekt. Fler funktioner tillkommer ständigt.
Då jag är aningen paranoid gällande IT säkerhet, föll sig valet naturligt på OpenBSD. Vana har jag från mångårigt administration av
FreeBSD system, så vadå, då, tänkte jag och laddade ner och installerade OpenBSD 5.0 Likheterna är faktisk bra mycket större än skillnaderna. Man ska bara kolla upp lite i manualen ibland. Någon växel på ett kommando här och där.
Ja, systemadministrationen skiljer sig jo också en aning, men allt finns synnerligen väl dokumenterat på
OpenBSDs webbsida .

Jag började leka lite med PF (Packet Filter), brandmuren som kommer med OpenBSD, och insåg jo direkt att min webbserver nog skulle passa bra som brandmur också, så jag degraderade min existerande router till switch och bytte plats på dom två. Njaaa, en e-postserver hade väl varit kul ? Sendmail är inkluderat i basinstallation av OpenBSD 5, Så .......
Nu är det jo också så att jag hatar spammare. Har man en gång hamnat på någon spammares mail lista, är det kört med den e-post adressen. Det är nära nog omöjligt att komma där ifrån. Dom säljer och byter lister med varandra och efter ett tag finns man på hundratals och inboxen fylls med skräp post.
Men "payback time" är nära. OpenBSD kommer jo med
SpamD. Ett utmärkt verktyg för att göra livet surt för spammare. Så .......

Hmm. när jag nu körer egen e-postserver ska man jo ha ett backup system. Dump - Restore finns i basinstallationen som i dom flesta unix varianter,
men utöver det fastnade jag för
RSnapshot från port kollektionen. Så .......

Så kommer den stora frågan :
Varför ?
och varet är skamlöst stulet från OpenBSD hemsida : "
För att vi kan", och så är det jo kul också !

Jag är jo ingen unix guru precis, och det finns helt säkert båda bättre, snabbare och säkrare tillvägagångssätt for att åstadkomma ovanstående lösningar, men jag tycker om att prova på saker, få tingen att fungera, och utveckla mina färdigheter. På ett enkelt och förståeligt sätt visa hur man enkelt, med en begränsad budget, kan sätta upp dessa tjänster med en bibehållen god säkerhet och en hyfsad prestanda på en annars utrangerad dator.


Installation av OpenBSD 5.1 (current) operativsystem
Dessa anvisningarna gäller OpenBSD 5.1 (current) men fungerar lika bra på OpenBSD 5.0 Hoppa bara över den första delen som beskriver cvsup proceduren och  kernel source uppdateringen, och gå direkt på port installationen.

Hämta senaste snapshot.
Listan över hämtnings servare, båda ftp och http hittar du här
Då jag befinner mig i Sverige, väljer jag att hämta från en Svensk server i Stockholm

Installera
Följ anvisningarna på OpenBSD webbsida för att installera. Raka spår, inga konstigheter.

I exemplen nedan har vi använt Text redigeraren " vi " som kommer färdigt installerat med OpenBSD basinstallation.


Snabbmeny
pf.conf exempel konfiguration
Uppdatera kärna
Installera port och paket systemet
Rekompilera kernel
Rekompilera X server (xenocara)
Uppdatera paket systemet
Bind 9
named.conf exempel konfiguration
Zone fil exempel
in-addr.arpa exempel
Sendmail
Skapa och anpassa en sendmail.cf fil
Installera Procmail
ClamAV Installation
SpamAssassin Installation
SpamAssassin Milter
Bayes Filtrering
Skapa konto för rapportering
local.cf Exempel

 


 

PF Packet Filter Brandmur
Första steget borde, med tanke på säkerhet, borde vara att få PF konfigurerat och upp att köra.
PF är redan aktiverat i
rc.conf "pf=YES # Packet filter / NAT" så det är bara att säkerhetskopiera original konfigurationen och redigera.

cp /etc/pf.conf /etc/pf.conf.orig
vi /etc/pf.conf

För bästa prestanda, bör man eftersträva att gruppera reglerna.

Så här kan en enkel brandmur för våran konfiguration se ut.
Vi har här satt upp pf regler för skydd mot bruteforce attacker, sshguard som finns i port kollektionen och en statisk fil för IP adresser vi önskar att permanent blockera, samt definierat några makros för att göra
administrationen lite enklare när vi bygger ut, och förbättrar skyddet. Nedanstående exempel är ett snabb uppsätt för att skydda dom tjänsterna vi kör för tillfället. Allt finns väl dokumenterat i OpenBSD PF manualen

pf.conf exempel

# Se pf.conf(5) for syntax and exemplar.
# Kom ihåg att sätta net.inet.ip.forwarding=1 och/eller net.inet6.ip6.forwarding=1
# i /etc/sysctl.conf för att nat ska fungera


# macros

ext_if="fxp0"	# Nätverkskort mot internet
int_if="xl0"    # Nätverkskort mot det lokala nätverket

# Nätverksadresser som inte  ska routas.
NoRouteIPs="{ 0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 169.254.0.0/16, \
	172.16.0.0/12, 192.0.2.0/24, 192.168.0.0/16, 204.152.64.0/23, 224.0.0.0/3 }"

# Lokala nätverket
localnet = "{ 192.168.1.0/24 }"

# Tjänster vi vill öppna upp porter för
tcp_services = "{ ssh, smtp, whois, domain, www, auth, https }"
udp_services = "{ domain, ntp }"   # DNS och tidserver

# Portar för diverse e-post klienter på lokala nätverket
email = "{ smtp, pop3, imap, imap3, imaps, pop3s }"

# Ping
icmp_types = "{ echoreq, unreach }"

# Tables
table <bruteforce> persist

# options
set skip on lo
set reassemble yes
set block-policy drop
set loginterface $ext_if
set fingerprints "/etc/pf.os"
set ruleset-optimization basic
set optimization aggressive

# FTP Proxy rules
# Redirect av FTP till proxy. Proxyservern aktiveras i rc.conf.local
anchor "ftp-proxy/*"
pass in quick on $int_if inet proto tcp to any port ftp divert-to 127.0.0.1 port 8021

# match rules
# NAT
match out on egress inet from !(egress) to any nat-to (egress:0)
# Scrub
match on $ext_if all scrub (random-id min-ttl 254 set-tos ef reassemble tcp max-mss 1452)

# Filter rules
# Vi börjar med att blockera och logga all ingående trafik, för att sedan successivt släppa på det vi vill.
block in log

# Blockera och logga "Bruteforce attacker" enlig nedanstående regel
block log quick from <bruteforce>  

# Blockera störande router snack från 24.0.0.0/3 som annars fyller log filen.
block in quick on $ext_if inet proto igmp all

# Blockera ej routbara nätverks adresser
block in log quick on $ext_if from $NoRouteIPs to any
block out log quick on $ext_if from any to $NoRouteIPs

block in quick from urpf-failed to any
block in on ! lo0 proto tcp to port 6000:6010
antispoof quick for { lo $int_if $ext_if }

# Öppna för ssh trafik från lokala nätverket
pass quick on $int_if inet proto tcp to port ssh

# Öppna för trafik från e-post klienterna på lokala nätverket
pass quick on $int_if inet proto { tcp, udp } to port $email

# Blockera "bruteforce attacker" på port 22. Justera frekvens efter behag
pass quick proto tcp from any to any port ssh flags S/SA keep state \
	(max-src-conn 15, max-src-conn-rate 5/3, overload <bruteforce> flush global))

# Blockera "bruteforce attacker" på dom tjänsterna vi har valt att öppna. Justera frekvens efter tycke och smak.
pass inet proto tcp from any to $localnet port $tcp_services flags S/SA keep state \
	(max-src-conn 100, max-src-conn-rate 15/5, overload <bruteforce> flush global)

# Öppna porter för dom tjänster vi vill köra. Definierat i macro ovan
pass in on egress inet proto tcp from any to (egress) port $tcp_services

# Öppna för ping
pass in inet proto icmp all icmp-type $icmp_types

# Underlätta för traceroute
pass out on $ext_if inet proto udp to port 33433 >< 33626

# Öppna för DNS och tidserver
pass quick inet proto { tcp, udp } to port $udp_services

# Tillåta all trafik in från lokala nätverket
pass in on $int_if

# Tillåta all trafik ut, och " Tro mig, i början vill du uppskatta detta. Senare kan det finjusteras."
pass out log all

 


 

Uppdatera kärna, installera port systemet och rekompilera kernel
För hämta filerna och sedan hålla dom uppdaterade, använder vi CVS
Först hämtar vi alla filererna för kärna, port systemet och X servern. Detta kan göras allt på en gång.

cd /usr 
export CVSROOT=anoncvs@anoncvs1.ca.openbsd.org:/cvs
cvs -d$CVSROOT up -Pd src ports xenocara

När trädet väl är på plats uppdaterar man sedan mapparna var för sig med följande kommandon.

cd /usr/src
export CVSROOT=anoncvs@anoncvs1.ca.openbsd.org:/cvs
cvs -d$CVSROOT up -Pd

Rekompilering av kernel

cd /usr/src/sys/arch/i386/conf
config GENERIC
cd ../compile/GENERIC
make clean && make
[...massor av output...]
make install


Rekompilering av kärnan

rm -rf /usr/obj/*
cd /usr/src
make obj
cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
cd /usr/src
make build

Rekompilering av X server

cd /usr/xenocara
rm -rf /usr/xobj/*
make bootstrap
make obj
make build

Uppdatera paket systemet

pkg_add -u

Och det var det. Om alla stegen har följts, sitter du nu med ett spillrans nytt, och friskt uppdaterat OpenBSD current system


Bind9
Nästa steg blir att sätta upp en enkel DNS Server för att säkerställa funktionen hos bl.a. Sendmail och serva det lokala nätverket
I vanlig ordning gör vi en säkerhetskopia först. Sedan redigerar vi.

cp /var/named/etc/named.conf /var/named/etc/named.conf.orig
		vi /var/named/etc/named.conf

Exempel named.conf

// Example file for a simple named configuration, processing both
		// recursive and authoritative queries using one cache.
		// Update this list to include only the networks for which you want
		// to execute recursive queries. The default setting allows all hosts
		// on any IPv4 networks for which the system has an interface, and
		// the IPv6 localhost address.
		//
		acl clients {
		localnets;
		::1;
		};
		
		options {
		allow-query { 127.0.0.1; 192.168.1/24; };
		allow-recursion { 127.0.0.1; 192.168.1/24; };
		forwarders { 195.54.122.200; 195.54.122.204; };
		listen-on { 127.0.0.1; 192.168.1.3; };
		listen-on-v6 { none; };
		version "Be Gone !";
		};
		
		//controls { };
		logging {
		category lame-servers { null; };
		};
		
		// Standard zones
		//
		zone "." {
		type hint;
		file "etc/root.hint";
		};
		
		zone "localhost" {
		type master;
		file "standard/localhost";
allow-transfer { localhost; }; };
zone "127.in-addr.arpa" { type master; file "standard/loopback";
allow-transfer { localhost; }; };
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" { type master;
file "standard/loopback6.arpa"; allow-transfer { localhost; }; };
// Master zones // //zone "myzone.net" { // type master; // file "master/myzone.net"; //}; // Slave zones // //zone "otherzone.net" { // type slave; // file "slave/otherzone.net"; // masters { 192.0.2.1; [...;] }; //}; zone "thorshammare.org" { type master; file "master/thorshammare.org"; allow-update { none; };
};
zone "1.168.192.in-addr.arpa" { type master; file "master/1.168.192";
allow-update { none; }; };
Zone fil exempel
Sparar man i /var/named/master enligt namnen i ovanstående exempel
 

thorshammare.org. 86400 IN SOA odin.thorshammare.org. root.odin.thorshammare.org. ( 1 10800 3600 6044800 86400 )		                                     
				86400 IN NS odin.thorshammare.org.		                       
				              
				      IN MX 30 odin.thorshammare.org.
thorshammare.org.           86400 IN A 83.227.225.121 odin.thorshammare.org. 86400 IN A 192.168.1.3
obah.thorshammare.org.   86400 IN A 192.168.1.10
www                              IN CNAME odin.thorshammare.org. ftp                                   IN CNAME odin.thorshammare.org.
in-addr.arpa exempel

1.168.192.in-addr.arpa. 
		86400 IN SOA odin.thorshammare.org. root.odin.thorshammare.org. ( 1 
		10800 3600 6044800 86400 )
                                         86400 IN NS odin.thorshammare.org.

3.1.168.192.in-addr.arpa.   86400 IN PTR odin.thorshammare.org.
10.1.168.192.in-addr.arpa. 86400 IN PTR obah.thorshammare.org.
En sista koll innan man restarter servern
För att kunna använda rndc server administrationsprogrammet behövs en nyckel som man kan skapa så här

rndc-confgen -a
För att checka named.conf inga felmeddelanden allt ok
named-checkconf 
/var/named/etc/named.conf
Lägg till följande i /etc/rc.conf.local
named_flags=""
Starta named
och kolla efter felmeddelanden i /var/log/messages
/etc/rc.d/named stop
/etc/rc.d/named start
för at kolla serverstatus
rndc status
för att restarta efter ändringar i konfigurations filerna
rndc 
reload

Sendmail konfigurerat med smarthost och masquerading
Sendmail är redan installerat och körande med lokala funktioner på OpenBSD 5.1
Mesta delen av dom Svenska Internet Operatörerna blockerar port 25 av vissa "tekniska" skäl, men är då så hyggliga att dom upplåter en av sina egna e-postservrar
för oss att använda. En så kallad 'smarthost'
Om så är fallet kan man göra följande för att få Sendmail till att fungera utanför det lokala nätverket.

Först den vanliga konfigurationen av filer i /etc/mail :

vi /etc/aliases
Aktivera dom rekommenderade aliaserna och vilka man annars vill. För att uppdatera databasen, avsluta med att köra

newaliases

För att säkerställa att Sendmail relayer för våran domän, redigera filen access och lägg till följande linje med Erat domännamn förstås, tabulator mellan orden.

thorshammare.org     RELAY

För att uppdatera databasen efter redigering

makemap hash /etc/mail/access < /etc/mail/access

Redigera om den finns, annars skapa filen 'local-host-names' lägg till datorerna på ditt lokala nätverk

thorshammare.org
odin.thorshammare.org
thor.thorshammare.org

Redigera om den finns, annars skapa filen 'relay-domains' lägg till ÍP adresserna för dom domäner du vill relya

thorshammare.org
192.168.1.0/24
192.168.1.
Skapa och anpassa en sendmail.cf fil
Till detta använder vi en redan färdig mall.
I vanlig ordning säkerhetskopierar vi original filerna innan vi börjar.

cp /etc/mail/localhost.cf /etc/mail/localhost.cf.orig 

cd /usr/share/sendmail/cf/ && cp openbsd-proto.mc thor.mc && vi thor.mc


Och klistra in e-postserveren från din Internetleverantör samt masquerade om Ni vill

define(`SMART_HOST',`smtp.myisp.com')dnl

MASQUERADE_AS(`thorshammare.org')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(`thorshammare.org')dnl

Skapa sendmail.cf filen, Du kan kalla den vad du vill. Vi har valt namnet Thor här efter en av våra servare.

m4 /usr/share/sendmail/m4/cf.m4 thor.mc > /etc/mail/thor.cf

Rediger /etc/rc.conf.local enlig nedan för att börja använda den nya thor.cf filen

sendmail_flags="-L sm-mta -C/etc/mail/thor.cf -bd -q30m"
Restart sendmail and VOILA!

kill -HUP `head -1 /var/run/sendmail.pid`

Och för att testa om allt fungerar :

echo "Hello, world" | mail -s "Hi" hasse49@hotmail.com ; tail -f /var/log/maillog

Installera Procmail
Procmail finns redan färdigt kompilerat

pkg_add -v procmail

ClamAV Antivirus Program och SpamAssassin antispam
ClamAV antivirus skanner finns i port systemet.
Se Tips & Tricks för lite info om hur man använder paketsystemet.
För att installera den senaste versionen inklusive clamav_milter.
pkg_add -v clamav
Säkerhetskopiera original filerna för senare referens
cp /etc/clamd.conf /etc/clamd.conf.orig
cp /etc/clamav-milter.conf /etc/clamav-milter.conf.orig
Redigera /etc/clamd.conf och /etc/clamav-milter.conf Fungerande versioner finns här Clamd.conf och här Clamav-milter

Skapa log filen och sätt korrekta rättigheter
touch /var/log/clamd.log
chown _clamav:_clamav /var/log/clamd.log
chmod 600 /var/log/clamd.log

Uppdatera clamav databasen

/usr/local/bin/freshclam
 
Installera SpamAssassin
pkg_add -v p5-Mail-SpamAssassin

Säkerhetskopiera /etc/mail/spamassassin/local.cf och redigera filen. Detta är Spamassassins konfigurationsfil.

cp /etc/mail/spamassassin/local.cf /etc/mail/spamassassin/local.cf.orig
vi /etc/mail/spamassassin/local.cf
 
Installera milter delen
pkg_add -v milter-spamd 
touch /var/log/milter-spamd
chmod 600 /var/log/milter-spamd
Redigera /etc/syslog.conf och lägg till
!milter-spamd
daemon.err;daemon.notice /var/log/milter-spamd

Man måste uppdatera SpamAssassin, innan man startar,  annars får man massor av felmeddelanden

/usr/local/bin/sa-update && /etc/rc.d/spamassassin reload

Redigera konfigurations filen för Sendmail som vi skapade ovan
 

cd /usr/share/sendmail/cf/ && vi thor.mc

och lägg till följande filter nästan längs ner i filen
 

FEATURE(local_procmail)

INPUT_MAIL_FILTER(`clmilter', `S=local:/var/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnl
define(`confMILTER_MACROS_EOM', `{msg_id}, {mail_addr}, {rcpt_addr}, i')dnl

INPUT_MAIL_FILTER(`milter-spamd', `S=unix:/var/spool/milter-spamd/sock, T=S:30s;R:2m')

för att aktivera ändringarna
 

m4 ../m4/cf.m4 thor.mc > /etc/mail/thor.cf

Lägg till följande linje i  rc.conf.local för att aktivera dom nya tjänsterna automatiskt vid uppstart
 

pkg_scripts="milter_spamd spamassassin clamav_milter clamd"

För att kolla om allt fungerar starta dom nya t jänsterna
 

/etc/rc.d/clamd start
/etc/rc.d/spamassassin start
kill `head -n1 /var/run/sendmail.pid`
echo "Hello, world" | mail -s "Hi" hasse49@hotmail.com ; tail -f /var/log/maillog

Kör gärna en manuell uppdatering av spamassassin med Debug växeln till för att se om några moduler fattas, och installera dom via CPAN
 

/usr/local/bin/sa-update -D
 
för att sätta upp cpan
 

cpan

När allt fungerar tillfredstillande, kan man uppdatera databas filerna via crontab
Uppdaterar ClamAV antivirus databasen 3 minuter över varje timme. ClamAV blir automatiskt varskodd vid nya uppdateringar och startar om.

03 * * * * /usr/local/bin/freshclam >/dev/null 2>&1

Kollar efter spamassassin uppdateringar klockan 03:05 varje natt och starter om tjänsten.

05 3 * * * /usr/local/bin/sa-update && /etc/rc.d/spamassassin reload >/dev/null 2>&1




SpamAssassin, Procmail och Bayes Filtrering
Global konfiguration görs i /etc/mail/spamassassin/local.cf

Filtrering "Sitewide"
Sett up en lite konservativ konfiguration tiill att börja med. Särskilt filtrering av spam. Börja med ett relativt högt värde på antalet hits, så får AWL och bayes databasen en chans att lära sig lite först. Börja gärna med 8.0 och sänk successivt efter en väcka utan för mycket falska positiver. 7.0, sedan 6.5 och slutligen 6.0 en vecka senare.

Lägg till följande i /etc/procmailrc för att be procmail att köra alla användares e-post genom spamc :
 

DROPPRIVS=yes
:0fw
| /usr/local/bin/spamc
:0:
* ^X-Spam-Status: Yes
in-x-spam
 
Delad whitelist och bayes databaser med autorapporterande adresser
Vi sätter upp 2 globala e-post adresser som all användare kan rapportera till för att hjälpa träna bayes filtret. Båda rapporterar automatiskt till Automatiska WhiteListan och Bayes databasen.
spam@thorshammare.org för konfirmerat mottagit spam i sina inboxar och särskilt viktigt, ham@thorshammare.org för felaktigt spam taggade e-post meddelanden.
Det är viktigt att man använder " bounce" metoden vid rapportering, och inte forwardar e-postmeddelanden, då avsändaradressen blir flaggad som spammare.

Skapa först den delade awl och whitelistdatabasen så allas e-post filter använder informationen vi tillför systemet.
adduser sharedspam
mkdir /home/sharedspam/.spamassassin/
chmod 755 /home/sharedspam
chmod 777 /home/sharedspam/.spamassassin/
touch /home/sharedspam/.spamassassin/user_prefs
chmod 644 /home/sharedspam/.spamassassin/user_prefs
touch /home/sharedspam/.spamassassin/auto-whitelist
chmod 666 /home/sharedspam/.spamassassin/auto-whitelist

Redigera /etc/mail/spamassassin/local.cf

Exempel på hur en fungerande /etc/mail/spamassassin/local.cf kan se ut :

# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################

# Add *****SPAM***** to the Subject header of spam e-mails
#
rewrite_header Subject *****SPAM*****

# Save spam messages as a message/rfc822 MIME attachment instead of
# modifying the original message (0: off, 2: use text/plain instead)
#
report_safe 1


# Set which networks or hosts are considered 'trusted' by your mail
# server (i.e. not spammers)
#
trusted_networks 192.168.1.


# Set file-locking method (flock is not safe over NFS, but is faster)
#
lock_method flock


# Set the threshold at which a message is considered spam (default: 5.0)
#
required_score 8.0


# Use Bayesian classifier (default: 1)
#
bayes_path /home/sharedspam/.spamassassin/bayes
auto_whitelist_path /home/sharedspam/.spamassassin/auto-whitelist
bayes_file_mode 777
auto_whitelist_file_mode 777

use_bayes 1


# Bayesian classifier auto-learning (default: 1)
#
bayes_auto_learn 1


# Set headers which may provide inappropriate cues to the Bayesian
# classifier
#
bayes_ignore_header ReSent-Date
bayes_ignore_header ReSent-From
bayes_ignore_header ReSent-Message-ID
bayes_ignore_header ReSent-Subject
bayes_ignore_header ReSent-To
bayes_ignore_header Resent-Date
bayes_ignore_header Resent-From
bayes_ignore_header Resent-Message-ID
bayes_ignore_header Resent-Subject
bayes_ignore_header Resent-To
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status

ok_locales en
ok_languages da en no sv

# Some shortcircuiting, if the plugin is enabled
#
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
#
# default: strongly-whitelisted mails are *really* whitelisted now, if the
# shortcircuiting plugin is active, causing early exit to save CPU load.
# Uncomment to turn this on
#
# shortcircuit USER_IN_WHITELIST on
# shortcircuit USER_IN_DEF_WHITELIST on
# shortcircuit USER_IN_ALL_SPAM_TO on
# shortcircuit SUBJECT_IN_WHITELIST on

# the opposite; blacklisted mails can also save CPU
#
# shortcircuit USER_IN_BLACKLIST on
# shortcircuit USER_IN_BLACKLIST_TO on
# shortcircuit SUBJECT_IN_BLACKLIST on

# if you have taken the time to correctly specify your "trusted_networks",
# this is another good way to save CPU
#
# shortcircuit ALL_TRUSTED on

# and a well-trained bayes DB can save running rules, too
#
# shortcircuit BAYES_99 spam
# shortcircuit BAYES_00 ham

endif # Mail::SpamAssassin::Plugin::Shortcircuit

Starta om Spamassassin

/etc/rc.d/spamassassin reload

Skapa kontona och e-postadresserna användarna ska rapportera ham och spam till
Vi sätter detta upp sådan att rapporterat spam uppdaterar online Razor, Pyzor, and DCC databaserna om man har det konfigurerat och uppdaterar båda locala AWL och bayes databasen, men rapporterat ham,
som jo är "riktiga" e-post meddelanden, av säkerhetsskäl bara uppdaterar dom lokala databaserna och inte lämnar vårt nätverk.

Det är viktigt att man använder " bounce" metoden vid rapportering, och inte forwardar e-postmeddelanden, då avsändaradressen blir flaggad som spammare.

adduser spamtrap
cd /home/spamtrap
ln -sf ../sharedspam/.spamassassin .spamassassin
mkdir mail .procmail
chown spamtrap:spamtrap mail .procmail

adduser hamtrap
cd /home/hamtrap
ln -sf ../sharedspam/.spamassassin .spamassassin
mkdir mail .procmail
chown hamtrap:hamtrap mail .procmail

Detta ska vi ha i  /home/spamtrap/.procmailrc :

SHELL=/bin/sh
PATH=/bin:/usr/bin
PMDIR=$HOME/.procmail
LOGABSTRACT=all
MAILDIR=$HOME/mail      #you'd better make sure it exists
LOGFILE=$PMDIR/proclog   #recommended
VERBOSE=off

#Spamassassin start

:0
* > 256000
toobigtoreport

:0c: spamassassin.lock
| /usr/bin/spamassassin -r -d -a

:0:
learned-spam

#Spamassassin end

Och detta ska vi ha i  /home/hamtrap/.procmailrc :

SHELL=/bin/sh
PATH=/bin:/usr/bin
PMDIR=$HOME/.procmail
LOGABSTRACT=all
MAILDIR=$HOME/mail      #you'd better make sure it exists
LOGFILE=$PMDIR/proclog   #recommended
VERBOSE=off

#Spamassassin start

:0
* > 256000
toobigtoreport

:0c: spamassassin.lock
| /usr/bin/sa-learn --ham --single --local

#:0:
#learned-ham

#Spamassassin end

Till Topps ^