Как отключить любые виды удаленного управления (SSH, X, NFS, SMB, ... что еще?)
для определенного пользователя?
Или наоборот: как отключить удаленное управление?
для всех пользователей, кроме одного?
Есть ли способ сделать это в одном месте?
(Поместив пользователя в определенную группу или около того)
security = user
), и я думаю, что CIFS также поддерживает использование UID при доступе к отдельным файлам, как и NFS. Имена пользователей и пароли обычно хранятся в файле с названием passdb.tdb
, не в /etc/shadow
, так passwd
не меняет пароль пользователя Samba.Как видите, нет простого способа включить / отключить доступ к этим службам для конкретного пользователя.
LE: пара сетевых сервисов, включая RPC (используется NFS) и SSH, используют hosts_access механизм (man hosts_access
) для аутентификации / авторизации на основе хоста. Вам нужно будет отредактировать /etc/hosts.allow
и /etc/hosts.deny
для этого. По сравнению с iptables, преимущество состоит в том, что вам не нужно знать порты служб, но не все службы поддерживают этот механизм. Параноики будут использовать и то, и другое :-)
LE2: hosts_access также поддерживает имена пользователей, но, как ни странно, это небезопасно.
Я не уверен насчет SMB и NFS, так как никогда ими не пользуюсь. На моих серверах SSH - единственная служба, доступная для удаленного доступа, и я могу ограничить их доступ с помощью директивы AllowUser в sshd_config. В последних версиях OpenSSH есть внутренний клиент sftp (без внешних зависимостей), который можно настроить. Это позволяет относительно легко настроить пользователя с доступом sftp только к каталогу с chroot'ом - например, когда им нужно обновить веб-контент и т. Д.
Subsystem sftp internal-sftp
MatchUser Joe
ForceCommand internal-sftp
ChrootDirectory /var/www
the chroot dir and all above it must be:
* owned by root
* not group or other writable
Ограничительный брандмауэр IPTABLES с DROP по умолчанию будет работать достаточно эффективно (не забудьте оставить дыру для себя и локального хоста). ;-) Вручную добавьте статический IP-адрес "допустимого" хоста (ов) для каждого порта в отдельности. Нет IP-адреса, не обслуживается. Примечание. Это не предотвратит создание туннелей к разрешенным портам для разрешенного хоста. Кроме того, как упомянул Кристиан Чиупуту (голосование «за» ... ;-), в samba есть раздел «разрешенные хосты», в NFS есть диапазон, в который вы экспортируете, перенаправление X можно отключить, а ssh можно заблокировать или запретить.
Вы можете легко отключить учетную запись пользователя с помощью этой команды:
passwod <username> -l
И снова включите его:
passwod <username> -u
Будет ли это полностью эффективным для блокировки доступа пользователя, зависит от того, какие службы вы используете. Но они точно не смогут войти в систему.
Вы хотите изучить PAM: http://www.kernel.org/pub/linux/libs/pam/
Ура
Я не могу добавить комментарий, поэтому ... что на самом деле пытается сделать OP, остановить пользователя от доступа к клиентам с удаленными возможностями? Отключить весь доступ в Интернет? Вы действительно хотите предотвратить входящий доступ к портам, используемым для удаленного доступа [sudo ufw enable
делает это, поскольку по умолчанию все входящие запросы отбрасываются] ??
Удаление битов выполнения и / или чтения в клиентских двоичных файлах, например, ssh
запретит пользователю доступ к нему [sudo chmod o-rwx /usr/bin/ssh
остановит его использование кем угодно, кроме владельца (root) и группы (root), при условии, что у них нет разрешения на его использование через sudo] - однако они могут просто установить новый клиент, если вы оставите им права на установку.
Это многопользовательская машина. Если это последовательные несколько пользователей (а не параллельные), тогда вы можете запустить скрипт брандмауэра при входе в систему для непривилегированных пользователей и отключить различный трафик. Но тогда ваш пользователь может туннелировать трафик через нетрадиционные порты.
Вы можете обойти любой из них, загрузив отдельную ОС с флешки или DVD и затем разрешив доступ к компьютеру. Это возвращает нас к главному вопросу: «Чего вы на самом деле пытаетесь достичь?».