Целесообразно ли конфигурировать виртуальных пользователей в Postfix?
Приветствую,
Встала задача настроить маленький почтовый сервер, для одного домена и пары-тройки пользователей, в качестве MTA/MDA будут использоваться Postfix и Dovecot. Также Dovecot будет заниматься SASL аутентификацией пользовательских аккаунтов. И тут возникает два вопроса:
1. Стоит ли конфигурировать виртуальных пользователей для Postfix, или в данном случае можно обойтись использованием UNIX аккаунтов? Рост числа пользователей вряд ли произойдет когда-либо (как и количество обслуживаемых доменов).
2. В чем преимущество хранения виртуальных пользовательских аккаунтов в базе данных, например MySQL, кроме удобства обслуживания при постоянно изменяющейся структуре пользовательских аккаунтов? Особенно в контексте безопасности, что немаловажно.
1. Правильно будет использовать виртуальных пользователей - из соображений безопасности. Меньше шансов что вас поломают.
2. Да никакого особого преимущества в MySQL нет, тем более когда список пользователей у вас небольшой. Но если смотреть в перспективу, то лучше использовать базу данных.
А как шансы на то, что поломают связаны с виртуальностью пользователей? Чем вектора атаки в случае, если пользователи виртуальны, отличается от векторов атаки, если пользователи невиртуальны, но им запрещен логин в консоль?
@bk0011m если у пользователя вместо шелла стоит /sbin/nologin в /etc/passwd, то подбирать пароль можно сколько угодно - доступа к локальной системе это не даст.
@alexclear Согласен. Но допустим прошло какое-то время. Вы привыкли.. и однажды забыли указать /sbin/nologin
Или допустим ваш напарник забыл, или не знал.
Лучше сразу не привыкать так делать.
@powerthrash Я подозреваю, если написать туда любую другую программу, которая не является шеллом - результат будет таким же. Если написать просто набор букв и цифр - результат будет таким же. Но вот если программно заводить пользователей, указывая в качестве шелла что-то, чего нет в /etc/shells - может получиться не очень хорошо. И редхэтовский стандарт - это именно /sbin/nologin.
@bk0011m С другой стороны, в данном случае, проще научить себя и напарника ставить таки /sbin/nologin, чем поддерживать СУБД в виде ненужного оверхеда, для задач двух-трех пользователей.