Bekijk Volledige Versie : Volstromende e-mail queues
Caspar Gomez
31/01/08, 16:11
In navolging op dit topic: http://www.webhostingtalk.nl/scripting-techniek-beveiliging/113780-e-mail-queue-weer-vol.html
Mijn vraag is. Hoe kan ik alle e-mails loggen die via PHP zijn verzonden? Als iemand via www.caspar.co.uk/send.php een e-mail stuurt, dat dit in een aparte log-file komt.
Elke hoster neemt namelijk te maken met klanten die slecht scripten en lekke websites draaien. Hiervan kunnen spammers en hackers makkelijk misbruik maken.
Mijn probleem is ook dus, en dit zal jullie ook vast veel overkomen, dat de e-mail queue weer vol zit met 20.000 e-mails.
De oplossing van http://www.webhostgear.com/232_print.html werkt helaas niet meer op nieuwe Plesk-servers, de e-mail komt dan niet meer aan.
(Centos-5, Plesk 8.3)
dreamhost_nl
31/01/08, 16:26
Je kunt PHP (her)compileren zodat deze een X-header meestuurt met hierin de lokatie van het script en/of het IP-adres van de (ge/mis)bruiker van het script. Zodoende kun je altijd zien waar een spam e-mailtje vandaan komt.
Aanvulling op dreamhost_nl: Zoek eens op dit forum.
Caspar Gomez
11/02/08, 14:15
Digiover
Ik heb zo vaak gezocht op het forum, meeste topics zijn van mezelf. Er wordt veel naar de qmail.hidden oplossing icm een /var/log/spam_log verwezen. Deze oplossing functioneert niet meer.
Dreamhost_nl
Een hercompilatie van PHP waarbij het pad naar de php-file wordt meegestuurd, acht ik niet gewenst. Tevens is dit nauwelijks efficiƫnt om misbruik te registreren, tenzij je over de e-mail zelf beschikt.
crazycoder
11/02/08, 14:30
Dreamhost_nl
Een hercompilatie van PHP waarbij het pad naar de php-file wordt meegestuurd, acht ik niet gewenst. Tevens is dit nauwelijks efficiƫnt om misbruik te registreren, tenzij je over de e-mail zelf beschikt.
En wat denk jij dan wat er in je uitgaande mailqueue staat?
Caspar Gomez
11/02/08, 14:33
Dat is inderdaad een goed punt, is inderdaad een goede manier, echter vind ik /var/log/spam_log fijner, omdat:
- Je dan ook al verzonden mail nog kunt controleren
- Niet de hele wereld hoeft te weten via welke php-file het verstuurd heeft
dreamhost_nl
11/02/08, 17:09
Als een oplossing niet langer functioneert en je hebt twee oplossingen, welke kies je dan? ;)
Indd. blijft een groot deel bij misbruik in de uitgaande e-mail queue staan en kun je dus zo zien welk script de boosdoener is... echt gemakkelijk... scheelt veel spitwerk door ellenlange logs...
Gebruikt Plesk ook sendmail om te mailen?
Voorbeeldje van een wrapper: http://gregmaclellan.com/php/sendmail.phps
Zo kun je logs bijhouden.
Hier is intussen qmail zo aangepast, dat deze per account op de server een bestandje bijhoudt met een getal erin. Bij elke e-mail die verzonden wordt (e-mail naar meerdere adressen tegelijk wordt ook meerdere keren meegeteld) wordt dit getal met 1 verlaagd. Op het moment dat 0 bereikt wordt kan er geen e-mail meer verstuurd worden door dat account.
Uiteraard wordt ieder half uur automatisch het bestand weer gevuld met een getal boven de 0 (in ons geval 100), zodat zonder problemen in een rustig tempo legitieme e-mails verstuurd kunnen worden. Als eenmaal de 0 bereikt is wordt de automatische reset naar 0 uiteraard niet meer uitgevoerd totdat de oorzaak onderzocht is.
Nu zijn er nog klanten die nieuwsbrieven versturen via hun website. Voor hen is de mogelijkheid toegevoegd om via het control panel deze controle tijdelijk uit te schakelen. Dat is een risico, maar dat is te overzien en er is lastig omheen te werken.
Als we een standaard systeem zoals plesk of DA zouden draaien, dan zou ik de code hier delen, maar doordat het vrij specifiek maatwerk is geworden deel ik alleen het idee hier. Voor de technici is dit hopelijk voldoende om zelf iets dergelijks te implementeren.
Zoiets is er al voor exim, geloof ik. SMTP limiter of iets dergelijks.
Staat wel op het forum van DirectAdmin.