Нужно в cyrus аутентифицироваться по login, passwd и ip. То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных. Никто не подскажет в каком направлении копать ? -- Biryukov Andrei ElVisti Information Center, Kiev, Ukraine. E-mail amb@visti.net =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Mon, Apr 25, 2005 at 06:43:12PM +0300, Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
vim lib/auth_*.c? -- VP992-RIPE | The girl opened her mouth, I opened my veins, | The girl opened her heart, I opened a door to another world... | (c) Tiamat '92, Clouds, "Undressed". =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 06:43:12PM +0300, Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
vim lib/auth_*.c? Наверное таки придется, но пока не потеряна надежда найти какой-нибуть модуль для аутентификации боле-менее стандартный.
-- Biryukov Andrei ElVisti Information Center, Kiev, Ukraine. E-mail amb@visti.net =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Mon, Apr 25, 2005 at 07:17:12PM +0300, Andrei Biryukov wrote:
Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 06:43:12PM +0300, Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
vim lib/auth_*.c? Наверное таки придется, но пока не потеряна надежда найти какой-нибуть модуль для аутентификации боле-менее стандартный.
Ну, если говорить предметно, то могу предложить еще такой вариант без грязных хаков: заводишь два цирроза, прибиваешь каждый из них к разным IP одного тазика, каждому скармливаешь свою базу для авторизации, после чего то, что нужно допиливаешь файерволами. Схема не особо изящная, но рабочая и сырцы править не нужно. -- VP992-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Mon, Apr 25, 2005 at 08:15:37PM +0300, Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 07:17:12PM +0300, Andrei Biryukov wrote:
Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 06:43:12PM +0300, Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
vim lib/auth_*.c? Наверное таки придется, но пока не потеряна надежда найти какой-нибуть модуль для аутентификации боле-менее стандартный.
Ну, если говорить предметно, то могу предложить еще такой вариант без грязных хаков: заводишь два цирроза, прибиваешь каждый из них к разным IP одного тазика, каждому скармливаешь свою базу для авторизации, после чего то, что нужно допиливаешь файерволами.
Схема не особо изящная, но рабочая и сырцы править не нужно.
Хм. Вообще-то cyrus прекрасно сотрудничает с libwrap Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике...
-- VP992-RIPE
-- NO37-RIPE
On Mon, Apr 25, 2005 at 08:15:37PM +0300, Vladimir A. Podgorny wrote:
vim lib/auth_*.c? Наверное таки придется, но пока не потеряна надежда найти какой-нибуть модуль для аутентификации боле-менее стандартный.
Ну, если говорить предметно, то могу предложить еще такой вариант без грязных хаков: заводишь два цирроза, прибиваешь каждый из них к разным IP одного тазика, каждому скармливаешь свою базу для авторизации, после чего то, что нужно допиливаешь файерволами.
Схема не особо изящная, но рабочая и сырцы править не нужно.
Кстати, а если допилить SASL, чтобы можно было передавать в качестве параметра в sql-модуль IP адрес в дополнение к %u, %r и %p? К сожалению, в потрохах SASL не разбираюсь, поэтому объем работ оценить не могу. -- Andrew Degtiariov DA-RIPE =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Oleg V. Nauman wrote:
Хм. Вообще-то cyrus прекрасно сотрудничает с libwrap Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике... Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
-- Biryukov Andrei ElVisti Information Center, Kiev, Ukraine. E-mail amb@visti.net =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 07:17:12PM +0300, Andrei Biryukov wrote:
Vladimir A. Podgorny wrote:
On Mon, Apr 25, 2005 at 06:43:12PM +0300, Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
vim lib/auth_*.c?
Наверное таки придется, но пока не потеряна надежда найти какой-нибуть модуль для аутентификации боле-менее стандартный.
Ну, если говорить предметно, то могу предложить еще такой вариант без грязных хаков: заводишь два цирроза, прибиваешь каждый из них к разным IP одного тазика, каждому скармливаешь свою базу для авторизации, после чего то, что нужно допиливаешь файерволами. Хм... Масштабно мыслишь ! А что два cyrus одновременно запущенных на одной машине будут нормально работать с одним письмохранилищем ? На практике пробовалось ?
-- Biryukov Andrei ElVisti Information Center, Kiev, Ukraine. E-mail amb@visti.net =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Tue, Apr 26, 2005 at 02:21:34PM +0300, Andrei Biryukov wrote:
Ну, если говорить предметно, то могу предложить еще такой вариант без грязных хаков: заводишь два цирроза, прибиваешь каждый из них к разным IP одного тазика, каждому скармливаешь свою базу для авторизации, после чего то, что нужно допиливаешь файерволами. Хм... Масштабно мыслишь ! А что два cyrus одновременно запущенных на одной машине будут нормально работать с одним письмохранилищем ? На практике пробовалось ?
У нас на freemail.com.ua/inet.ua аналогичная схема работает за исключением некоторых деталей. -- VP992-RIPE | The girl opened her mouth, I opened my veins, | The girl opened her heart, I opened a door to another world... | (c) Tiamat '92, Clouds, "Undressed". =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Tue, Apr 26, 2005 at 02:18:31PM +0300, Andrei Biryukov wrote:
Oleg V. Nauman wrote:
Хм. Вообще-то cyrus прекрасно сотрудничает с libwrap Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике... Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
Если ident открыт на тазике клиента и известен username, то почему бы и нет. Да, слишком много "если", и схему простой не назовешь.
-- Biryukov Andrei ElVisti Information Center, Kiev, Ukraine. E-mail amb@visti.net
-- NO37-RIPE
On Tue, Apr 26, 2005 at 02:51:44PM +0300, Oleg V. Nauman wrote:
Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике...
Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
Если ident открыт на тазике клиента и известен username, то почему бы и нет.
Вся проблема в том, что обычно он отсутствует как класс или закрыт.
Да, слишком много "если", и схему простой не назовешь.
Ну, задача тоже несколько нетривиальна. Но тем не менее, решаема. Причем IMHO все-таки не через hosts.allow/deny. -- VP992-RIPE | The girl opened her mouth, I opened my veins, | The girl opened her heart, I opened a door to another world... | (c) Tiamat '92, Clouds, "Undressed". =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Tue, Apr 26, 2005 at 03:00:53PM +0300, Vladimir A. Podgorny wrote:
On Tue, Apr 26, 2005 at 02:51:44PM +0300, Oleg V. Nauman wrote:
Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике...
Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
Если ident открыт на тазике клиента и известен username, то почему бы и нет.
Вся проблема в том, что обычно он отсутствует как класс или закрыт.
Да, слишком много "если", и схему простой не назовешь.
Ну, задача тоже несколько нетривиальна. Но тем не менее, решаема. Причем IMHO все-таки не через hosts.allow/deny.
Ну как сказать? Где-то это был намек на организацию собственного custom proxy. Я бы ее решал :) Но потому как мы слишком мало знаем о полной задаче - подходы к решению задачи тоже предлагаются разные.
-- VP992-RIPE | The girl opened her mouth, I opened my veins, | The girl opened her heart, I opened a door to another world... | (c) Tiamat '92, Clouds, "Undressed".
-- NO37-RIPE
On Tue, Apr 26, 2005 at 02:26:04PM +0300, Vladimir A. Podgorny wrote: VAP> On Tue, Apr 26, 2005 at 02:21:34PM +0300, Andrei Biryukov wrote: VAP> > >Ну, если говорить предметно, то могу предложить еще такой VAP> > >вариант без грязных хаков: заводишь два цирроза, прибиваешь VAP> > >каждый из них к разным IP одного тазика, каждому VAP> > >скармливаешь свою базу для авторизации, после чего то, что VAP> > >нужно допиливаешь файерволами. VAP> > Хм... Масштабно мыслишь ! VAP> > А что два cyrus одновременно запущенных на одной машине будут нормально VAP> > работать с одним письмохранилищем ? На практике пробовалось ? VAP> У нас на freemail.com.ua/inet.ua аналогичная схема работает VAP> за исключением некоторых деталей. звыняйте - но это не совсем так цироз один - просто с виртуал domain -- Best regard, Aleksander Trotsai aka MAGE-RIPE aka MAGE-UANIC My PGP key at ftp://blackhole.adamant.ua/pgp/trotsai.key[.asc] И опять рекурсия... =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Tue, Apr 26, 2005 at 14:18:31, amb wrote about "[uanog] Re: аутентификация cyrus":
Хм. Вообще-то cyrus прекрасно сотрудничает с libwrap Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике... Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
Он имеет понятие только про то с чем вызвали функцию контроля (hosts_access() или hosts_ctl()). А в неё можно передавать что угодно - sshd, например, умеет передавать туда $login@$host. Так что можно вызвать ещё раз hosts_access() с нужными данными. Другой вопрос, что на серваке с дофига пользователей рисовать всё это в hosts.allow, мягко говоря, несерьёзно. Нужно что-то с db'шной структурой. Или хотя бы линейный список из одних логинов, чтобы резко облегчить парсинг. -netch- =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Wed, Apr 27, 2005 at 08:59:31AM +0300, Alexander Trotsai wrote:
On Tue, Apr 26, 2005 at 02:26:04PM +0300, Vladimir A. Podgorny wrote: VAP> On Tue, Apr 26, 2005 at 02:21:34PM +0300, Andrei Biryukov wrote:
VAP> > >Ну, если говорить предметно, то могу предложить еще такой VAP> > >вариант без грязных хаков: заводишь два цирроза, прибиваешь VAP> > >каждый из них к разным IP одного тазика, каждому VAP> > >скармливаешь свою базу для авторизации, после чего то, что VAP> > >нужно допиливаешь файерволами. VAP> > Хм... Масштабно мыслишь ! VAP> > А что два cyrus одновременно запущенных на одной машине будут нормально VAP> > работать с одним письмохранилищем ? На практике пробовалось ?
VAP> У нас на freemail.com.ua/inet.ua аналогичная схема работает VAP> за исключением некоторых деталей.
звыняйте - но это не совсем так цироз один - просто с виртуал domain Так наверно ж можно 2 цируса в jail'ы/UML linux заткнуть?
-- Best regards, Paul Arakelyan. =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
On Tuesday 26 April 2005 21:51, Oleg V. Nauman wrote:
On Tue, Apr 26, 2005 at 03:00:53PM +0300, Vladimir A. Podgorny wrote:
On Tue, Apr 26, 2005 at 02:51:44PM +0300, Oleg V. Nauman wrote:
Можно попробовать прочесть man 5 hosts_access, и даже попробовать это на практике...
Похоже не то. hosts.allow ведь понятия не имеет про login который на imap или pop3 пришел...
Если ident открыт на тазике клиента и известен username, то почему бы и нет.
Вся проблема в том, что обычно он отсутствует как класс или закрыт.
Да, слишком много "если", и схему простой не назовешь.
Ну, задача тоже несколько нетривиальна. Но тем не менее, решаема. Причем IMHO все-таки не через hosts.allow/deny.
Ну как сказать? Где-то это был намек на организацию собственного custom proxy. Я бы ее решал :) Но потому как мы слишком мало знаем о полной задаче - подходы к решению задачи тоже предлагаются разные.
в природе такой прокси есть, я только никак не могу найти URL суть там в том, что пользователь, после авторизации, пробрасывается на нужный тебе сервер. работает с IMAP и POP3 -- Dimitry Hе давайте обмануть себя в другом месте. Покупайте у нас!(с) =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
Я бы наверное делал так: правим cyrus на предмет того, чтобы он в realm вписывал ip клиента, в ipamd.conf пишем sasl_sql_select: select password from mailuser where login='%u' and allow_connect('%u', '%r') а в базе пишем хранимку allow_connect, которая будет возвращать зя/низя. Самая сложная часть получается поправить в нужном месте cyrus-imapd -- Mykola Dzham, LEFT-(UANIC|RIPE) JID: levsha@jabber.kiev.ua =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
Mykola Dzham wrote:
Andrei Biryukov wrote:
Нужно в cyrus аутентифицироваться по login, passwd и ip.
То есть с определенных ip пускаем на pop3 и imap всех, а со всех остальных ip пускаем на cyrus только избранных.
Никто не подскажет в каком направлении копать ?
Я бы наверное делал так: правим cyrus на предмет того, чтобы он в realm вписывал ip клиента, в ipamd.conf пишем sasl_sql_select: select password from mailuser where login='%u' and allow_connect('%u', '%r') а в базе пишем хранимку allow_connect, которая будет возвращать зя/низя. Самая сложная часть получается поправить в нужном месте cyrus-imapd
так не будут работать virtdomains =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message
participants (10)
-
Alexander Moskalenko
-
Alexander Trotsai
-
Andrei Biryukov
-
Andrew Degtiariov
-
Dmitry Alyabyev
-
Mykola Dzham
-
Oleg V. Nauman
-
Paul Arakelyan
-
Valentin Nechayev
-
Vladimir A. Podgorny