Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: 450 4.7.1 client host rejected cannot find your hostname  (Прочитано 25445 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
450 4.7.1 client host rejected cannot find your hostname
« : 16 Октября 2012, 18:01:06 »
Oct 14 07:26:08 mail postfix/smtpd[10989]: NOQUEUE: reject: RCPT from unknown
[195.2XX.1XX.50]: 450 4.7.1 Client host rejected: cannot find your hostname,
 [195.2XX.1XX.50];from=user@firma_otpravitel.ru to=<user@myfirma.ru> proto=ESMTP helo=<smtp.firma_otpravitel.ru>

У меня в логах вываливается....Я так понимаю, это проблема отправителя?или все таки моя?

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #1 : 16 Октября 2012, 18:05:17 »
Отправителя. У него в helo (ehlo) сервер представляется, как smtp.firma_otpravitel.ru но при этом IP-адрес 195.2XX.1XX.50 не резолвится вообще (а должен - в smtp.firma_otpravitel.ru).

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #2 : 16 Октября 2012, 19:51:53 »
Цитировать
Отправителя. У него в helo (ehlo) сервер представляется, как smtp.firma_otpravitel.ru но при этом IP-адрес 195.2XX.1XX.50 не резолвится вообще (а должен - в smtp.firma_otpravitel.ru).
Ну вот и я про это...а они отпираются.....

Спасибо!

А есть в postfix для этих случаев белый список?Чтоб проверки не действовали для определенных доменов?

Вроде нашел
Определение “белых списков” адресов в Postfix  решается при помощи файлов map и директивы smtpd_sender_restriction в конфигурационном файле /etc/postfix/main.cf.
« Последнее редактирование: 16 Октября 2012, 20:34:01 от djrust »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #3 : 16 Октября 2012, 20:43:54 »
Есть, а как же. Делаете вот так примерно:
1. создаете файл с именем check_access (например) и содержащий:
firma_otpravitel.ru    OK   Our braindamaged customer
my_evils.org   REJECT  Our evils
Здесь в первой строке - домен отправителя, во второй - что делать при поступлении письма от них (ОK - принять, REJECT - отказать), в третьей - описание, которое в том числе пойдет в лог.

2. даете команду

postmap check_access
Она формирует файл check_access.db (это нужно делать при каждом изменении файла)

3. В main.cf в нужные проверки вставляете проверку по файлу check_access, например

smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/check_access, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, permit
Внимательно следите за последовательностью проверок!

4. Перезапускаете postfix.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #4 : 16 Октября 2012, 20:54:52 »
Спасибо!Попробую!

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #5 : 17 Октября 2012, 23:21:54 »
А в postfix(e) есть последовательность написания правил?

допустим правильно так
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/check_access, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, permitа так работать будет?
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_helo_hostname, check_helo_access hash:/etc/postfix/check_access, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, permit
А если мне надо чтобы, от определенного домена, postfix вообще ничего не проверял?
Достаточно ли будет добавить правило в smtpd_sender_restrictions?



Будет ли важна последовательность написания правил?
smtpd_helo_restrictions
smtpd_sender_restrictions
либо
smtpd_sender_restrictions
smtpd_helo_restrictions


smtpd_client_restrictions = sleep 1, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks, reject_unknown_client_hostname, permit
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/black_white_list/check_access, reject_invalid_helo_hostname, reject_non_fqdn_hel$
smtpd_sender_restrictions =  permit_mynetworks, permit_sasl_authenticated,check_sender_access hash:/etc/postfix/black_white_list/whitelist, reject_non_fqdn_sender, reject_unknown_sender_do$
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain$

Почта все равно режется
cat whitelist
.firma.ru OK     BYDLO SERVER smtp.firma.ru
.aol.com       REJECT SMAP SERVER AOL.COM

cat check_access
firma.ru OK BYDLO SERVER smtp.firma.ru
убрал первое правило smtpd_client_restrictions почта от них начала приходить(срабатывает reject_unknown_client_hostname)....Теперь бы понять как сделать чтобы на каждую проверку действовал белый список!


А прокатит если я так сделаю?
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks,  check_client_access hash:/etc/postfix/black_white_list/whitelist, reject_unknown_client_hostname, permit
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/black_white_list/whitelist, reject_invalid_helo_hostname, reject_non_fqdn_hel$
smtpd_sender_restrictions =  permit_mynetworks, permit_sasl_authenticated,check_sender_access hash:/etc/postfix/black_white_list/whitelist, reject_non_fqdn_sender, reject_unknown_sender_do$
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain$


Я тут почитал...Оказывается белые списки не действуют на эту ошибку(450 4.7.1 Client host rejected: cannot find your hostname)
И решением предлагается убрать reject_unknown_client_hostname из правила smtpd_client_restrictions....Но добавить в smtpd_sender_restrictions
« Последнее редактирование: 18 Октября 2012, 00:36:48 от djrust »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #6 : 18 Октября 2012, 09:54:06 »
При доставке каждого письма происходит (может происходить) восемь проверок на разных этапах (но чаще всего используется четыре из них).

1. На этапе установки соединения. В main.cf - строка smtpd_client_restrictions
2. На этапе обработки команды helo (ehlo). Строка smtpd_helo_restrictions
3. При обработке команды etrn. Строка smtpd_etrn_restrictions.
4. На этапе обработки команды mail from. Строка smtpd_sender_restrictions
5. На этапе обработки команды rcpt to. Последовательно строки smtpd_relay_restrictions и smtpd_recipient_restrictions
6. На этапе обработки команды data. Строка smtpd_data_restrictions.
7. На этапе обработки окончания передачи данных. Строка smtpd_end_of_data_restrictions.

Из них etrn, data, end_of_data, relay используются достаточно редко, только в определенных случаях и нам сейчас неинтересны.

Остаются 4 - последовательно client, helo, sender и recipient. На каждом этапе (если соответствующая строка есть в конфиге) пробегаются указанные в строке проверки (на каждом этапе могут быть свои проверки, могут быть одинаковые). Проверка может быть либо типа permit, либо reject, либо check. Если проверка permit окончилась удачно, то этап считается пройденным, дальнейшие проверки на этапе не проводятся. Если проверка reject окончилась удачно, то письмо отражается (с тем или иным ответом посылающему серверу), дальнейшие проверки на этапе не проводятся. Проверка check может завершиться OK, т.е. принято, REJECT, т.е. отражено (в этих случаях дальнейшие проверки на этапе не проводятся) или DUNNO (не знаю; в этом случае продолжаются проверки на этапе). Если все проверки на этапе прошли, а решения так и не принято, этап считается пройденным (но я советую ставить в конце каждого этапа permit, что означает то же самое, просто нагляднее).

Добавлю: для понимания, что происходит, важно иметь базовое представление о протоколе SMTP. При доставке письма от сервера к серверу происходит:
- установка соединения
- взаимное представление серверов друг другу (HELO или EHLO)
- информация, от кого идет письмо (MAIL FROM)
- кому предназначено письмо (RCPT TO)
- само тело письма (DATA)
- окончание передачи (.)
- разрыв соединения (QUIT)

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

За полным перечнем возможных проверок на каждом этапе (а их достаточно много) - в документацию: http://www.postfix.org/postconf.5.html
« Последнее редактирование: 18 Октября 2012, 10:01:35 от Karl500 »

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #7 : 18 Октября 2012, 10:23:49 »
Спасибо за пояснения!

Цитировать
Из вышесказанного понятно, что последовательность проверок на каждом этапе - крайне важна. И то, чего Вы хотите, можно добиться именно тем методом, про который я Вам сказал.
Мне нужно добиться,чтобы определенные отправители не проходили проверки
Вы писали про
smtpd_helo_restrictionsНо у меня режется уже на
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks,  check_client_access hash:/etc/postfix/black_white_list/whitelist, reject_unknown_client_hostname, permitА конкрентнее не проходит reject_unknown_client_hostname
и белый список вида check_client_access hash:/etc/postfix/black_white_list/whitelist не работает!
« Последнее редактирование: 18 Октября 2012, 10:26:44 от djrust »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #8 : 18 Октября 2012, 10:52:19 »
Так покажите содержимое black_white_list/whitelist. И не забывайте при его изменении делать postmap имя_файла

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #9 : 18 Октября 2012, 10:55:20 »
Цитировать
Так покажите содержимое black_white_list/whitelist. И не забывайте при его изменении делать postmap имя_файла
Я показывал.....
cat whitelist
.firma.ru OK
.aol.com REJECT

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #10 : 18 Октября 2012, 10:59:05 »
Ну неправильно же. Тут могут быть ТОЧНЫЕ значения доменов (а домена .firma.ru в принципе не существует). Если же хотите, можете использовать regexp. Например, что-то типа

/.*\.firma\.ru/i OK

Но тогда поменяйте check_client_access hash:/etc/postfix/black_white_list/whitelist на

check_client_access regexp:/etc/postfix/black_white_list/whitelist

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #11 : 18 Октября 2012, 11:04:08 »
Цитировать
Ну неправильно же. Тут могут быть ТОЧНЫЕ значения доменов (а домена .firma.ru в принципе не существует)
Я просто сначала смотрел статью http://linuxway.ru/poleznoe/sozdanie-belyx-spiskov-adresov-v-postfix/
Там описано по другому.....сейчас проверю....
UPD: не прошло

log
Oct 18 11:05:08 mail postfix/smtpd[10989]: NOQUEUE: reject: RCPT from unknown
[195.2XX.1XX.50]: 450 4.7.1 Client host rejected: cannot find your hostname,
 [195.2XX.1XX.50];from=user@firma_otpravitel.ru to=<user@myfirma.ru> proto=ESMTP helo=<smtp.firma_otpravitel.ru>
main
smtpd_client_restrictions = sleep 1, reject_unauth_pipelining, permit_sasl_authenticated, permit_mynetworks, check_client_access hash:/etc/postfix/black_white_list/whitelist, reject_unknow$
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, check_helo_access hash:/etc/postfix/black_white_list/whitelist, reject_invalid_helo_hostname, reject_non_fqdn_helo_h$
smtpd_sender_restrictions =  permit_mynetworks, permit_sasl_authenticated,check_sender_access hash:/etc/postfix/black_white_list/whitelist, reject_non_fqdn_sender, reject_unknown_sender_do$
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain$

whitelist
firma.ru     OK
aol.com           REJECT



+ У меня еще одна проблема с паролями

пароль делаю пользователям 15-20 значный......А логинется дает только по 8 знакам.....это проблема с SQL?
$backends['sql'] = array (
    'name' => 'Exampe SQL Server',
    'preferred' => '',
    'password policy' => array(
        'minLength' => 8,
        'maxLength' => 25,
        'maxSpace' => 0,
        'minUpper' => 2,
        'minLower' => 1,
        'minNumeric' => 1,
        'minSymbols' => 1
    ),
    'driver' => 'sql',
    'params' => array(
        'phptype'    => 'mysql',
        'hostspec'   => 'localhost',
        'username'   => 'mailadmin',
        'password'   => '',
        'encryption' => 'crypt',
        'database'   => 'mail',
        'table'      => 'users',
        'user_col'   => 'email',
        'pass_col'   => 'password',
        'show_encryption' => false
« Последнее редактирование: 18 Октября 2012, 11:23:59 от djrust »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #12 : 18 Октября 2012, 11:18:16 »
Понятия не имею. Проверьте длину поля в таблице. Если в порядке - гуглить нужно.

Оффлайн djrust

  • Автор темы
  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #13 : 18 Октября 2012, 11:21:44 »
Белые списки все равно не работают!

Тут человек пишет http://forum.ixbt.com/topic.cgi?id=76:8830
Цитировать
если у вас происходит отклонение по причине "... Client host rejected: cannot find your hostname ...", это означает, что имя хоста smtp клиента недоступно, и "белый список" для этого хоста вида check_client_access regexp:/usr/local/etc/postfix/spam/white_sender, где usr/local/etc/postfix/spam/white_sender: /mail\.domain\.ru/i OK никогда не даст совпадение, ведь имя хоста недоступно, и для проверки передается только ip-адрес.

следствие: почта с данного хост всегда будет отклонена, пока в списке smtpd_client_restrictions присутствует проверка reject_unknown_client.
« Последнее редактирование: 18 Октября 2012, 11:27:15 от djrust »

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: 450 4.7.1 client host rejected cannot find your hostname
« Ответ #14 : 18 Октября 2012, 11:26:35 »
Ну подумайте сами, а? Подсказки:

1. В whitelist у Вас topservice.ru
2. На этапе установки соединения Ваш сервер что видит? Вот то, что он видит, и нужно вписать в файл whitelist.


Пользователь решил продолжить мысль 18 Октября 2012, 11:27:15:
Белые списки все равно не работают!

Сильное заявление...

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.