The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как рулить SendMail'ом в стиле ipfw или Squid?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Dm.Karpov emailИскать по авторуВ закладки(ok) on 21-Окт-04, 16:13  (MSK)
Когда я управляю доступом средствами IP-FireWall или Squid, я могу создать правила типа "от Васи к Пете - можно; от Пети к Васе - нельзя". Но для управления доступом к почте средствами SendMail я нашёл только /etc/mail/access, обладающий такими свойствами:
- если я дам указание "юзер@домен.ru 550 Access denied", то будут убиваться и письма, имеющие такой адрес в поле "From:", и письма, отправленные на этот адрес;
- если я дам указание "домен.ru 550 Access denied", то будут убиваться письма, имеющие такой домен (и его поддомены) в адресе отправителя, в адресе получателя, а также в доменном имени релея (определяемом через ReverceDNS по его IP-номеру);
- нет возможности фильтровать спам по hostname (имени хоста, которое он сам указывает в SMTP-диалоге);
- невозможно работать с шаблонами (хотелось бы использовать регулярные выражения, но не работают и звёздочки в формате файловых масок).

А мне требуется допускать письма на определённый адрес только если адрес отправителя строго соответствует указанному.

Есть ли у SendMail "более другой" способ управления доступом, желательно без установки дополнительных программ? Как обстоит дело в Exim, Postfix, QMail?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Medlar Искать по авторуВ закладки on 22-Окт-04, 15:01  (MSK)
Все возможно, если освоить синтаксис sendmail.cf и написать дополнительные правила.

>А мне требуется допускать письма на определённый адрес только если адрес >отправителя строго соответствует указанному.
http://www.anrb.ru/linux/sendmail.html#4

>нет возможности фильтровать спам по hostname (имени хоста, которое он сам > указывает в SMTP-диалоге);
Здесь нужно поработать с переменной ${client_name}

>невозможно работать с шаблонами (хотелось бы использовать регулярные >выражения, но не работают и звёздочки в формате файловых масок).

Здесь не понятно, приведи конкретный пример, где не работает.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Chris emailИскать по авторуВ закладки(??) on 22-Окт-04, 16:40  (MSK)
Хорошая реализация в Exim, тас есть ACL
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Дмитрий Ю. Карпов emailИскать по авторуВ закладки on 22-Окт-04, 17:10  (MSK)
> Все возможно, если освоить синтаксис sendmail.cf и написать дополнительные правила.

А если знать C и написАть свой MTA... :)

>> А мне требуется допускать письма на определённый адрес
>> только если адрес отправителя строго соответствует указанному.
>
> http://www.anrb.ru/linux/sendmail.html#4

Кульная статья. Ещё бы к ней ссылку на хороший учебник, где все эти понятия разъясняются от простого к сложному. А то у меня сложилось впечатление, что все книги по SendMail написаны людьми, которые прочитали чьи-то чужие книги и пытаются пересказать их своими словами; а самые первые книги написаны программистами, создавшими SendMil - а люди такого уровня никоггда не умели связно излагать свои мысли... :(

>> нет возможности фильтровать спам по hostname
>> (имени хоста, которое он сам указывает в SMTP-диалоге);
>
> Здесь нужно поработать с переменной ${client_name}

А как с ней работать?

>> невозможно работать с шаблонами (хотелось бы использовать регулярные
>> выражения, но не работают и звёздочки в формате файловых масок).
>
> Здесь не понятно, приведи конкретный пример, где не работает.

Например, есть доменные имена типа dialup*.sochi.ru, где вместо звёздочки - номер.
Но запись типа "dialup*.sochi.ru 550 DialUp users must use relay" не работает.
А если тут RegEx, то почему точки не экранируют бэкслешами?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от poige emailИскать по авторуВ закладки(??) on 22-Окт-04, 17:37  (MSK)
[...]
>первые книги написаны программистами, создавшими SendMil - а люди такого уровня
>никоггда не умели связно излагать свои мысли... :(

ничего не скажу про программистов, написавших sendmail, но
вот тот же Алан Голуб, например, считает, и небезосновательно,
я думаю, что:

"... если вы не можете это выразить на обычном языке, то вы не
сможете это и запрограммировать ...", и вообще, утверждает, что
хороший программист скорее лингвист, чем математик:

  http://www.biblioteka.agava.ru/veryovka.htm

Позволю себе процитировать:

"...
Есть разные мнения о возможности мышления вне языка, но я убежден, что аналитическое мышление того типа, который нужен в компьютерном программировании, тесно связано с языковыми навыками. Я не думаю, что является случайностью то, что многие из знакомых мне лучших программистов имеют дипломы по истории, филологии и схожим наукам. Также не является совпадением то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе.

Сущность заключается в том, что математическая подготовка почти не нужна в компьютерном программировании. Тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками. Логика, например, преподавалась на философском факультете, когда я был в университете. Процесс, используемый при проектировании и написании компьютерных программ, почти полностью идентичен тому, который используется, чтобы сочинять и писать книги. Процесс программирования совсем не связан с теми процессами, которые используются для решения математических уравнений.
..."

(параграф "6. Если вы не можете сказать это по-английски, то вы не сможете выполнить это на С/С++.")

Поэтому первый НЕОБХОДИМЫЙ (но не достаточный, наверное)
признак (по кр. мере, по Голубу ;-)) хорошего программиста, это
способность в ясном изъяснении на обычном человеческом языке.

Что же касается самого ПО, то sendmail -- на мыло! :-)
Рекомендую выбирать из exim, postfix, qmail.

