Привет! Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась? Проблема в том, чтобы на хостинг-сервере начали активно ломать сайты и слать спам, а после добавления заголовка postfix+header_check должны помочь... =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Wed, Dec 27, 2006 at 10:04:11AM +0200, Maxim Tuliuk wrote:
Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась? http://ilia.ws/archives/149-mail-logging-for-PHP.html
PS. в работе не проверял. -- Davidenko Alexandr ElVisti Information Center, Kyiv, Ukraine. AND307-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась?
http://files.zoeloelip.be/mail-headers.diff =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Как оказалось "партия и комсомол" позаботились о "нашем счастливом детстве" :)
ports/lang/php4/Makefile:
.if defined(WITH_MAILHEAD)
PATCHFILES+= php-${PORTVERSION}-mail-header.patch:mail
PATCH_SITES+= http://choon.net/opensource/php/:mail
.endif
On 27/12/06, Maxim Tuliuk
Привет!
Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась?
Проблема в том, чтобы на хостинг-сервере начали активно ломать сайты и слать спам, а после добавления заголовка postfix+header_check должны помочь...
=================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Maxim Tuliuk wrote:
Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась?
Проблема в том, чтобы на хостинг-сервере начали активно ломать сайты и слать спам, а после добавления заголовка postfix+header_check должны помочь...
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ? У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом: --- ssmtp.c.orig Thu Apr 13 09:38:20 2006 +++ ssmtp.c Thu Apr 13 14:04:19 2006 @@ -1275,6 +1275,7 @@ int ssmtp(char *argv[]) { char buf[(BUF_SZ + 1)], *p, *q; + char *remote_addr, *script_name , *server_name; #ifdef MD5AUTH char challenge[(BUF_SZ + 1)]; #endif @@ -1452,6 +1453,18 @@ if(have_from == False) { smtp_write(sock, "From: %s", from); + } + + if(remote_addr=getenv("REMOTE_ADDR")) { + smtp_write(sock, "X-Originating-IP: %s", remote_addr); + } + + if(server_name=getenv("SERVER_NAME")) { + smtp_write(sock, "X-Server-Name: %s", server_name); + } + + if(script_name=getenv("SCRIPT_NAME")) { + smtp_write(sock, "X-Script-Name: %s", script_name); } if(have_date == False) { -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Привет! On Wed, 27 Dec 2006, Victor Sudakov wrote:
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ?
У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом:
+ if(remote_addr=getenv("REMOTE_ADDR")) { + smtp_write(sock, "X-Originating-IP: %s", remote_addr); + } + + if(server_name=getenv("SERVER_NAME")) { + smtp_write(sock, "X-Server-Name: %s", server_name); + } + + if(script_name=getenv("SCRIPT_NAME")) { + smtp_write(sock, "X-Script-Name: %s", script_name);
Все хорошо, но никто не мешает этому самому скрипту поудалять все эти переменные через setenv(). Ведь ssmtp - потомок CGIшки и наследует _ее_ окружение, правда? Вот если бы апач мог поставить какую-нибудь sticky label, чтобы потомки не могли ее испортить...
Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru
Sincerely, Dmitry -- Atlantis ISP, System Administrator e-mail: dmitry@atlantis.dp.ua nic-hdl: LYNX-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hello! On Wed, 27 Dec 2006 at 14:53:20 (+0200), Dmitry Pryanishnikov wrote:
Все хорошо, но никто не мешает этому самому скрипту поудалять все эти переменные через setenv(). Ведь ssmtp - потомок CGIшки и наследует _ее_ окружение, правда? Вот если бы апач мог поставить какую-нибудь sticky label, чтобы потомки не могли ее испортить...
Это изощрённые хацкеры - таких даже интересно отлавливать. А вот простой постинг спама через php-скрипты, изрядно надоедает - поверьте, там даже не пытаются скрыть источник. -- George L. Yermulnik [YZ-RIPE] =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Hello! On Wed, 27 Dec 2006 at 13:09:26 (+0200), Maxim Tuliuk wrote:
Как оказалось "партия и комсомол" позаботились о "нашем счастливом детстве" :)
ports/lang/php4/Makefile: .if defined(WITH_MAILHEAD) PATCHFILES+= php-${PORTVERSION}-mail-header.patch:mail PATCH_SITES+= http://choon.net/opensource/php/:mail .endif
Если хорошо посмотреть в ext/standard/mail.c, то становаится видно, что можно весь env вставлять в хидера - т.е. можно даже выбирать, что вставлять в хидера для трейсинга, а что лишнее.
On 27/12/06, Maxim Tuliuk
wrote: Привет!
Не встречался ли патч к php, который при использовании функции mail добавляет к письму заголовок с адресом сайта/страницы, где функция вызывалась?
Проблема в том, чтобы на хостинг-сервере начали активно ломать сайты и слать спам, а после добавления заголовка postfix+header_check должны помочь...
=================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
-- George L. Yermulnik [YZ-RIPE] =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Dmitry Pryanishnikov wrote:
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ?
У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом:
[dd]
Все хорошо, но никто не мешает этому самому скрипту поудалять все эти переменные через setenv(). Ведь ssmtp - потомок CGIшки и наследует _ее_ окружение, правда?
Согласен. Поэтому я и спросил, а как другие помечают почту, рассылаемую из CGIшек. С другой стороны, нас это решение выручало. Это ведь реже случается, что сам пользователь хостинга оказывается спаммером, причём настолько грамотным, чтобы замести следы. Чаще бывает, что exploit направлен против какой-нибудь веб-формы, установленной невинным пользователем. На PHP у нас стоит патч вот отсюда: http://mirror.trouble-free.net/sources/php-4.3.11-mail-header.patch -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Victor Sudakov wrote:
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ?
У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом:
Кстати, сначала мы пытались сделать то же самое на sendmail, но выяснилось, что переменные среды из sendmail.cf недоступны. Мне предложили или написать wrapper, или использовать program map. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Thu, Dec 28, 2006 at 08:53:56AM +0600, Victor Sudakov wrote:
Dmitry Pryanishnikov wrote:
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ?
У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом:
[dd]
Все хорошо, но никто не мешает этому самому скрипту поудалять все эти переменные через setenv(). Ведь ssmtp - потомок CGIшки и наследует _ее_ окружение, правда?
Согласен. Поэтому я и спросил, а как другие помечают почту, рассылаемую из CGIшек.
У меня работает program map в sendmail. Он же обслуживает и PHP mail, используя результаты работы малюсенького auto prepend скрипта с нужными putenv внутри. Внутренности PHP не трогал вообще. Кстати коллеги - виндовые админы подкинули идею о собственном PHP extension как разумном компромиссе.
С другой стороны, нас это решение выручало. Это ведь реже случается, что сам пользователь хостинга оказывается спаммером, причём настолько грамотным, чтобы замести следы. Чаще бывает, что exploit направлен против какой-нибудь веб-формы, установленной невинным пользователем.
На PHP у нас стоит патч вот отсюда: http://mirror.trouble-free.net/sources/php-4.3.11-mail-header.patch
Интересно, но как бы не совсем достаточно по двум причинам: a) Часто хочется видеть полный REQUEST_URI, иногда это очень помогает для быстрого понимания происходящего, особенно если речь идет о cross site scripting. Понятно что патч не догма впрочем b) sendmail-центричность патча, что ли. Из-за чего применение его на IIS мне кажется сомнительным Кстати буду крайне признателен за любую информацию о практике применения подобных вещей на IIS (особенно применительно к ASP и .NET)
-- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru
У меня вопрос решился достаточно просто - к freebsd-ому порту добавилась опция:
"Enable mail header patch" - добавляет строки вида:
X-PHP-Script: [script_url] for [proxy_ip], [ip]
IMHO вполне достаточно
On 11/02/07, Oleg V. Nauman
On Thu, Dec 28, 2006 at 08:53:56AM +0600, Victor Sudakov wrote:
Dmitry Pryanishnikov wrote:
А что делаете с сайтами, которые рассылают мусор из CGI-скриптов через /usr/sbin/sendmail ?
У нас на хостинге вместо sendmail стоит ssmtp, запатченный вот таким образом:
[dd]
Все хорошо, но никто не мешает этому самому скрипту поудалять все эти переменные через setenv(). Ведь ssmtp - потомок CGIшки и наследует _ее_ окружение, правда?
Согласен. Поэтому я и спросил, а как другие помечают почту, рассылаемую из CGIшек.
У меня работает program map в sendmail. Он же обслуживает и PHP mail, используя результаты работы малюсенького auto prepend скрипта с нужными putenv внутри. Внутренности PHP не трогал вообще. Кстати коллеги - виндовые админы подкинули идею о собственном PHP extension как разумном компромиссе.
С другой стороны, нас это решение выручало. Это ведь реже случается, что сам пользователь хостинга оказывается спаммером, причём настолько грамотным, чтобы замести следы. Чаще бывает, что exploit направлен против какой-нибудь веб-формы, установленной невинным пользователем.
На PHP у нас стоит патч вот отсюда: http://mirror.trouble-free.net/sources/php-4.3.11-mail-header.patch
Интересно, но как бы не совсем достаточно по двум причинам: a) Часто хочется видеть полный REQUEST_URI, иногда это очень помогает для быстрого понимания происходящего, особенно если речь идет о cross site scripting. Понятно что патч не догма впрочем b) sendmail-центричность патча, что ли. Из-за чего применение его на IIS мне кажется сомнительным
Кстати буду крайне признателен за любую информацию о практике применения подобных вещей на IIS (особенно применительно к ASP и .NET)
-- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru
=================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Maxim Tuliuk wrote:
У меня вопрос решился достаточно просто - к freebsd-ому порту добавилась опция: "Enable mail header patch" - добавляет строки вида: X-PHP-Script: [script_url] for [proxy_ip], [ip]
IMHO вполне достаточно
Для PHP достаточно, а CGI ? -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
participants (7)
-
Alexandr Davidenko
-
Dmitry Pryanishnikov
-
George L. Yermulnik
-
Maxim Tuliuk
-
Oleg V. Nauman
-
Sergey Smitienko
-
Victor Sudakov