Xorg от непривилегированного пользователя

12/Январь/2024 gdm3xorgkvmsecurity

Cage for an unprivileged user 1600x900 unprivileged-user-cage.png
Cage for an unprivileged user

Образно.
Есть некий софт, которому нужны иксы.
Казалось бы, скачал, поставил, запустил - пользуйся.
Но вот, ведь, проблема, подобный софт (для меня подобный - абсолютно весь, не входящий в штатный репозиторий debian) я не хочу запускать:

  1. На своём хосте.
  2. От своего пользователя.
  3. Под Xorg моего пользователя.
  4. Допускать в мою/мои сети, в том числе 127.0.0.0

Кроме того, тот же браузер для “полазить” по сайтам и браузер для клиент-банка, это не один и тот же браузер, пользователь и, иногда, система.
Пункты 1, 2, 4, сейчас не рассматриваем, речь пойдёт об X.

В debian при стандартных настройках системы в качестве display manager используется LightDM.
В нём можно включить listen tcp, но процессы Xorg он запускает от root.
В gdm3 же наоборот, по умолчанию, он запускает Xorg от пользователя, который логинится в окружение, но в нём сломали возможность включить listen tcp.
Точнее оставили возможность выключить nolisten tcp,
но не включить listen tcp.

Для этого необходимо отредактировать обёртку над X.

Xorg от непривилегированного...

Перезапуск модуля wifi без перезагрузки системы

25/Июль/2023 iwlwifirfkill

На ноутбуке или из-за перегрева, или из-за продолжительной работы, или же из-за перегрузки канала количеством пакетов в секунду pps, возникает ошибка.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[2250886.567817] ieee80211 phy0: Hardware restart was requested
[2250886.602451] iwlwifi 0000:24:00.0: Radio type=0x1-0x2-0x0
[2250886.899471] iwlwifi 0000:24:00.0: Radio type=0x1-0x2-0x0
[2250887.042217] iwlwifi 0000:24:00.0: Microcode SW error detected.  Restarting 0x2000000.
[2250887.042225] iwlwifi 0000:24:00.0: Loaded firmware version: 18.168.6.1 6000g2a-6.ucode
[2250887.042348] iwlwifi 0000:24:00.0: Start IWL Error Log Dump:
[2250887.042349] iwlwifi 0000:24:00.0: Status: 0x0000004C, count: 6
[2250887.042482] iwlwifi 0000:24:00.0: Start IWL Event Log Dump: nothing in log
[2250887.042486] iwlwifi 0000:24:00.0: BUG_ON, Stop restarting
[2250887.128058] iwlwifi 0000:24:00.0: Command REPLY_ADD_STA failed: FW Error
[2250887.128063] wlan0: failed to remove key (0, 01:11:88:ab:2c:99) from hardware (-5)
[2250887.128112] iwlwifi 0000:24:00.0: iwl_trans_wait_tx_queues_empty bad state = 0
[2250887.128132] iwlwifi 0000:24:00.0: Command REPLY_ADD_STA failed: FW Error
[2250887.128133] wlan0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-5)
[2250887.228460] iwlwifi 0000:24:00.0: Request scan called when driver not ready.
[2250902.567848] iwlwifi 0000:24:00.0: Command REPLY_RXON failed: FW Error
[2250902.567857] iwlwifi 0000:24:00.0: Error clearing ASSOC_MSK on BSS (-5)
[2250902.587425] iwlwifi 0000:24:00.0: Radio type=0x1-0x2-0x0
[2250902.637530] iwlwifi 0000:24:00.0: Command COEX_PRIORITY_TABLE_CMD failed: FW Error
[2250902.637535] iwlwifi 0000:24:00.0: Could not complete ALIVE transition: -5
[2250902.649786] iwlwifi 0000:24:00.0: Failed to run INIT ucode: -5
[2250902.649819] iwlwifi 0000:24:00.0: Unable to initialize device.
[2250960.530138] iwlwifi 0000:24:00.0: Radio type=0x1-0x2-0x0
[2250960.665000] iwlwifi 0000:24:00.0: Unable to initialize device.


Обычно решается перезагрузкой системы, но когда (всегда) открыт миллион окон и запущен миллион скриптов поверх десятков смонтированных разделов, перезагружать систему не очень удобный вариант.

Перезапуск модуля wifi...

Настройка непривилегированного LXC

21/Март/2023 lxcuidgidsecurity

Непривилегированные контейнеры LXC 1600x900 unprivileged_lxc_containers.png
Непривилегированные контейнеры LXC

Установка и настройка непривилегированного контейнера lxc со смещением uid/gid.

1
LANG=C SUITE=bookworm MIRROR=https://ftp.debian.org/debian/ lxc-create --name=unprivileged-lxc --template=debian


Добавим дополнительные подгруппы subuids/subgids для пользователя root.

1
2
3
4
5
usermod --add-subuids 200000-265535 root
usermod --add-subgids 200000-265535 root
# для удаления подгрупп
# usermod --del-subuids 200000-265535 root
# usermod --del-subgids 200000-265535 root
Настройка непривилегированного LXC...

Держим заголовки cryptsetup отдельно от блочного устройства

5/Ноябрь/2022 cryptsetuplukssecuritydetached-header

Отдельное хранение заголовков cryptsetup даёт некоторые преимущества, во-первых, без них, само блочное устройство - набор энтропии, по которому нельзя определить тип раздела / шифрования / устройства.
Во-вторых, это файл малого размера, который просто бэкапить, не прибегая к dd.

Простая шпаргалка


Генерируем пароль, записываем от руки гусиным пером на бересте, прячем под пнём.

1
cat /dev/urandom | tr -dc '[[:print:]]' | fold -w 256 | sed 's/ //g' | fold -w128 | head -n 1
Держим заголовки cryptsetup...

Настройка webssh с ограничением сетевых подключений

26/Сентябрь/2020 nginxwebsshxterm-js

Прежде чем начать

Приведённый вариант настройки хоть и имеет некоторую условную степень защиты от посторонних, тем не менее он не предполагает публичного использования, включая обычных пользователей, он рассматривается как запасной канал управления для домашнего сервера и только для него в случае, если штатные и надёжные каналы нет возможности использовать, например, если доступен только браузер в телефоне.
Хотя, для телефона есть другие варианты, тот же Termux, и телефон не может в полной мере являться доверенным устройством, тем не менее, пример есть пример.

Несмотря на то, что сам wssh-клиент может использовать one-time-password, основной защитой должен являться nginx с auth_basic и связкой логин-пароль для location /webssh/ которые я советую генерировать новые после использования старых. Так как они могут быть использованы для авторизации с оборудования к которому нет полного доверия.
Так, конечно же, делать ни в коем случае не надо.
Но если очень хочется, что-то включить/выключить/перезапустить, то можно.

Настройка webssh с...
Страница 2 из 3