/poige
--
http://www.i.morning.ru/~poige/

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от Дмитрий Ю. Карпов emailИскать по авторуВ закладки on 23-Окт-04, 01:33  (MSK)
Я не знаком с преподаванием истории, филологии и схожих наук в США, но зная советских историков и филологов (ибо учился), я очень сомневаюсь, что знание деепричастий и эпохи Нерона помогает программировать. А вот незнание математики запросто делает программы уродскими (прежде всего ресурсоёмкими). Интересно было бы узнать, какое образование у авторов Unix, а какое - у программистов Micro$oft.

А статья довольно спорная и местами внутренне противоречивая (но я не собираюсь подробно разбирать её тут).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от poige Искать по авторуВ закладки(??) on 23-Окт-04, 07:22  (MSK)
[...]

в первую очередь, речь идет про языковые навыки. Спорить с
тезисом "не можешь описать алгоритм решения на родном
языке, не сможешь запрограммировать его на компьютерном",
вряд-ли у кого-то успешно получится.

>математики запросто делает программы уродскими (прежде всего ресурсоёмкими). Интересно было бы

Согласно БСЭ
"...
Математика (греч. mathematike, от máthema - знание, наука), наука о количественных отношениях и пространственных формах действительного мира.
..."

Мне, исходя даже только из этого определения, видно, что математика
к программированию, вообще относится едва-едва. Да, математические
задачи можно и нужно программировать, но для этого нужно быть
программистом, а не математиком. В конце-концов, программист, если
вдуматься, переводчик!

Еще одним, по сути, подтверждением, является часть математики,
алгебра (слово, кстати, от тех же "ребят", что и алгоритм ;-)).

"...
При этом в А. сформировались характерные для неё буквенные обозначения, позволившие записать свойства действий над числами в сжатой форме, удобной для построения исчисления над буквенными выражениями. Буквенное исчисление тождественных преобразований, давшее возможность преобразовывать по определённым правилам (отражающим свойства действий) буквенную запись результата действий, составляет аппарат классической А. Тем самым А. отграничилась от арифметики: А. изучает, пользуясь буквенными обозначениями, общие свойства числовых систем и общие методы решения задач при помощи уравнений
..."

Уже яснее? Буквенные обозначения это тот аппарат, который проник
буквально во всю математику, и это тот __языковый__ механизм, который
сделал прорыв в ней!

>узнать, какое образование у авторов Unix, а какое - у программистов
>Micro$oft.

Наверное, Сеть в этом поможет.

>
>А статья довольно спорная и местами внутренне противоречивая (но я не

Если вы про работу Голуба, то это, вообще-то, книга. Я сравнительно
давно купил ее в бумажном варианте, и считаю ее ценным приобретением.

>подробно разбирать её тут).

Подробнее можно на другом разделе форума -- Программирование.

/poige

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. ">узнать, какое образование у авторов Unix ..."
Сообщение от poige Искать по авторуВ закладки(??) on 23-Окт-04, 07:30  (MSK)
[...]
>>узнать, какое образование у авторов Unix, а какое - у программистов
>>Micro$oft.
>
>Наверное, Сеть в этом поможет.

Да, это было легко:

http://cm.bell-labs.com/cm/cs/who/dmr/bigbio1st.html

Цитата:

"...
My undergraduate experience convinced me that I was not smart
enough to be a physicist, and that computers were quite neat.
My graduate school experience convinced me that I was not smart
enough to be an expert in the theory of algorithms and also that
I liked procedural languages better than functional ones.
..."

