View Full Version : [HowTo] Install Greylisting with Plesk and Qmail
ClausVB
29th January 2007, 10:40 AM
I installed Greylisting in 2006. I have translated Brent Meshier HowTo: Adding Greylisting support to qmail on Plesk 8 (http://meshier.com/2006/09/18/adding-greylisting-support-to-qmail-on-plesk-8/) into german.
deutsche Uebersetzung: Greylisting mit Plesk und Qmail (http://clausvb.de/doku_greylisting.htm)
I tested it on:
Plesk: 8.0
SuSE: 10.1
Kernel: 2.6.13-15.11-default (installed by strato.de)
There some small mistakes in Brent's guide. He uses three different users to access MySQL. I fixed this in my translation. But there are major bugs in his Tarball. I fixed some of them.
Updates
Bugfix 2007-09-22: »error: conflicting types for 'write' readwrite.h:5: error: previous declaration of 'write' was here
make: *** [qmail-pw2u.o] Error 1«
Bugfix 2007-08-16: Fixed »warning: pointer targets in initialization differ in signedness«
Bugfix 2007-08-03: Fixed »warning: conflicting types for built-in function "malloc"«
Bugfix 2007-07-24: Fixed »warning: pointer/integer type mismatch in conditional expression«
2007-07-22: Tarball 1.05 (http://dl.clausvb.de/view_file.php?id=21) released
Bugfix 2007-07-15: Created missing "ssl.lib"
Bugfix 2007-06-23: Fixed »warning: conflicting types for built-in function "puts"«
Bugfix 2007-06-02: Fixed »return type of `main' is not `int'« Changed the installation guide: September 22, 2007
Here is a short installation guide, after I installed "mysql-devel" and "openssl-devel" with YaST. Create backups first!
Download qmail-1.05_greylisting_plesk8.tar.gz (http://dl.clausvb.de/view_file.php?id=21) and copy it to "/usr/src".
strato:~ # cd /usr/src
strato:/usr/src # tar xvfz qmail-1.05_greylisting_plesk8.tar.gz
qmail-1.05/
qmail-1.05/BLURB
qmail-1.05/BLURB2
qmail-1.05/BLURB3
(...)
qmail-1.05/qmail-smtpd.c.rej
qmail-1.05/qmail-spp.o
vi "local_scan.c" and change defaults:
strato:/usr/src # cd qmail-1.05
strato:/usr/src/qmail-1.05 # vi local_scan.c
---
#define MYSQLHOST "localhost"
#define MYSQLUSER "greylist"
#define MYSQLPASS "topSecret"
#define MYSQLDB "qmail"
#define BLOCK_EXPIRE 5 /* minutes until email is accepted */
#define RECORD_EXPIRE 1500 /* minutes until record expires */
#define RECORD_EXPIRE_GOOD 36 /* days until record expires after accepting email */
---
Edit "qmail.sql", create database and table "relaytofrom":
strato:/usr/src/qmail-1.05 # vi qmail.sql
strato:/usr/src/qmail-1.05 # mysql -u admin -p < qmail.sql
Enter password:
strato:/usr/src/qmail-1.05 #
Check your installation:
strato:/usr/src/qmail-1.05 # mysql -u admin -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8974 to server version: 4.1.13
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE mysql;
Database changed
mysql> SELECT User, Password FROM user WHERE User = 'greylisting';
+-------------+-------------------------------------------+
| User | Password |
+-------------+-------------------------------------------+
| greylist | *930DAB011CE31AB33910A8A1F011CE98AA9D40FB |
+-------------+-------------------------------------------+
1 row in set (0.00 sec)
mysql> SHOW COLUMNS FROM qmail.relaytofrom;
+----------------+-----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------------------+------+-----+---------------------+----------------+
| id | bigint(20) | | PRI | NULL | auto_increment |
| relay_ip | varchar(16) | YES | MUL | NULL | |
| mail_from | varchar(255) | YES | MUL | NULL | |
| rcpt_to | varchar(255) | YES | MUL | NULL | |
| block_expires | datetime | | | 0000-00-00 00:00:00 | |
| record_expires | datetime | | | 0000-00-00 00:00:00 | |
| blocked_count | bigint(20) | | | 0 | |
| passed_count | bigint(20) | | | 0 | |
| aborted_count | bigint(20) | | | 0 | |
| origin_type | enum('MANUAL','AUTO') | | | MANUAL | |
| create_time | datetime | | | 0000-00-00 00:00:00 | |
| last_update | timestamp | YES | | CURRENT_TIMESTAMP | |
+----------------+-----------------------+------+-----+---------------------+----------------+
12 rows in set (0.00 sec)
mysql> quit
Bye
Use "install.sh" to check for missing RPMs and execute "make":
strato-server-germany:/usr/src/qmail-1.05 # ./install.sh
( cat warn-auto.sh; \
echo CC=\'`head -1 conf-cc`\'; \
echo LD=\'`head -1 conf-ld`\' \
) > auto-ccld.sh
cat auto-ccld.sh make-load.sh > make-load
(...)
./load spfquery spf.o ip.o ipme.o ipalloc.o strsalloc.o \
now.o dns.o datetime.a stralloc.a alloc.a str.a substdio.a \
case.a error.a fs.a `cat dns.lib` `cat socket.lib`
###################################
'make' finished. Please check for critical errors!
###################################
Most warnings are ok, but it's better to take a closer look and google all warnings and errors.
Afterwards I activated CATCH-ALL for my domain. You should send some short messages to your (mail)accounts. After a short while you should get:
strato-server-germany:~ # tail /tmp/greylist_dbg.txt
---
protocol = notneeded4qmail increase at blindsz.com
increase at blindsz.com -> cloidtd at clausvb.de (62.227.194.124) Doesn't Exists Block
---
protocol = notneeded4qmail Scott at blueskyimages.co.uk
Scott at blueskyimages.co.uk -> christo at clausvb.de (86.196.215.34) Doesn't Exists Block
---
strato-server-germany:~ #
Done! Greylisting is working! My mails from "Yahoo -> clausvb.de -> Gmail" are greylisted within in seconds and successfully delivered in about 7 minutes. (Unknown providers like "xemail.de" need about 45 to 60 minutes.)
I activated CATCH-ALL to get a lot of SPAM. If you have a new server, I suggest you send a lot of mails from different servers (GMX, hotmail, GMAIL, Yahoo, etc.) to your new domain.
Best regards,
Claus
ClausVB
4th June 2007, 08:22 AM
Please make backups of all your qmail binaries, because I somehow managed to change the file permissions or some whitelist entries had the following result:
my_mail at my_domain.de
SMTP error from remote mail server after end of data:
host my_domain.de [81.163.183.209]: 554 mail server permanently rejected message (#5.3.0)
This reply was sent to all senders and every mail address on my system delivered this error.
Only solution: New server installation. Deleting everything, new install using Plesk-Backup to get everything back online.
So be careful and use Greylisting at your own risk.
Regards,
Claus
ClausVB
6th June 2007, 07:43 PM
I fixed some bugs, which related in errors:
./compile spfquery.c
spfquery.c: In function `main'
spfquery.c:30: warning: incompatible implicit declaration of built-in function strdup
spfquery.c:24: warning: return type of `main' is not `int'
Download qmail-1.04_greylisting_plesk8.tar.gz (http://dl.clausvb.de/view_file.php?id=21)
Regards,
Claus
ClausVB
8th June 2007, 07:38 AM
I found an old post by Brujo:
Originally posted by Brujo
as i understud it has to be implemented in the local_scan.c but i am not eable to find out how, or is it in this version not implemented. So the question is how / where to get a local_scan.c that makes me eable to whitelist a sender domain by name? This is not possible (without knowing C very, very well). All White- and Blacklist entries are working with MySQL. See
Brent Meshier: Using Whitelist & Blacklist with Greylisting (http://meshier.com/2006/12/20/using-whitelist-blacklist-with-greylisting/)
for all examples.
Whitelist by IP
INSERT INTO relaytofrom (relay_ip, mail_from, rcpt_to, block_expires, record_expires, origin_type, create_time)
VALUES ('147.202.34.223', NULL, NULL, NOW(), '2099-12-31 23:59:59', 'MANUAL', NOW())
Blacklist Subnet
INSERT INTO relaytofrom (relay_ip, mail_from, rcpt_to, block_expires, record_expires, origin_type, create_time)
VALUES ('147.202.34', NULL, NULL, '2099-12-31 23:59:59', '2099-12-31 23:59:59', 'MANUAL', NOW())
Blacklist Sender Domain
INSERT INTO relaytofrom (relay_ip, mail_from, rcpt_to, block_expires, record_expires, origin_type, create_time)
VALUES (NULL, 'spammer.com', NULL, '2099-12-31 23:59:59', '2099-12-31 23:59:59', 'MANUAL', NOW())
As you can see Blacklisting is working for domains, but Whitelist not. It wouldn't be too hard though, to see which IP address is used and to whitelist them. Even big ISPs are using only 5 to 10 IPs for Mail-Relays (perhaps GMAIL, GMX and AOL are using more ...). My advice: Whitelist them all!
Regards,
Claus
Lonesome Walker
18th June 2007, 01:31 PM
gibbed dat auch für Debian :D
ClausVB
18th June 2007, 06:07 PM
Wenn es Provider gibt, die Debian, Plesk und qmail einsetzen ... dann ja.
Gruß
Claus
Lonesome Walker
19th June 2007, 01:58 AM
Und wo krieg' ich dann die gepatchten Files her?
(Source wo mit wget suagen?)
Obrige Anleitung is ja nur für SuSe, das ich persönlich verabscheue.
Die Pakete heißen unter Debian ebenfalls nicht so, aber ähnlich ;)
Außerdem müßte man bei Debian im Source ein paar Pfade anders setzen...
Ich hab' halt irgendwie keine Lust, ein funktionierendes Debian, das ich eh' schon mit PLESK 8 zwangsverseuchen mußte, jetzt noch vollends durch eine nicht funktionierende qmail-Patch-Aktion zu killen.
Hoffe, das ist verständlich :p
Danke
ClausVB
20th June 2007, 04:45 AM
Der Patch von Brent ist tauglich f?SuSE
- Fedora Core 5
wie die Anleitung von TJ (http://virpus.com/forum/viewtopic.php?p=193) beweist.
Außerdem müsste man bei Debian im Source ein paar Pfade anders setzen... Das musst Du dann selber machen. Denn wenn der "make" oder die erstellten Binaries aufgrund von Debian-Strukturen nicht funktionieren, könnte es Probleme geben.
Der programmierte C-Code ist alles andere als sauber (viele Warnings). Du hast also keine Sicherheit, dass Dein System danach noch läuft.
Gruß
Claus
ClausVB
6th August 2007, 06:48 PM
Updates
Bugfix 2007-08-03: Fixed »warning: conflicting types for built-in function "malloc"«
Bugfix 2007-07-24: Fixed »warning: pointer/integer type mismatch in conditional expression«
2007-07-22: Tarball 1.05 (http://dl.clausvb.de/view_file.php?id=21) released
Bugfix 2007-07-15: Created missing "ssl.lib"
Bugfix 2007-06-23: Fixed »warning: conflicting types for built-in function "puts"«
Bugfix 2007-06-02: Fixed »return type of `main' is not `int'«
Icke
3rd September 2007, 01:38 PM
Hallo,
also gut dann nochmal auf diesem Wege :), hatte irgendwie schon geahnt das du streng sein würdest.
Also, ich habe deine Installationsanleitung Schritt für Schritt befolgt und der einzige Fehler den ich am Anfang gemacht habe, war folgender.
1. Datenbank anlegen per phpmyadmin UND KEIN Passwort für meinen user 'greylisting' einstellen
2. local_scan.c umschreiben MIT Passwort drin, von dem ich DACHTE ich hätte es auch für meinen user 'greylisting' eingestellt. Dann den ./install.sh (make) ausführen.
3. Im anschluss habe ich meinen fehler bemerkt, per phpmyadmin für meinen user 'greylisting' das pw wie im local_scan.c eingestellt.
4. Den cron-job eingestellt und getestet. Das skript läuft ohne zu meckern durch.
Nun scheint noch alles zu funktionieren, Mails können verschickt und empfangen werden, Spam kommt allerdings nach wie vor und die Datenbank füllt sich nicht.
Hoffe du kannst mir helfen (und es liegt nicht an meinem kleinen Fehler zu Anfang) und schonmal vielen Dank!
Viele Grüße
Benjamin
P.S.: Plesk 8.2.0 mit SUSE Enterprise
ClausVB
3rd September 2007, 06:12 PM
Theoretisch musst Du eigentlich nur neu kompilieren und die Dateien neu kopieren.
Wichtig ist, dass Du vor dem Kompilieren, dass eingegeben Passwort testest und diese Kennung + Passwort dann in die "local_scan.c" einträgst und neu kompilierst.
Cronjob bitte erst einmal abschalten, bis sich die DB füllt.
Noch ein Wort zum streng sein: Ich helfe freiwillig. Sobald Du anfängst, mir Geld zu bezahlen, kannst Du die Bedingungen bestimmen. Vorher bestimme ich, wie und wo ich anderen Menschen helfe.
Siehe auch
Fragen richtig stellen (http://lugbz.org/documents/smart-questions_de.html)
Gruß
Claus
Icke
4th September 2007, 02:50 AM
Originally posted by ClausVB
Noch ein Wort zum streng sein: Ich helfe freiwillig. Sobald Du anfängst, mir Geld zu bezahlen, kannst Du die Bedingungen bestimmen. Vorher bestimme ich, wie und wo ich anderen Menschen helfe.
Klar, dazu hast du natürlich jedes Recht! Aber versuchen kann manns ja mal ;). Ich werd das Ganze demnächst ausprobieren. Im Moment fasse ich den Server lieber nicht an, sind grad völlig unterbesetzt und wenn was ausfällt bin ich dran...
Auf jeden Fall nochmal vielen Dank und Gruß
Benjamin
zooming
4th September 2007, 05:10 PM
Try SpamDyke.
Doesn't need to recompile qmail, you just need to change the Xinetd script that starts smtp.
http://www.spamdyke.org
Brujo
9th September 2007, 11:33 AM
Hi Claus,
i tried to compile your latest Tarball but it stops with an error:
./compile qmail-pw2u.c
In file included from qmail-pw2u.c:21:
/usr/include/unistd.h:325: error: conflicting types for âreadâ
readwrite.h:4: error: previous declaration of âreadâ was here
/usr/include/unistd.h:331: error: conflicting types for âwriteâ
readwrite.h:5: error: previous declaration of âwriteâ was here
make: *** [qmail-pw2u.o] Error 1
Suse 10.1 / 64
i allready changed the 2 entrys from /usr/lib -> /usr/lib64
grep -cv '\..\{1,12\}$\|conf-\|make-\|Makefile\|warn-\|[[:upper:]].$'
30
any hint ?
thanks
Brujo
ClausVB
9th September 2007, 05:00 PM
Edit "Makefile" line 804:
Change
qmail-pw2u qmail-qread qmail-qstat qmail-tcpto qmail-tcpok \
to
qmail-qread qmail-qstat qmail-tcpto qmail-tcpok \
Does this work?
It's just a workaround, until I find the real error.
Best regards,
Claus
Brujo
10th September 2007, 03:39 AM
Hi Claus,
i have to delete also qmail-qmqpd wich have the same error. after this it works...
BTW. it seems SWsoft has updatet the source package with more patches. Which Source do you use for your Version ?
with best regards
Brujo
ClausVB
12th September 2007, 03:28 AM
The patches which Brent (http://meshier.com/2006/09/18/adding-greylisting-support-to-qmail-on-plesk-8/) used. I did only bugfixes and cleared warnings.
Please post a link to the patches. I will try to use them and release a new version.
Best regards,
Claus
Brujo
12th September 2007, 01:20 PM
Knowledge Base (http://kb.swsoft.com/en/1161)
Download Patches (http://kb.swsoft.com/attachments/1161/qmail_patches.tar.gz)
Brujo
ClausVB
12th September 2007, 02:46 PM
Thanks.
I am reading the source code right now. There is more than one Makefile ... looks more complicated than I thought.
Regards,
Claus
Icke
17th September 2007, 01:25 PM
Hi,
hab grad nochmal neu kompilliert, es liegt definitiv nicht am passwort. Weder fehler noch warnungen tauchen auf. Emailen (empfangen/senden) scheint noch zu funktionieren, aber keine Filterung, Datenbank füllt sich nicht. Keine Ahnung was los ist :/
Gruß
Benjamin
ClausVB
17th September 2007, 03:45 PM
Originally posted by Icke hab grad nochmal neu kompilliert, es liegt definitiv nicht am passwort.
Wenn Du die "install.sh" aufrufst, was sind die letzten 20 Zeilen?
Gruß
Claus
Icke
18th September 2007, 05:58 AM
Hab das Problem gefunden. Habe die qmail DB über phpmyadmin erstellt. Mich dann wie in deiner Anleitung per Konsole eingeloggt und ausprobiert ob ich Zugriff habe mit meinem user "greylisting". Lief alles soweit gut. Die Datenbank hat sich aber trotzdem nicht gefüllt. Habe dann unter Plesk die DB nochmal angelegt und zwar extra für meine Domain also Domains->mydomain.com->Databases. Damit liefs dann plötzlich. Anscheinend muss also die DB spezifisch der betroffenen Domain zugeordnet werden, was bisher nie eine Rolle gespielt hat, damit das ganze läuft.
Gruß
Benjamin
Icke
18th September 2007, 06:40 AM
Hi Claus,
hätte da noch ´ne Frage. Die Datei qmail-envelope-scanner gibt es doch vor der installation von greylisting nicht, richtig? qmail-smtpd wird mit der neuen greylisting variante überschrieben. D.h. um greylisting zu "deinstallieren" müsste ich nur die qmail-smtpd überschreiben (könnte passieren, da mein Chef auf einmal bedenken hat der Delay könnte untragbar sein).
Mein Problem wäre dann, dass ich die alte qmail-smtpd nur noch in einem recht alten plesk-backup habe :/. Könnte ich mir die Datei einfach wieder herstellen indem ich "netqmail-1.05.tar.gz" neu kompilliere, oder noch einfacher, könnte sie vielleicht jemand hier online stellen?
Thx und viele Grüße
Benjamin
ClausVB
18th September 2007, 02:39 PM
Wenn Du Dein qmail-Verzeichnis vorher nicht gesichert hast, sieht es schlecht aus, denn als ich mal mein qmail zerbröselt habe (ohne Backup) half nur noch eine Neuinstallation des Servers.
Plesk mit qmail zu installieren und zu kompilieren habe ich noch nie gemacht. Ich tausche nach der Anleitung von Brent nur zwei Dateien aus, von denen ich jetzt immer ein Backup mache.
Das wird auf meiner Webseite ja auch empfohlen.
IMHO sollte man unter Linux auf Produktiv-System nur Zeug machen, von dem man auch Ahnung hat :-).
So ein Server ist ja keine Spielwiese :-).
Gruß
Claus
Brujo
25th September 2007, 09:11 AM
HI Claus,
das aktuelle Packet von dir laeuft unter Suse10.1/64 ohne fehler durch und was mich wundert, ich musste dieses mal nicht /usr/lib/mysql durch /usr/lib64/mysql ersetzen... von daher super Arbeit von dir.
Aber wie schon mal oben erwaehnt, auch SWSoft bleibt nicht stehen und hat ihr Patchpacket aktuallisiert. Von daher stellt sich halt mal die Frage inwieweit die Greylist Version von der aktuellen SWSoft Patchversion auseinander driftet....
Gruss
Brujo
birger
26th September 2007, 06:24 AM
Hallo Claus,
ich habe Greylisting nach deiner Anleitung auf meinem Strato VServer mit SuSE 10.1 und Plesk 8.2.1 installiert und wenn ich die Überpürfung des install.sh Scriptes durchführe bekomme ich die Zahl 97!
Es erfolgen auch keine Einträge in die Datenbank der Mailverkehr funktioniert weiterhin. Der Befehl mit tail -f /tmp/greylist_dbg.txt gibt auch keine Infos aus die Datei bleibt leer. Die Datenbank ist korrekt angelegt, soweit ich das beurteilen kann.
Woran kann das liegen, hoffe du kannst mir helfen.
Mfg
Birger
ClausVB
26th September 2007, 02:24 PM
Originally posted by Brujo
Aber wie schon mal oben erwaehnt, auch SWSoft bleibt nicht stehen und hat ihr Patchpacket aktuallisiert. Von daher stellt sich halt mal die Frage inwieweit die Greylist Version von der aktuellen SWSoft Patchversion auseinander driftet.... Sorry, musst Du selbst programmieren, das ist so kompliziert, dass ich ein ganzes WE investieren müsste, um das umzusetzen und die Zeit habe ich im Moment nicht. Sieht vielleicht in ein paar Monaten anders aus.
Da jedoch nur die beiden Dateien
strato:/usr/src/qmail-1.05 # cp qmail-envelope-scanner /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # cp qmail-smtpd /var/qmail/bin/.
ausgetauscht werden, ist es vielleicht möglich, dass die Installation des Providers gar nicht berührt wird. Aber ob der Provider die Patches von Plesk berücksichtigt ist die nächste Frage, die ich nicht beantworten kann.
Gruß
Claus
ClausVB
26th September 2007, 02:32 PM
Originally posted by birger
Woran kann das liegen, hoffe du kannst mir helfen.
Die Frage nach den Gründen wurde in diesem Thread schon beantwortet.
Ansonsten musst Du mal "local_scan" und MySQL-Connect (mysql -u DeinBenutzerFuerQmail -p) mit Passwort posten. Vorher aber das Passwort auf "geheim" ändern und neu kompilieren.
Gruß
Claus
birger
27th September 2007, 07:40 AM
Moin Moin,
hier der Auszug aus der local_scan.c:
#define MYSQLHOST "localhost"
#define MYSQLUSER "greylist"
#define MYSQLPASS "geheim"
#define MYSQLDB "qmail"
#define BLOCK_EXPIRE 4 /* minutes until email is accepted */
#define RECORD_EXPIRE 1500 /* minutes until record expires */
#define RECORD_EXPIRE_GOOD 36 /* days until record expires after accepting email
und der MYSQL-Connect:
mysql -u greylist -p
Enter password: geheim
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 649 to server version: 5.0.18
Mfg
Birger
ClausVB
28th September 2007, 10:04 AM
Ich brauche von Dir zwei Sachen: "install.sh" und "mysql ..."
Ich benötige die komplette Ausgabe von MySQL: # mysql -u greylist -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 709248 to server version: 4.0.18
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE qmail;
Database changed
mysql> CREATE TABLE test(datum DATE);
Query OK, 0 rows affected (0.26 sec)
mysql> DROP TABLE test;
Query OK, 0 rows affected (0.04 sec)
mysql> Und danach ein "SHOW TABLES;"
BITTE FÜHRE DIE OBEN GENANNTEN BEFEHLE GENAU SO AUS, DANKE! Anders kann ich nämlich nicht feststellen, ob Du Schreibrecht für die DB "qmail" hast.
Dann brauche ich die letzten 20 Zeilen, die von der "install.sh" ausgegeben werden.
Gruß
Claus
birger
28th September 2007, 04:12 PM
Originally posted by ClausVB
[B]Ich brauche von Dir zwei Sachen: "install.sh" und "mysql ..."
mysql:
# mysql -u greylist -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12 to server version: 5.0.18
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> USE qmail
Database changed
mysql> CREATE TABLE test(datum DATE);
Query OK, 0 rows affected (0.00 sec)
mysql> DROP TABLE test;
Query OK, 0 rows affected (0.03 sec)
mysql> SHOW TABLES;
+-----------------+
| Tables_in_qmail |
+-----------------+
| relaytofrom |
+-----------------+
1 row in set (0.01 sec)
install.sh:
kann ich nicht mehr ausführen Befehl oder Datei nicht vorhanden gibt das system aus, Datei ist aber noch vorhanden. Habe daruaf make ausgeführt, dann hat er folgendes ausgegeben:
h1113050:/usr/src/qmail-1.05 # install.sh
-bash: install.sh: command not found
h1113050:/usr/src/qmail-1.05 # make
./compile local_scan.c
./load qmail-envelope-scanner -lz -lm local_scan.o /usr/lib/mysql/libmysqlclient.a
jetzt gibt die Prüfung der Installation auch die 85 aus, aber funktionieren tut Greylisting noch nicht.
Mfg
Birger
ClausVB
28th September 2007, 08:52 PM
Du musst "./install.sh" schreiben. Fehler sollte man generell nicht ignorieren :-).
make wurde anscheinend richtig ausgeführt.
jetzt gibt die Prüfung der Installation auch die 85 aus, aber funktionieren tut Greylisting noch nicht. Du hast die neu kompilierten Dateien auch wie beschrieben kopiert? strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail stop
strato:/usr/src/qmail-1.05 # cp qmail-envelope-scanner /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # cp qmail-smtpd /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-envelope-scanner
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-smtpd
strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail start Hast Du das genau so gemacht?
Gruß
Claus
birger
29th September 2007, 03:18 AM
Du hast die neu kompilierten Dateien auch wie beschrieben kopiert? strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail stop
strato:/usr/src/qmail-1.05 # cp qmail-envelope-scanner /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # cp qmail-smtpd /var/qmail/bin/.
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-envelope-scanner
strato:/usr/src/qmail-1.05 # chown root.qmail /var/qmail/bin/qmail-smtpd
strato:/usr/src/qmail-1.05 # /etc/rc.d/qmail start Hast Du das genau so gemacht?
Ja hab ich gemacht, ich hab keine Ahnung woran es noch liegen könnte.
Mfg
Birger
ClausVB
29th September 2007, 05:13 AM
Originally posted by birger Ja hab ich gemacht, ich hab keine Ahnung woran es noch liegen könnte. Dem muss ich mich leider anschließen.
Das sich Datenbank und Text-Datei nicht füllen hatte ich nur einmal, als ich mich beim Passwort in der "local_scan" vertippt habe. Dann ist auch klar, dass er nichts in die DB schreiben kann.
Gruß
Claus
ClausVB
2nd October 2007, 10:10 AM
Es scheint Probleme bei manchen Debian-Systemen zu geben, da nicht alle GCC-Pakete installiert sind und/oder DEVEL-Pakete fehlen.
Dann wird Greylisting nicht funktionieren und es gibt keine Einträge in der DB.
Mehr dazu im
ServerSupportForum (http://serversupportforum.de/forum/dedizierte-server/18400-plesk-8-2-auf-debian-4-0-und-greylisting-3.html).
Gruß
Claus
Hanniball
4th October 2007, 06:09 AM
Hi there,
I'm a bit confused, as Brent also offers a install service for Greylisting on Plesk Servers. Now, after contacting him, he gave me a link to pay for the service and after successfull payment he just disappeared. He doesn't answer any mails nor does his booking agency. Is he just someone who wants to cheat on people and grab the money? Anyone else who made the same experience?
Hanniball
ClausVB
4th October 2007, 11:06 AM
For all people who are using MySQL 4.1 or MySQL 5.x
Greylisting for qmail seems to use MySQL 4.0 for authentication. Try the following:
Reset the password to pre-4.1 style for each user
that needs to use a pre-4.1 client program. This can
be done using the SET PASSWORD statement and the
OLD_PASSWORD() function:
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
Alternatively, use UPDATE and FLUSH PRIVILEGES:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
I hope this works.
Regards,
Claus
PS: Back in 2006 Brent was not answering my mails, either. But I hope he will answer yours. Good luck!
Brujo
5th October 2007, 04:24 PM
Hallo Claus,
ich glaube habe ein Problem mit der gepatchten qmail gefunden. Wenn ein paar Mailboxen das quota erreicht haben crashed das System unregelmaessig:
kernel: qmail-local.mov[25646]: segfault at ....
kannst du das nachvollziehen ?
Gruss
Brujo
ClausVB
5th October 2007, 07:13 PM
Nein.
Die Datei wird vom Greylisting nicht berührt.
Gruß
Claus
AndiS
16th October 2007, 03:32 AM
Hallo Claus,
ich habe Deine Anleitung umgesetzt. Fast kein Problem, doch die Datei /tmp/greylist_dbg.txt ist einfach auf 0 Byte geblieben.
Ich habe bei TJ den entsprechenden Hinweis gefunden und nun klappt auch die Ausgabe in die Datei.
SuSE 10.2, Plesk 8.2.1
if you don't see this kind of output it may well be because of the wrong permissions on the file.
$ ls -l /tmp/greylist_dbg.txt
-rw-r--r-- 1 root root 0 Feb 22 05:35 greylist_dbg.txt
If the owner.group is root.root, it is wrong. Delete the file and it will be created properly by qmail-envelope-scanner next time it is called:
$ ls -l /tmp/greylist_dbg.txt
-rw-r--r-- 1 qmaild nofiles 142 Feb 22 10:54 greylist_dbg.txt
Gruß
Andreas
AndiS
16th October 2007, 03:58 AM
Hallo Claus,
doch noch eine Frage.
Nach welchen Kriterien werden die E-Mails untersucht und dann als schon einmal erkannt bewertet ? Ich finde dazu auch nichts bei Brent Meshier.
Unser Greylisting Lösung auf der Appliance nimmt das Tripple (Absende E-Mailadresse, IP Adresse des Absender SMTP Servers und E-Mailadresse Empfänger) her und lässt den zweiten Zustellversuch nur durch, wenn alle drei Kriterien gleich sind. Schaue ich mir den Auszug aus dem Log an, dann scheint die IP Adresse bei zweiten Versuch eine andere zu sein. Bin nun nicht sicher, ob das auch hier so ist. Auf alle Fälle kam von dem Absender noch kein "Exists Accept" Eintrag.
Bei den Providern die die Mail von SMTP zu SMTP weiterreichen kann es bis zu 8 Stunden dauern, bis die E-Mail mal bei uns durchkommt.
--------
protocol = notneeded4qmail oguillemot@polenn.com
oguillemot@polenn.com -> bb@abcd.com (193.252.22.126) Doesn't Exists Block
--------
protocol = notneeded4qmail oguillemot@polenn.com
oguillemot@polenn.com -> bb@abcd.com (193.252.22.29) Exists Block id = 14 expire = 0
--------
Gruss
Andreas
ClausVB
17th October 2007, 03:18 PM
Danke für den Hinweis. Komisch, dass der Fehler meine Installationen nie betrifft. Bei mir kann qmail immer in /tmp schreiben ...
Naja, jetzt steht es hier im Forum noch einmal für alle.
Danke und Gruß
Claus
ClausVB
17th October 2007, 03:23 PM
Originally posted by AndiS
Bei den Providern die die Mail von SMTP zu SMTP weiterreichen kann es bis zu 8 Stunden dauern, bis die E-Mail mal bei uns durchkommt.
Ja, das Problem kenne ich. Bei mir sind es jedoch maximal 1,5 Stunden.
Man muss diese Mail-Adresse oder die IPs in die Whiteliste aufnehmen, ansonsten muss man nämlich Greylisting bzw. den C-Code umprogrammieren, aber dann werden einige Spammer ebenfalls durchkommen.
Gruß
Claus
PS: Das von Dir beschriebene Verfahren ist richtig. Für Greylisting ist es ein Unterschied ob "cvb@greylisting.de" von IP X oder Y kommt.
webhilfe
17th January 2008, 11:42 AM
Moin Moin,
habe den Fehler gemacht auf Plesk 8.3 Upzugraden. Nun läuft das Greylisting nicht mehr. Habe nochmal alles neu installiert, bringt aber keine Verbesserung.
Die /tmp/greylist_dbg.txt bleibt einfach leer.
Ist das Problem schon bekannt? Gibt es eine Lösung?
AndiS
18th January 2008, 02:11 AM
Hallo,
habe vor zwei Wochen auf Plesk 8.3 upgedatet. Meine Greylistiung Funktion geht auch nicht mehr. Habe auch kein Ansatz, warum das nun nicht mehr geht.
Gruss,
Andreas
Brujo
18th January 2008, 04:26 AM
der qmail-smtpd wird beim upgrade von Plesk ueberschrieben...
das heisst qmail stoppen den compilierten greylist qmail-smtpd wieder reinkopieren, die rechte/Owner gegebenenfalls anpassen und qmail wieder starten...
Gruss
Brujo
webhilfe
18th January 2008, 06:32 AM
Moin Moin,
habe es mit Huschi´s Howto hinbekommen. http://www.huschi.net/25_125_de.html
AndiS
18th January 2008, 07:43 AM
Mit Brujos Lösung hat es bei mir wieder geklappt.
Schnelle Hilfe, Danke.
Gruss,
Andreas
Diiron
30th April 2008, 03:15 AM
Hallo zusammen,
ich hab ein kleines Problem mit Greylisting ;)
habe es über Huschis Anleitung eingebaut und es füllt auch die Logs, schreibt in die Datenbank und blockt auch wie es soll....
Ergo arbeitet es eigentlich, wie es sich gehört... Dachte ich zumindest. Habe es dann auf ein em Produktivsystem eingesetzt (zu 100% mit dem Testsystem identisch) und da haben wir des Salat...
Oben beschriebenes wird zwar auch ohne umschweife gemacht, aber es gehen einige sehr sehr wichtige mails verloren. (war auf dem Testsystem dann ebenfalls so)
Diese Mails tauchen weder im log, noch in der Datenbank auf. Den einzigsten Hinweis, den ich finden konnte, war ein Eintrag in der Maillog:
relaylock: /var/qmail/bin/relaylock: mail from server-des-kunden.tld
Der Kundenserver scheint irgendwo geblockt zu werden. Nach Rücksprache mit den Kunden
habe ich Folgende Fehlermeldung heraus finden können:
Deferred: 403 4.7.0 TLS handshake failed
Wenn ich das Greylisting wieder heraus nehme, wird die mail zu 100% zugestellt.
auch mit dem Mail-Test bei telekom.at (http://kmu.telekom.at/kundenbereich/Internettools/mailtest.php) wird die Email bei mir mit obigem eintrag in der Maillog geblockt.
Meine Systemumgebung:
debian 3.1 SARGE 32 bit mit plesk 8.3.0
ClausVB
30th April 2008, 07:10 AM
Ich kann bei dem Problem nicht weiterhelfen. Die Fehlermeldung besagt in der Regel, das zwei Server sich nicht miteinander auf SSL-Ebene unterhalten können. Oder STARTTLS wird verwendet:
By default STARTTLS is used whenever possible. However, there are
some broken MTAs that don't properly implement STARTTLS. To be able
to send to (or receive from) those MTAs, the ruleset try_tls
(srv_features) can be used that work together with the access map.
http://www.brandonhutchinson.com/TLS_handshake_failed.html
Das Problem tritt bei mir unter openSUSE nicht auf. Wenn es jedoch nur der Server dieses Kunden ist, wird es an seiner Konfiguration liegen. Ich habe solche Probleme unter Postfix NICHT qmail mal mit AOL gehabt, da auch AOL manche MTAs nicht standardkonform aufsetzt. Und gerade vom Standard-Verhalten ist Greylisting abhängig.
Gruß
Claus
vBulletin® v3.6.12, Copyright ©2000-2008, Jelsoft Enterprises Ltd.