-
Notifications
You must be signed in to change notification settings - Fork 3
LTSM security settings
Ограничение сервисов через systemd
PrivateTmp=false
PrivateDevices=true
ProtectSystem=full
- PrivateTmp - доступ в /tmp необходим, т.к. там создается стандартный сокет от системы X11
- PrivateDevices — отбирает доступ к устройствам из /dev, оставляя доступ только к стандартным устройствам, вроде /dev/null, /dev/zero, /dev/random и прочим.
- ProtectSystem — монтирует /usr и /boot в режим только для чтения, а при передаче аргумента «full», делает то же самое еще и с /etc.
Для работы менеджера необходимы следующие capabilites:
CapabilityBoundingSet=CAP_KILL CAP_CHOWN CAP_SETUID CAP_SETGID CAP_SYSLOG CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH
Для работы коннектора необходимы следующие capabilites:
CapabilityBoundingSet=CAP_IPC_LOCK CAP_SYSLOG CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH
Ограничение прав реализуется через группы, рекомендуемая схема групп:
groupadd -r ltsm-shm
groupadd -r ltsm-dbus
groupadd -r ltsm-auth
useradd -c "LTSM xvfb user" -d /var/lib/ltsm -g ltsm-shm -G ltsm-auth,ltsm-dbus -l -m -N -r -s /sbin/nologin ltsm-xvfb
группа ltsm-shm используется для ограничения прав доступа на shm между ltsm_connector и Xvfb если их разделить по отдельным системным пользователям
группа ltsm-dbus используется для ограничения прав доступа на шину dbus ltsm.manager.service
группа ltsm-auth используется для ограничения прав доступа на xauthfile для сессий пользователей
пользователь ltsm-xvfb для сервиса ltsm_connector и Xvfb, их можно разделить но в системном Xvfb доступ к shm ограничен с правами 600
Ограничение ресурсов для сессий пользователей реализуется через системные возможности pam_limits,
security/limits.conf example:
@users hard nproc 30
@users hard priority 10
@users hard as 262144
@users hard nofile 128
Аутентификация и авторизация пользователей осуществляется через PAM, рекомендуемый сервисный конфиг:
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session include system-auth
session include postlogin
Так же корректно обрабатывается аудит входа/выхода и несанкционированные попытки доступа в систему
Шифрование поддерживается с помощью библиотеки gnutls, новые версии gnutls поддерживают ГОСТ алгоритмы шифрования.
см соответствующие настройки конфигурации