> I liked procedural languages better than functional ones
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/poige

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. ">узнать, какое образование у авторов Unix ..."
Сообщение от Дмитрий Ю. Карпов emailИскать по авторуВ закладки on 23-Окт-04, 14:24  (MSK)
> Спорить с  тезисом "не можешь описать алгоритм решения на родном языке, не сможешь
> запрограммировать его на компьютерном", вряд-ли у кого-то успешно получится.

Тезис в корне ложный, ибо предполагает, что изложить алгоритм на родном языке проще, чем на языке программирования. Я помню те времена, когда от студентов и даже от некоторых сотрудников требовали сначала нарисовать блок-схему со стрелками переходов; хотя уже в то время Фортран и Бэйсик описывали алгориты компактнее, чем блок-схемы.


> Согласно БСЭ
> "... Математика (греч. mathematike, от mбthema - знание, наука), наука
> о количественных отношениях и пространственных формах действительного мира.  ..."
>
> Мне, исходя даже только из этого определения, видно,
> что математика к программированию, вообще относится едва-едва.

Программирование и есть численное представление мира - как и математика. Просто с точки зрения математики программирование - брутальный подход, задействующий выскокоскоростные процессоры, тогда как математика путём "тождественных преобразований" ищет путей с малым числом вычислений.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. ">узнать, какое образование у авторов Unix ..."
Сообщение от poige Искать по авторуВ закладки(??) on 23-Окт-04, 16:53  (MSK)
>> Спорить с  тезисом "не можешь описать алгоритм решения на родном языке, не сможешь
>> запрограммировать его на компьютерном", вряд-ли у кого-то успешно получится.
>
>Тезис в корне ложный, ибо предполагает, что изложить алгоритм на родном языке
>проще, чем на языке программирования. Я помню те времена, когда от

Где шла речь про "проще/сложнее"? Напомню, говорилось про
"возможно/невозможно". 0, или 1, тов. Карпов. А не шкала сложности,
с произвольными значениями на данном интервале. :-)

В общем, вы подменяете понятия. Наверное, неосознанно. :-)

[...]

>> Согласно БСЭ
>> "... Математика (греч. mathematike, от mбthema - знание, наука), наука
>> о количественных отношениях и пространственных формах действительного мира.  ..."
>>
>> Мне, исходя даже только из этого определения, видно,
>> что математика к программированию, вообще относится едва-едва.
>
>Программирование и есть численное представление мира - как и математика.

Не нужно путать кол-во, и число ему соответствующее (как
и цифры, которые суть лишь часть системы счисления, при помощи
которых мы можем пытаться ОБОЗНАЧАТЬ числа). :-)

Не нужно путать математику, и программирование, также.

Вы читайте, что умные люди в энциклопедиях пишут, читайте:

"...
Программирование
, процесс составления упорядоченной последовательности действий
..."

Сравните с определением математики?... ;-)

Просто с
>точки зрения математики программирование - брутальный подход, задействующий выскокоскоростные процессоры, тогда
>как математика путём "тождественных преобразований" ищет путей с малым числом вычислений.
>

Ищет не математика... а математики (!), и их можно понять. ;-)

Но, тут уместно спросить, а вы вообще видели хоть раз системы
компьютерной алгебры, позволяющие получать решение в точном
аналитическом виде, например Derive?

P. S. Из статьи про ЧИСЛА:

"...
В последние годы разрабатывается концепция "вычислимых" Ч., т. е. таких, приближения к которым могут быть заданы посредством какого-либо алгоритма. Понятие вычислимого Ч. определяется без пользования абстракцией актуальной бесконечности, на базе уточнённого понятия алгоритма.
..." -- Большая советская энциклопедия

/poige

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от uldus Искать по авторуВ закладки(ok) on 23-Окт-04, 21:22  (MSK)
>в первую очередь, речь идет про языковые навыки. Спорить с
>тезисом "не можешь описать алгоритм решения на родном
>языке, не сможешь запрограммировать его на компьютерном",
>вряд-ли у кого-то успешно получится.

Это все демагогия. Связь математики и програмирования отлично изложена в одной из первых книг Д. Кнута "Конкретная математика".

Без математики, не получится создавать грамотные алгоритмы, без алгоритмов, нет программирования.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от poige Искать по авторуВ закладки(??) on 24-Окт-04, 07:11  (MSK)
>>в первую очередь, речь идет про языковые навыки. Спорить с
>>тезисом "не можешь описать алгоритм решения на родном
>>языке, не сможешь запрограммировать его на компьютерном",
>>вряд-ли у кого-то успешно получится.
>
>Это все демагогия. Связь математики и програмирования отлично изложена в одной из

