Notice: query (INSERT INTO lemat_stats_browser (day,browser,ilosc,internal) VALUES ('2024-11-21','Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',1,'2')) failed at /home/lemat/lemat.priv.pl/stats.php:151: Array ( [0] => 22001 [1] => 1406 [2] => Data too long for column 'browser' at row 1 ) in /home/lemat/lemat.priv.pl/panel_adm/dbclass.inc.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at /home/lemat/lemat.priv.pl/panel_adm/dbclass.inc.php:15) in /home/lemat/lemat.priv.pl/stats.php on line 174
Spam a rekordy MX - Lemat, strona prywatna
Lemat, strona prywatna

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):
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 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" {
...
}
acl igornets {
        193.252.22.0/23; 80.12.242.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.106.0.0/16; 216.254.95.2;
        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; 62.161.0.0/21;
        209.191.129.1/32; 209.191.129.65/32; 207.228.225.4/32; 66.36.226.8/32; 209.160.56.15/32; 209.160.56.4/32; 207.228.249.204/32; 66.36.226.4/32; 208.69.32.0/21;
        119.46.241.4/32;164.124.101.0/24; 204.74.96.0/21; 82.144.192.0/24; 93.73.0.0/17; 203.119.8.106; 80.12.2.0/28; 61.220.0.0/13; 208.67.216.0/21; 202.96.209.0/24;
        74.116.88.0/22;
# 193.252.22.0/23 orange,
# 80.12.242.0/24 orange,
# 168.95.0.0/16 chinanet 
# 61.140.11.0/24 chinanet,
# 210.21.4.133 chinanet, 
# 216.254.95.2 dns.nyc1.speakeasy.net,
# 222.221.0.0/24 chinanet,
# 219.149.194.0/24 chinanet,
# 202.106.0.0/16 chinanet
# 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
# 62.161.0.0/21 oleane.fr
# ns1.nyc.pnap.net has address 209.191.129.1
# ns2.nyc.pnap.net has address 209.191.129.65
# 66.36.226.4 ns1.superb.net
# 209.160.56.15 ns2.superb.net
# 66.36.226.8 ns3.superb.net 
# 207.228.225.4 ns4.superb.net
# 209.160.56.4 ns5.superb.net
# 207.228.249.204 ns6.superb.net
# 208.69.32.0/21 opendns.com
# 119.46.241.4 119-46-241-4.static.asianet.co.th.
# bora.net 164.124.101.0/24
# 204.74.96.0 - 204.74.108.0 ultradns.net
# 82.144.192.0/24 volia.net
# 93.73.0.0/17 volia.net  
# 203.119.8.106 nscache1.vnnic.net.vn
# 80.12.2.0/28 orange
# 61.220.0.0/13 hinet
# 208.67.216.0/21 opendns.com
# 202.96.209.0/24 chinanet  
# 74.116.88.0/22 verticalresponse
};

view "ajax" {
        match-clients { igornets; };
        recursion no;
        allow-query { none; };
        allow-transfer { none; };
        allow-notify { none; };

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

powyższy match-clients{} / acl {} 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 chikor.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ść.

Trzeba pamiętać, że powyższy trick należy wykonać na wszystkich serwerach DNS dla danej domeny (primary+secondary). Oczywiście serwer secondary nie będzie ściągał updejtów do tej specjalnej strefy (rozwiązanie jest, ale nietrywialne).

Data utworzenia : 2008-08-25, data aktualizacji :2010-09-22

Skomentuj ten tekst

Protected by spf
[Nospam-PL.NET]
Seti@Home
www.php.net
© Lemat 2004 - ∞