Policyd-Weight Konfigurationsfehler? <solved>

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Policyd-Weight Konfigurationsfehler? <solved>

Post by pennywize »

Hallo,

auf meinem Etch Server läuft Postfix + Courier + policyd-weight. Letztgenanntes bereitet mir ein wenig Kopfzerbrechen. Es geht um diese Meldungen in der mail.log, offensichtlich werden alle Mails durchgelassen.

Code: Select all

postfix/policyd-weight[7861]: decided action=PREPEND X-policyd-weight: passed - too many local DNS-errors in list.dsbl.org lookups


Die momentane Konfiguration des Dienstes sieht so aus, hoffentlich kann mir einer von Euch erklären wo ein eventueller Fehler drin sein könnte.

Code: Select all

policyd-weight -d
policyd-weight version: 0.1.14 beta, CacheVer: 3
System: Linux xxx 2.6.23.9-grsec #1 SMP Tue Dec 11 00:20:59 CET 2007 i686 GNU/Linux
Perl version: 5.008008
Net::DNS version: 0.59
config: /etc/policyd-weight.conf

   $DEBUG        = 0;
   $REJECTMSG    = "550 Mail appeared to be SPAM or forged. Ask your Mail/DNS-Administrator to correct HELO and DNS MX settings or to get removed from DNSBLs";
   $REJECTLEVEL  = 1;

   $DEFER_STRING = 'IN_SPAMCOP= BOGUS_MX=';
   $DEFER_ACTION = '450';
   $DEFER_LEVEL  = 5;
   $DNSERRMSG         = '450 No DNS entries for your MTA, HELO and Domain. Contact YOUR administrator';
   $dnsbl_checks_only = 0;
   $LOG_BAD_RBL_ONLY  = 1;
   @dnsbl_score = (
    'dynablock.njabl.org',    3.25,          0,        'DYN_NJABL',
    'sbl-xbl.spamhaus.org',   4.35,       -1.5,        'SBL_XBL_SPAMHAUS',
    'bl.spamcop.net',         3.75,       -1.5,        'SPAMCOP',
    'dnsbl.njabl.org',        4.25,       -1.5,        'BL_NJABL',
    'list.dsbl.org',          4.35,          0,        'DSBL_ORG',
    'ix.dnsbl.manitu.net',    4.35,          0,        'IX_MANITU',
);
   $MAXDNSBLHITS  = 4;
   $MAXDNSBLSCORE = 16;
   $MAXDNSBLMSG   = '550 Your MTA is listed in too many DNSBLs';
   @rhsbl_score = (
    'multi.surbl.org',             4,        0,        'SURBL',
    'rhsbl.ahbl.org',              1.8,      0,        'AHBL',
    'dsn.rfc-ignorant.org',        3.2,      0,        'DSN_RFCI',
    'postmaster.rfc-ignorant.org', 0.1,      0,        'PM_RFCI',
    'abuse.rfc-ignorant.org',      0.1,      0,        'ABUSE_RFCI'
);
   $LOCKPATH          = '/tmp/.policyd-weight/';
   $SPATH             = $LOCKPATH.'/polw.sock';
   $MAXIDLECACHE      = 60;
   $MAINTENANCE_LEVEL = 5;
   $CACHESIZE       = 320;
   $CACHEMAXSIZE    = 480;
   $CACHEREJECTMSG  = '550 temporarily blocked because of previous errors';
   $NTTL            = 1;
   $NTIME           = 30;
   $POSCACHESIZE    = 320;
   $POSCACHEMAXSIZE = 480;
   $POSCACHEMSG     = 'using cached result';
   $PTTL            = 60;
   $DNS_RETRIES     = 5;
   $DNS_RETRY_IVAL  = 5;
   $MAXDNSERR       = 5;
   $MAXDNSERRMSG    = 'passed - too many local DNS-errors';
   $PUDP            = 0;
   $USE_NET_DNS     = 0;
   $IPC_TIMEOUT     = 2;
   @client_ip_eq_helo_score          = (1.5,       -1.25 );
   @helo_score                       = (1.5,       -2    );
   @helo_from_mx_eq_ip_score         = (1.5,       -3.1  );
   @helo_numeric_score               = (1.5,        0    );
   @from_match_regex_verified_helo   = (1,         -2    );
   @from_match_regex_unverified_helo = (1.6,       -1.5  );
   @from_match_regex_failed_helo     = (2.5,        0    );
   @helo_seems_dialup                = (1,          0    );
   @failed_helo_seems_dialup         = (2,          0    );
   @helo_ip_in_client_subnet         = (0,         -1.2  );
   @helo_ip_in_cl16_subnet           = (0,         -0.41 );
   @client_seems_dialup_score        = (3.75,       0    );
   @from_multiparted                 = (1.09,       0    );
   @from_anon                        = (1.17,       0    );
   @bogus_mx_score                   = (2.1,        0    );
   @random_sender_score              = (0.25,       0    );
   @rhsbl_penalty_score              = (3.1,        0    );
   $VERBOSE = 0;
   $ADD_X_HEADER        = 1;
   $DEFAULT_RESPONSE    = 'DUNNO default';
   $syslog_socktype = 'unix';
   $syslog_facility = "mail";
   $syslog_options  = "pid";
   $syslog_priority = "info";
   $syslog_ident    = "postfix/policyd-weight";
   $USER            = "polw";
   $GROUP           = "";
   $MAX_PROC        = 50;
   $MIN_PROC        = 3;
   $TCP_PORT        = 12525;
   $BIND_ADDRESS    = '127.0.0.1';
   $SOMAXCONN       = 1024;
   $CHILDIDLE       = 240;
   $PIDFILE         = "/var/run/policyd-weight.pid";