(от демагога слышу! :))

>первых книг Д. Кнута "Конкретная математика".

Я не отрицал наличие связей. В нашем мире, как создается впечатление,
вообще все связано.
>
>Без математики, не получится создавать грамотные алгоритмы, без алгоритмов, нет программирования.

Шла речь про __создание__ программ, а не алгоритмов.
А именно, математик создает алгоритм, нужен кодер -- осуществить
перевод на один из компьютерных языков. Так вот, кодеру математики, как правило, для этого не нужно. У него должны быть именно развитые
языковые навыки.

Простой пример: переводчик на встрече политиков. Если он "не секет"
в политике, это не так плохо, как если он просто косноязычен,
испытывает проблемы с формулировками, несется вперед, и понимает,
что придется "переписать".

И вообще, вы бы хоть немного дальше читали, если действительно хотите
понять о чем речь:

"...
Здесь я делаю различие между информатикой (computer science) - математическим анализом компьютерных программ - и программированием или разработкой программного обеспечения - дисциплиной, интересующейся написанием компьютерных программ. Программирование требует организационных способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом. (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни).
..." -- http://www.biblioteka.agava.ru/veryovka.htm

/poige

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "+="
Сообщение от poige Искать по авторуВ закладки(??) on 24-Окт-04, 08:20  (MSK)
"...
Интересно, что основополагающая работа по теории языка, сделавшая возможным написание компиляторов, была выполнена в Массачусетском технологическом институте лингвистом Наумом Хомским, а не математиком.
..."; // (c) Ален Голуб

/poige

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. ">никоггда не умели связно излагать свои мысли... :("
Сообщение от uldus Искать по авторуВ закладки(ok) on 24-Окт-04, 21:51  (MSK)
>Простой пример: переводчик на встрече политиков. Если он "не секет"
>в политике, это не так плохо, как если он просто косноязычен,
>испытывает проблемы с формулировками, несется вперед, и понимает,
>что придется "переписать".

Если переводчик книг по программированию (как и любой другой нетривиальной области) "не секет"  в переводимом предмете, то никакое красноречие его от закидывания тухлыми яицами не спасет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Medlar Искать по авторуВ закладки on 22-Окт-04, 18:36  (MSK)
Извини, не могу сейчас ответить - убегаю,
вот тебе ссылка, здесь есть хоть какое-то описание правил на русском
http://mirny.yakutia.ru/vrem/lit/computer/unix/sendmail_cf.txt
А вообще:
/usr/src/sendmail/cd/README и /usr/src/sendmail/doc/op.me (перевод http://www.opennet.me/docs/RUS/sendmail2)
в руки и будет тебе счастье :)
Не так уж это и сложно.
Также есть книга по Sendmail'у -классная вещь:
http://tcb.spb.ru/other/docum/Orelly/tcpip/sendmail/index.htm
На последние два твоих вопроса отвечу в понедельник, если после моего ответа не передумаешь использовать sendmail :)))
  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Soldier Искать по авторуВ закладки(??) on 23-Окт-04, 21:56  (MSK)
> А мне требуется допускать письма на определённый адрес только если адрес отправителя строго соответствует указанному.
....

>Как обстоит дело в Exim, Postfix, QMail?

У qmail изначально ничего  подобного нет, но можно организовать с помощью
патчей. Я например воспользовался этим:

http://www.soffian.org/downloads/qmail/qmail-smtpd-doc.html

Основная идея данного патча в запуске внешней проги,указанной в переменной
среды $RCPTCHECK, у которой устаналиваются переменные окружения $SENDER и
$RECIPIENT. Ну а дальше все что фантазия позволит. :)))

P.S. С помощью этого патча я у себя 99% спама зарубил

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Как рулить SendMail'ом в стиле ipfw или Squid?"
Сообщение от Anastas Искать по авторуВ закладки(??) on 23-Окт-04, 22:48  (MSK)
>А мне требуется допускать письма на определённый адрес только если адрес отправителя
>строго соответствует указанному.
>
>Есть ли у SendMail "более другой" способ управления доступом, желательно без установки
>дополнительных программ? Как обстоит дело в Exim, Postfix, QMail?

в Postfix именно без "дополнительных" программ :)
параметр smtpd_sender_restrictions в конфиге

p.s.  postfix сейчас "в моде" ;)   ИМХО заслуженно !

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру