- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Требуется придумать такое правило, чтобы PHP скрипты могли подключаться-авторизовываться на сторонних smtp для отправки почты, при условии что всем кроме exim запрщено подключаться к 25му порту (и альтернативным). Думаю кто боролся с исходящим спамом поймёт меня)
То что прописано сейчас:
iptables -A OUTPUT -o eth0 -p tcp --dport 25 -m owner --uid-owner Debian-exim -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 25 -j DROP
Нужно разрешить исходящие подключения на 25й порт но только для тех кто авторизуйется на стороннем smtp, а не тем кто пытается отправить письмо на сторонний smtp. Т.е. добавить ACCEPT правило, походу для каких то первых заголовков, опыта у меня в этом нет. (OS debian 6)
Надеюсь понятно объяснил)
вы не с того конца подходите к задаче. большинство спам скриптов просто наполняют очередь локального MTA, а потом он уже рассылает, поэтому ваше правило тут не пройдет. Вам нужно бороться не с последствиями спама, а с причиной возникновения ( старые цмс, старое ПО, дырявые плагины, простые пароли на ящиках ).
вы не с того конца подходите к задаче. большинство спам скриптов просто наполняют очередь локального MTA, а потом он уже рассылает, поэтому ваше правило тут не пройдет. Вам нужно бороться не с последствиями спама, а с причиной возникновения ( старые цмс, старое ПО, дырявые плагины, простые пароли на ящиках ).
Нет, вы не правы, со спамом я борюсь на 5+, локального исходящего спама нет, отсекается перл скриптами, лимитами и уведомлениями. (99% случаев без моего участия) А вот если у вас не было исходящего спама от какого нибуть готового запущенного MTA-скрипта демона который шифруется под exim, то вам очень повезло, либо вы пока не так много встречали хакнутых сайтов и зловредителей. 🍿 Там где я работаю, также полно клиентов которые сами загружают и запускают подобные красивые штуки :) Моя задача полностью автоматизировать решение всевозможных проблем на вебсервере, чтобы сис-админы вообще не требовались. Вопрос в силе...
http://forum.ispsystem.com/ru/showthread.php?t=11973 это ?
iptables -F
id Debian-exim
uid=102(Debian-exim) gid=104(Debian-exim) groups=104(Debian-exim)
Нет, вы не правы, со спамом я борюсь на 5+
Странно. Обычно люди, которые борятся со спамом на твердую пятерку, знают, что 25 порт - это порт MTA, а для MSA[а Вам нужен именно MSA] есть и дополнительные порты (хотя 25 тоже иногда работает).
Более того, у некоторых сервисов нет сабмишшена на порту 25. Например у mail.ru и gmail.com:
Trying 94.100.176.20...
Connected to mxs.mail.ru.
Escape character is '^]'.
220 Mail.Ru ESMTP
ehlo test.com
250-mx160.mail.ru ready to serve
250-SIZE 31457280
250 8BITMIME
Trying 173.194.70.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP o3si19649484wic.0
ehlo test.com
250-mx.google.com at your service, [46.4.207.34]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250 ENHANCEDSTATUSCODES
Один из немногих, у кого нашел MSA в том числе на 25-м порту - hotmail.com
Trying 65.54.188.110...
Connected to mx1.hotmail.com.
Escape character is '^]'.
220 BAY0-MC3-F2.Bay0.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.microsoft.com/en-us/anti-spam.mspx. Sun, 23 Sep 2012 02:20:10 -0700
ehlo test.com
250-BAY0-MC3-F2.Bay0.hotmail.com (3.16.0.61) Hello [46.4.207.34]
250-SIZE 36909875
250-PIPELINING
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-AUTH LOGIN
250-AUTH=LOGIN
250 OK
Я это к тому, что у Вас чужой PHP-скрипт подключется к чужому 25 порту. Будет ли он использовать команду AUTH или наоборот как через релей отправит все локальным пользователям (MTA это пропустит) - Вы знать не можете, если конечно не сниффить каждое подключение, что очень трудоемко и ресурсоемко.
http://forum.ispsystem.com/ru/showthread.php?t=11973 это ?
iptables -F
id Debian-exim
uid=102(Debian-exim) gid=104(Debian-exim) groups=104(Debian-exim)
Там правила такие же как у меня, только добавлены условия -s server-ip -d ! server-ip
Надо подумать может ли это решить проблему не навредив, пока на вскидку кажется что нет.
---------- Добавлено 23.09.2012 в 13:23 ----------
bugsmoran у меня запрещены все порты, 25, 465, 587 ...
Historically, port 25 has acted as both an MTA and MSA port in sendmail
Также возможно и обратное, или вы уверены что 587 это только MSA и для MSA он всегда используется?
Собственно читайте: http://en.wikipedia.org/wiki/Mail_submission_agent
да я точно знаю что решит - был у меня спам - после установки этих правил как там на форуме - все чисто ;)
iptables -A OUTPUT -p tcp -s server-ip ! -d server-ip --dport 25 --syn -m owner --uid-owner 102 -j ACCEPT
iptables -A OUTPUT -p tcp -s server-ip ! -d server-ip --dport 25 --syn -j DROP
Да я знаю, что исторически так, но история - достояние истории. Адекватные люди не поставят MSA на 25-й порт (если они конечно не ленивые как я :) ).
Давайте я Вам немного объясню про разницу MTA и MSA.
MTA только принимает и посылает почту между серверами от неаутентифицированных пиров. По сути только принимает от других MTA или наоборот передает другим MTA. Механизм аутентификации у него отсутсвует напрочь. Потому что в случае, если он принимающая сторона, то он смотрит для него ли почта (ему достаточно знать, что она пришла по адресу, чтобы передать его в MDA), а если он исходящая сторона, то для него аутентификацию уже провел MSA. То есть когда-то 5 секунд назад MSA принял на отправку запрос от программы, будь она Outlook, RoundCube или самопальный код на PHP. И задача MTA только найти MX сервер домена-реципиента и передать ему письмо. А тот увидит, что почта для его подопечного и примет ее также без аутентификации.
Поэтому, если Вы не хотите заставить свои MSA/MTA на Exim'е работать[почему кстати?], то Вы конечно можете разрешить выступить PHP-скрипту пользователя в качестве:
1) MTA. То есть он будет другим MTA говорить, что MSA уже пройден и я предлагаю принять почту именно для домена, который Вы, уважаемый чужой MTA, обслуживаете.
Тут проблема: ему придется каждый раз подключаться к разным MTA, выбирая по MX-записям кто обслуживает домен реципиента. И вторая проблема - свободная доставка спама целевому MTA.
2) Отсылающего приложения. То есть он будет приходить на свой любымий MSA, представляться там своим логином командой AUTH в протоколе SMTP и уже затем MSA сам будет передавать на отправку письмо MTA.
Тут проблема: MSA как правило на 25-м порту нету. Значит там сразу слушает MTA, а тот как только увидит RCPT TO для чужака, даст отлуп, что не пройдена аутентификация.
Какие из этого всего выводы:
a) Разберитесь, почему Ваши PHP-скрипты так вынуждены использовать свой удаленный MSA и где гарантии, что это не будет MTA реципиента.
b) Разберитесь, почему если речь идет о MSA, то откуда вдруг взялся 25-й порт.
То есть Ваша задача не правило придумать в iptables, а понять где Вас хотят обмануть.
Logger я подумал над правилами, они идентичны моим, да, спаму нет как и у меня сейчас, но проблема описанная мной в первом сообщении никак добавлением server_ip не решается...
bugsmoran, да, вы всё верно пишите, и я это на удивление процентов на 95% это всё и так знаю))
Могу ответить на ваши вопросы.
a) Всё просто, куча клиентов, у некоторых скрипты которые используют отправку писем с авторизацией на стороннем почтовике, mail.ru и т.д. И почему то в этих скрпитах не предусмотрена отправка письма с помощью простейшего mail().
Только для этой цели и требуется.
б) тут нет причин разбираться, возможно вы правы, и достаточно будет запрещать только 25й порт(для тупых скрпитов), а 587 оставить открытым для всех и всях) Но я не могу так рисковать! Не исключено что отправка неавторизованного спама будет также и через 587 порт и возможно даже через 465.
Например у меня, без лишнего головняка так настроено (никаких отличий), и я думаю это у большинства так)
daemon_smtp_ports = 25 : 587 : 465
tls_on_connect_ports = 465
Ещё раз всё проанализировав, я понимаю что вероятно единственное решение это фильтровать все пакеты через iptables и при наличии удачной авторизации пропускать далее, или это уже перебор?)
a) Разберитесь, почему Ваши PHP-скрипты так вынуждены использовать свой удаленный MSA и где гарантии, что это не будет MTA реципиента.
a) Всё просто, куча клиентов, у некоторых скрипты которые используют отправку писем с авторизацией на стороннем почтовике, mail.ru и т.д. И почему то в этих скрпитах не предусмотрена отправка письма с помощью простейшего mail().
Только для этой цели и требуется.
Ну вообще оно конечно сработает и на локалхосте. Но Ок, ответ понял.
b) Разберитесь, почему если речь идет о MSA, то откуда вдруг взялся 25-й порт.
б) тут нет причин разбираться, возможно вы правы, и достаточно будет запрещать только 25й порт(для тупых скрпитов), а 587 оставить открытым для всех и всях) Но я не могу так рисковать! Не исключено что отправка неавторизованного спама будет также и через 587 порт и возможно даже через 465.
Это не ответ на мой вопрос, но ладно.
Ещё раз всё проанализировал, и понимаю что вероятно единственное решение это фильтровать все пакеты через iptables и при наличии удачной авторизации пропускать далее, или это уже перебор?)
Вы такой сильный программист? Вы понимаете, что Вам придется открыть сорцы iptables и внедрить в него сниффер траффика? И даже это все обломаетя как только клиент начнет использовать SSL для SMTP. У Вас не сформированы требования до сих пор, а Вы уже инструмент выбрали )))
Важный вопрос - от какого пользователя запускаются скрипты. От www-data или у каждого свой?
Требуется придумать такое правило, чтобы PHP скрипты могли подключаться-авторизовываться на сторонних smtp для отправки почты, при условии что всем кроме exim запрщено подключаться к 25му порту (и альтернативным). Думаю кто боролся с исходящим спамом поймёт меня)
Нет, не понимаю. Я вот спам давно поборол при помощи разрешения отправки только через sendmail, который на самом деле http://dedic.ru/node/763