debug: using port 12526
debug: USER:  polw
debug: GROUP: polw
debug: issuing user:  root
debug: issuing group: root


Vielen Dank

mfg
Jasmin
Last edited by pennywize on 2007-12-23 14:37, edited 1 time in total.
Top

aubergine
RSAC
Posts: 475
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by aubergine »

Hallo Jasmin,

ein Ansatz wöre dass deine lokalen DNS Caches ( /etc/resolv.conf ) teilweise nicht erreichbar - oder zu langsam sind.
Top

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by pennywize »

Danke für den Hinweis, kann es mit einem Paketfilter zusammenhängen?
Die Einträge in der /etc/resolv.conf entsprechen denen meines Providers und kann mir nicht vorstellen, dass diese nicht erreichbar sind.
Habe per Iptables alle Ports bis auf die benötigten dicht gemacht, für policyd-weight ist testweise offen:

Code: Select all

...
$IPTABLES -A INPUT -p tcp --dport 12525 -j ACCEPT


mfg
Jasmin
Top

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by Roger Wilco »

Es sind DNS Fehler. Wieso sollte Port 12525 dabei eine Rolle spielen? Aber das ist schon OK, sonst könntest du von deinem System aus keinerlei Hostnamen auflösen.
Was liefert denn `dig 2.0.0.127.list.dsbl.org` auf deinem System zurück?
Top

aubergine
RSAC
Posts: 475
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by aubergine »

p-w muss die Nameserver auf UDP Port 53 erreichen können.

Ferner baut er für jeden Child Prozess eine feste Verbindung zu diesen Servern auf einem lokalen Client Port auf.

Beispiel:

child1: eth0:39122 zu nameserver1:53 UDP
child2: eth0:55782 zu nameserver1:53 UDP
child3: eth0:55782 zu nameserver1:53 UDP


Diese Verbindungen müssen möglich sein, wobei die lokalen Ports zufällig sind.

Das öffnen von Port 12525 dürfte dir also nix bringen da p-w standardmäßig nur auf localhost lauscht und auch über diesen die Verbindungen mit Postfix handelt.
Last edited by aubergine on 2007-12-23 01:24, edited 1 time in total.
Top

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by pennywize »

Roger Wilco wrote:Es sind DNS Fehler. ...
Was liefert denn `dig 2.0.0.127.list.dsbl.org` auf deinem System zurück?


