User Tools

Site Tools


openbsd:spamd:spamd_config

Spamd beállítása

A spamd elindításához a /etc/rc.conf.local fájlba felvinni a megfelelő indító sort:

spamd_flags=

Ezzel azonban még csak azt értük el, hogy fut a spamd, de semmit sem csinál.

A csomagszűrőben be kell állítanunk, hogy a 25-ös porton bejövő, a spamd számára még ismeretlen smtp kapcsolatokat a spamd-hez irányítsuk. Más szükrelistás szűrők az smtp szerverbe épülve végzik a dolgukat, ezért itt kicsit zavaró lehet, hogy a csomagszűrő szintjén rendezzük a kapcsolatokat. Ha jobban belegondolunk ez előnyösebb, hiszen a kéretlen kapcsolatok így el sem jutnak az smtp szerverünkig, ennyivel is csökkentve rendszerünk felesleges terhelését. A spamd fenntart egy listát azókról az IP címekről, melyek bizonyították, hogy legitim források és átjukthatnak az smtp szerverig. Ezeket a címeket a csomagszűrő spamd-white táblájába tölti, azonban a tábla létezéséről nekünk kell gondoskodni, ezért hozzuk létre azt a /etc/pf.conf fájlban.

table <spamd-white> persist

A következő szabállyal a táblában még nem szereplő, vagyis a spamd számára vagy ismeretlen, vagy nem legitim forrásokat átiranyítjuk a spamd-be. Ez a szabály azt is magával vonja, hogy a legitim források eljutnak a levelező szerverünking.

rdr pass inet proto tcp from !<spamd-white> to $ext_if port smtp -> 127.0.0.1 port spamd

A spamd-white tábla karbantartásához a spamlogd alkalmazást használjuk. Indításához vegyük fel az alábbi sort a /etc/rc.conf.local fájlba.

spamlogd_flags="-I -l pflog1"

A spamlogd a pflog1-es interface-t fogja figyelni a 25-ös portra kapcsolódó IP címek után. A pflog0-t az egyéb, csomagszűrő által naplózott kapcsolatok kezelésére tartjuk fent, így nem keverednek a bejegyzések. A 25-ös portra bejövő, spamd-n átjutott kapcsolatok naplózását a pflog1-es interface-en a következő bejegyzéssel érhetjük el a /etc/pf.conf fájlban.

pass in quick log (to pflog1) on $ext_if inet proto tcp from any to $ext_if port 25 synproxy state

Most egy kicsit zavaró lehet, hogy a spamd tölti fel a spamd-white táblát vagy a spamlogd? Adott legitim IP-t először mindig a spamd teszi be a táblába. Mivel az ebben a táblában szereplő IP címekről érkező kapcsolatok elkerülik a spamd-t a továbbiakban (a korábbi rdr szabály) a spamd azt fogja hinni, hogy az adott géptől nem jön kapcsolat és ezért egy idő után (alapesetben kb. 1 hónap) törli a címet a fehérlistából, így a következő kapcsolat megint csúszni fog a szürkelistázás miatt. Itt jön képbe a spamlogd. A szürkelistás szűrőn átjutott kapcsolat minden egyes alkalommal eljut a csomagszűrő által használt pflog1-es interface-en keresztül a spamdlog-hez, ami ezt figyelve nem engedi törölni a legitim IP címeket a spamd-white táblából.

A spamd alapértelmezett beállításokkal szükrelistás és feketelistás szűrést csinál. A feketelistás szűréshez a tiltandó IP címeket a konfigurációs fájlban (/etc/mail/spamd.conf) meghatározott forrásokból szedi.

uatraps:\
      :black:\
      :msg="Your address %A has sent mail to a ualberta.ca spamtrap\n\
      within the last 24 hours":\
      :method=http:\
      :file=www.openbsd.org/spamd/traplist.gz

Az alapforrások a távolkeleti spammerek jelentős részét tiltják már csomagszűrő szinten, így ez már önmagában elég hatásos.

spamd[28281]: 41.217.66.4: disconnected after 554 seconds. lists: uatraps

A konfigurációs fájlban szereplő listák frissítéséről a spamd-setup alkalmazás gondoskodik. A rendszeres futtatásához vegyük fel az alábbi bejegyzést a crontab-ba.

0       *       *       *       *       /usr/libexec/spamd-setup

És végül csemegének beállíthatjuk a spamd naplózását is. A /etc/syslog.conf fájl elejére vegyük fel az alábbi sorokat.

!!spamd
daemon.err;daemon.warn;daemon.info              /var/log/spamd
!*
openbsd/spamd/spamd_config.txt · Utolsó módosítás: 2010/04/18 23:01 (külső szerkesztés)