Bug 7379 - Предлагаю внести изменения для демона spamd
Summary: Предлагаю внести изменения для демона spamd
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: spamassassin-spamd (show other bugs)
Version: unstable
Hardware: all Linux
: P1 enhancement
Assignee: Sergey Y. Afonin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-15 14:13 MSD by Sergei Epiphanov
Modified: 2008-03-10 12:59 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergei Epiphanov 2005-07-15 14:13:53 MSD
На данный момент spamd запускается под root. Предлагаю сделать его не-root:

1. Завести псевдопользователя spamd и дать ему группу mail
2. В /etc/sysconfig/spamd написать:
RUNAS=spamd
PIDFILE=/var/run/spamd/spamd.pid
SPAMDOPTIONS="-L"
3. Завести каталог /var/run/spamd с правами 755 (или 770 как у меня) для
spamd:mail (для того, чтобы он мог в качестве пользователя spamd писать в него)
4. Изменить файл /etc/rc.d/init.d/spamd:
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS"
-- spamd -d --pidfile=$PIDFILE $SPAMDOPTIONS
на
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$RUNAS"
-- spamd -d --pidfile="$PIDFILE" --username="$RUNAS" $SPAMDOPTIONS
5. Права на каталог /var/spool/spamassassin сделать 755 (или 775 как у меня),
владелец:группа: root:mail.

Для чего это надо? Когда spamd работает как root, то для обеспечения
безопасности при связи с клиентом он менять uid на uid клиента. Из-за этого при
работе нескольких разных клиентов, в частности, postfix и обычный пользователь,
какой-нибудь из них не может обработать почту из-за того, что возникает ошибка
работы с базой данных (не может открыть), и spamd начинает пропускать почту без
проверки. Под обычным пользователем этого не наблюдается.

Предложенная ситуация на моей машине работает уже около полугода без единой
проблемы.

Да, пункт 4 исправляет проблему с выбором пользователя, отличного от root, через
/etc/sysconfig/spamd.
Comment 1 Dmitry V. Levin 2005-07-22 22:36:10 MSD
Мне казалось, что я уже высылал Виктору патч с необходимыми изменениями.
Вы уверены, что версия пакета в Сизифе не содержит решения задачи (путем
редактирования /etc/sysconfig/spamd)?
Comment 2 Sergei Epiphanov 2005-07-25 13:39:38 MSD
Нет, не внесено. Хотелось бы, чтобы spamd по-умолчанию работал бы под
пользователем spamd, а не root (то есть в /etc/rc.d/init.d/spamd написать
RUNAS=spamd, а не RUNAS=root). Если же в /etc/sysconfig/spamd внести
RUNAS=spamd, то демон не может создать/изменить файл /var/run/spamd.pid.
Предлагаю для spamd сделать отдельный каталог /var/run/spamd и уже в нём пусть
играется.

Ещё, для spamd необходимо добавить параметр --username="$RUNAS". Без него демон
будет всегда root, и функции start_daemon и stop_daemon не будут его видеть,
если RUNAS поставить отличным от root.

Желательно в /etc/sysconfig/spamd добавить строки

RUNAS=spamd
PIDFILE=/var/run/spamd/spamd.pid

чтобы не пришлось искать нужные комбинации бог знает где.
Comment 3 Vladimir V. Kamarzin 2005-11-28 11:10:37 MSK
Опять установил спамассассин и что? Всё в том же плачевном состоянии - bayes и
autolearn из коробки не работают :( С этим багом что-нибудь собираются делать
или нет?
Comment 4 Vladimir V. Kamarzin 2005-11-28 12:07:37 MSK
Хотя, надо признать что некоторые подвижки есть (создан юзер spamd и необходимые
директории).

Итак, чтобы получить нормально работающие autolearn и bayes я сделал:

В /etc/sysconfig/spamd прописал
RUNAS=spamd
PID=/var/run/spamd/spamd.pid

/etc/init.d/spamd:
к опциям запуска spamd добавил
--username="$RUNAS"

Дал права группе на доступ к базе: 
chown :spamd /var/spool/spamassassin/
Comment 5 ildar 2006-06-16 15:50:32 MSD
IMHO надо делать NMU.
Comment 6 serpiph 2006-06-16 16:27:59 MSD
С сайта http://www.spamassassin.org/ :

2006-06-06: SpamAssassin 3.1.3 released! This is an important security release
to fix CVE 2006-2447; read the advisory to see if you need to upgrade.
Visit the downloads page to get the latest version. (The release announcement)

При этом лечится проблема, указанная в
http://spamassassin.apache.org/advisories/cve-2006-2447.txt

Эта проблема позволяет в текущем варианте получить remote root в системе.

Нужна новая версия! Где мантейнер?
Comment 7 Dmitry V. Levin 2006-06-16 16:34:33 MSD
CVE-2006-2447 это ерунда, в таком виде spamassassin никто не использует.
Новая версия 3.1.3 уже давно в Сизифе.

Что касается нормального запуска spamd не из под root, то с этим в 3.1.x стало
хуже, я патчил но результат мне не понравился и я откатился на старую версию.
Comment 8 serpiph 2006-06-16 16:47:11 MSD
(In reply to comment #7)
> CVE-2006-2447 это ерунда, в таком виде spamassassin никто не использует.
> Новая версия 3.1.3 уже давно в Сизифе.
> 
> Что касается нормального запуска spamd не из под root, то с этим в 3.1.x стало
> хуже, я патчил но результат мне не понравился и я откатился на старую версию.

Насчёт "давно". Она появилась в репозитарии только 13 июня, чего конечно, я не
мог увидеть.

Непонятно, зачем ему рутовые права, кроме как открыть порт ниже 1024?
Comment 9 Victor Forsyuk 2008-02-26 15:00:40 MSK
По оригинальному предложению ставлю WONTFIX.