Ja, es sieht so aus :(

Code: Select all

dig 2.0.0.127.list.dsbl.org
dig: parse of /etc/resolv.conf failed


hmmmm, woran könnte das jetzt liegen?

Code: Select all

hostname -i|-a|-f

liefert korrekte Ergebnisse mit Ausnahme vom NIS:

Code: Select all

hostname -y
(none)


Kann mir nicht vorstellen daß das wegen dem NIS so sein könnte. Einen lokalen DNS Server hab ich nicht drauf.

@Aubergine
Auch dir vielen Dank für die Erklärung
Top

sledge0303
RSAC
Posts: 767
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by sledge0303 »

Ich geh mal blind auf eine Wette ein... in deiner resolv.conf steht entweder 'search' gar nicht drin oder als falscher Wert...

zum Bleistift sollte das helfen:

Code: Select all

search localhost oder
search localhost.localdomain
Top

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by pennywize »

sledge0303 wrote:Ich geh mal blind auf eine Wette ein... in deiner resolv.conf steht entweder 'search' gar nicht drin oder als falscher Wert...

zum Bleistift sollte das helfen:

Code: Select all

search localhost oder
search localhost.localdomain


:oops:
Ja, die Sache mit der Auflösung stimmt jetzt, aber in der mail.log noch immer das selbe:

Code: Select all

dig 2.0.0.127.list.dsbl.org

; <<>> DiG 9.3.4 <<>> 2.0.0.127.list.dsbl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24963
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 9, ADDITIONAL: 9

;; QUESTION SECTION:
;2.0.0.127.list.dsbl.org.       IN      A

;; ANSWER SECTION:
2.0.0.127.list.dsbl.org. 718    IN      A       127.0.0.2

;; AUTHORITY SECTION:
dsbl.org.               42577   IN      NS      remote2.easydns.com.
dsbl.org.               42577   IN      NS      ns2.easydns.com.
dsbl.org.               42577   IN      NS      ns2.mydyndns.org.
dsbl.org.               42577   IN      NS      ns3.dnspark.com.
dsbl.org.               42577   IN      NS      ns3.mydyndns.org.
dsbl.org.               42577   IN      NS      ns4.dnspark.com.
dsbl.org.               42577   IN      NS      ns4.mydyndns.org.
dsbl.org.               42577   IN      NS      ns5.mydyndns.org.
dsbl.org.               42577   IN      NS      remote1.easydns.com.

;; ADDITIONAL SECTION:
ns2.easydns.com.        114399  IN      A       209.200.151.4
ns2.mydyndns.org.       17661   IN      A       204.13.249.82
ns3.dnspark.com.        17872   IN      A       66.98.161.195
ns3.mydyndns.org.       69356   IN      A       204.13.250.82
ns4.dnspark.com.        17874   IN      A       209.160.66.110
ns4.mydyndns.org.       4776    IN      A       213.155.150.206
ns5.mydyndns.org.       32545   IN      A       203.62.195.76
remote1.easydns.com.    114399  IN      A       209.200.131.4
remote2.easydns.com.    114399  IN      A       205.210.42.19

;; Query time: 2 msec
;; SERVER: 213.186.33.99#53(213.186.33.99)
;; WHEN: Sun Dec 23 12:08:07 2007
;; MSG SIZE  rcvd: 399


Schicke ich nun eine Mail an einen Mailaccount:

Code: Select all

postfix/policyd-weight[2705]: decided action=PREPEND X-policyd-weight: passed - too many local DNS-errors in list.dsbl.org lookups


Aufgelöst wird auch diese Adresse...

Code: Select all

dig list.dsbl.org

; <<>> DiG 9.3.4 <<>> list.dsbl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25025
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;list.dsbl.org.                 IN      A

;; AUTHORITY SECTION:
list.dsbl.org.          5       IN      SOA     c.list.ns.dsbl.org. admin.dsbl.org. 1198408189 600 300 86400 5

;; Query time: 14 msec
;; SERVER: 213.186.33.99#53(213.186.33.99)
;; WHEN: Sun Dec 23 12:10:58 2007
;; MSG SIZE  rcvd: 83


Woran könnte es noch liegen?

So sieht meine /etc/resolv.conf aus

Code: Select all

cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver 91.x.y.z    | meine externe IP
nameserver 213.186.33.99
search localhost.localdomain
Top

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by oxygen »

Betreibst du auch selbst einen DNS Resolver auf deinem Server? Dann reicht auch 127.0.0.1, die externe IP macht wenig Sinn.
Ansonsten solltest du dort nur die DNS Server des Providers eintragen.
Top

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by flo »

Du sagtest vorhin, Du hast keinen DNS auf der Kiste - was soll dann auf localhost/127.0.0.1 antworten? Auch den search über localhost.localdomain kannst Du Dir dann schenken, weil bei einem externen Resolver der localhost eine ganz andere Kiste ist.

In Zusammenhand mit policyd-weight oder Ähnlichem würde ich zumindest einen caching-bind darauf ansetzen - die externen Anfragen kosten zuviel Zeit.

Danach bitte Postfix und alle beteiligten Dienste anhalten und starten.
Top

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: Policyd-Weight Konfigurationsfehler? <solved>

Post by pennywize »

Danke Euch allen für die Hilfe. Problem gelöst, hab es jetzt wie von Flo beschrieben umgesetzt:

Code: Select all

postfix/policyd-weight[2691]: weighted check:  NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .$DOMAIN.
Top