Skip to content

LTSM security settings

AndreyBarmaley edited this page Oct 4, 2022 · 13 revisions

Ограничение сервисов через 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_FOWNER 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

Стандартная схема DAC ограничения прав реализуется через группы, рекомендуемая схема групп:

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 ограничен с правами 0600

Ограничение ресурсов для сессий пользователей реализуется через системные возможности 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 поддерживают ГОСТ алгоритмы шифрования.
см соответствующие настройки конфигурации

Clone this wiki locally