Отключение сетевого доступа для группы пользователей, но разрешение только smtp

Отключение сетевого доступа для группы пользователей, но разрешение только smtp

У нас есть среда, в которой наши пользователи подключаются к системе по ssh, а их оболочка настроена на простой запуск Mutt в их $HOME/Maildir. Мы хотим ограничить наших пользователей, чтобы они могли только отправлять/получать почту. Мы понимаем, что они не могут выполнять произвольные команды, поскольку у них нет приглашения оболочки, но некоторые пользователи могут быть ненадежными и могут найти способ выйти из Mutt и получить доступ к оболочке через выполнение кода. В основном мы думаем о наихудшем сценарии. Мы знаем об учетных записях SELinux и guest_u, но мы нашли лучшее решение. Поскольку все наши пользователи являются частью одной группы, скажем, «пользователи», мы можем использовать следующее правило iptables для отключения исходящих пакетов. ping, dig, wget и т. д. не работают, но отправка исходящих сообщений работает. Это именно то, что мы хотим, но почему пользователям вообще разрешен какой-либо исходящий доступ через Mutt, если им запрещено использовать другие инструменты, такие как dig, host, ping и т. д.?

Вот правило, которое мы добавили:

$IPT -A OUTPUT -p all -m owner --gid-owner users -j DROP

решение1

Пока пользователи используют Mutt только для доступа к локальной папке Maildir и отправки почты с помощью почтового сервера, они не взаимодействуют с внешним миром.

Однако Mutt позволяет запускать команды оболочки. Вы можете изменить оболочку по умолчанию, например, на rbash, или использовать среду chrooted, чтобы еще больше ограничить действия пользователей. Изменение оболочки по умолчанию выполняется с помощью

shell /local/bin/rbash

в /etc/Muttrc.

Связанный контент