Lemat, strona domowa

Spam a rekordy MX i A

Na początku proszę się zapoznać z artykułem konfiguracja binda.

W jaki sposób można się pozbyć spamu z określonych sieci/krajów? Na kilka sposobów (przedstawię to na przykładzie moich ulubionych: Chin i Korei):
  • można wziąć zakresy IP z jakiejś publicznie dostępnej listy i wrzucić do postfixa do mapy cidr i zrobić check_client_access
  • można te same zakresy wrzucić do własnego RBLa i oczywiście reject_rbl_client
  • można wrzucić je do iptables łącznie z -j DROP, tutaj przydaje się słowo kluczowe "ipset"
Pierwsze dwa sposoby są bardzo kulturalne - nadawca otrzymuje stosowny komunikat o przyczynie odrzucenia. Trzeci sposób jest już mniej kultralny, zwłaszcza jak zamiast -j DROP użyjemy -j TARPIT.
  • można też odpowiednio skonfigurować serwery DNS, tak aby w tamtym kierunku odpowiadały, że "nie ma takiego serwera". Skoro nie ma serwera to nie ma gdzie wysyłać spamu, prawda?
Można utworzyć w bindzie specjalny "view" (widok) i umieścić go pomiedzy "internal" a "external". W tym widoku w dyrektywie match-clients{} należy umieścić serwery DNS pełniące rolę pośrednika dla użytkowników domowych lub serwerów poczty rozsiewających spam (pierwsze 2 wpisy dotyczą serwerów orange.fr z których ICIC rozsiewa spam) - chodzi o Chiński odpowiednik polskich serwerów tepsy 194.204.152.34, 194.204.159.1.

view "internal" {
...
}
view "ajax" {
        match-clients { 193.252.22.0/23; 80.12.242.0/24; 213.228.0.0/24; 168.95.0.0/16; 61.140.11.0/24; 210.21.4.133; 222.221.0.0/24; 219.149.194.0/24; 202.101.98.55; 61.167.3.2; 67.18.150.114; 84.14.96.0/24; 209.200.0.0/18; 71.85.140.3; 71.42.191.146; 202.106.0.0/16; 216.171.192.0/19; 61.220.4.0/24; 121.167.11.0/24; 202.131.30.0/24; 211.195.237.0/24; 221.164.34.0/24; 221.3.131.0/24; 221.6.4.0/24; 202.101.172.0/24; 202.102.224.0/24; };
# 193.252.22.0/23 orange,
# 80.12.242.0/24 orange,
# 213.228.0.0/24 proxad,
# 168.95.0.0/16 chinanet
# 61.140.11.0 chinanet,
# 210.21.4.133 chinanet,
# 222.221.0.0/24 chinanet,
# 219.149.194.0/24 chinanet,
# 202.101.98.55 dns.fz.fj.cn.
# 61.167.3.2 china
# 67.18.150.114 websitewelcome
# 84.14.96.0/24 colt france
# 209.200.0.0/18 webair
# 71.85.140.3 charter
# 71.42.191.146 mail.ats-engineers.com
# 202.106.0.0/16 chinanet
# 216.171.192.0/19 reliablecontact
# 61.220.4.0/24 hinet.net
# 121.167.11.0/24 korea
# 202.131.30.0/24 korea
# 211.195.237.0/24 korea
# 221.164.34.0/24 korea
# 221.3.131.0/24 china
# 221.6.4.0/24 china
# 202.101.172.0/24 china
# 202.102.224.0/24 china
        recursion no;
        allow-query { any; };
        allow-transfer { none; };
        allow-notify { none; };

        zone "lemat.priv.pl" {
        type master;
        notify no;
        file "ajax.lemat.priv.pl";
        };
};
view "external" {
...
}

powyższy match-clients{} zawiera serwery chińskie, koreańskie, serwery orange.fr i kilka innych z których nie życzę sobie otrzymywać spamu - dla swoich potrzeb musicie odpowiednio zmodyfikować.

plik ajax.lemat.priv.pl zawiera:

$TTL 86400
@       IN      SOA     ns1.lemat.priv.pl. root.lemat.priv.pl.  (
                        2008080400 ; Serial
                        43200      ; Refresh 12h
                        86400      ; Retry 1 day
                        604800     ; Expire 1 week
                        86400 )    ; Minimum 1 day

        86400   IN      NS      ns1
        86400   IN      NS      ns2
        86400   IN      TXT     "v=spf1 -all"
*               IN      TXT     "v=spf1 -all"

ns1     86400   IN      A 79.190.106.114
ns2     86400   IN      A 83.17.15.82

www     86400   IN      A 79.190.106.114

jak widać powyżej nie zawiera on ani wpisu MX dla domeny lemat.priv.pl ani A dla hosta lemat.priv.pl. Dzięki tej konfiguracji moje serwery odpowiedają na zapytania DNS NXDOMAIN i ilość spamu (a raczej połączeń) z Chin i Korei zdecydowanie się zmniejszyła.

Ten sposób jest o tyle fajny, że do naszego serwera poczty nie docierają w ogóle połączenia z tych krajów. Co ma pewne znaczenie w "godzinach szczytu".

Można też zrobić z tej konfiguracji inny bajer - skierować rekord MX na inne IP, gdzie będzie czekał odpowiednio "podkręcony" spamassassin.

W jaki sposób zdobyłem te adresy / zakresy IP? Wziąłem logi binda, wyciągnałem z nich adresy IP które się pytały o MX mojej domeny i dla każdego takiego adresu IP sprawdziłem revDNS oraz sprawdziłem go we własnym RBLu chiikor.rbl.tld. Jeżeli pasował - dopisywałem do match-clients{}. Oczywiście lista nie jest kompletna - są tam tylko te adresy IP, które u mnie wykazywały największą aktywność.
Data utworzenia : 2008-08-25, data aktualizacji :2008-10-13
Skomentuj ten tekst
Protected by spf
[Nospam-PL.NET]
UWAGA lisy roznoszą wściekliznę!
© Lemat 2004 - ∞ engine:Lemat
info@seminar.pl.ua przedstawicielstwo@tiscali.it