Подробный гайд: Режим киоска на Astra Linux с Firefox
Данный гайд описывает настройку полнофункционального режима киоска в Astra Linux (Common Edition 1.7/1.8 и Special Edition) с использованием браузера Firefox (по умолчанию firefox-esr). Конфигурация обеспечивает автоматический вход, запуск браузера в полноэкранном режиме, блокировку переключения терминалов, отключение горячих клавиш и ограничение настроек браузера.
Важно:
- Перед внесением изменений создайте резервную копию конфигурационных файлов. На Astra Linux Special Edition учитывайте активные механизмы мандатного контроля доступа (MAC) и
fly-dm.
Шаг 0. Подготовка системы
sudo apt update
sudo apt install x11-xserver-utils
Убедитесь, что установлен Firefox ESR (в Astra поставляется по умолчанию):
firefox-esr --version
Если используется обычная сборка Firefox, замените firefox-esr на firefox в скриптах ниже.
Шаг 1. Создание пользователя киоска
sudo useradd -m -s /bin/bash kiosk
sudo passwd -d kiosk # Удаление пароля для автологина (опционально)
Для безопасности можно задать сложный пароль и использовать
autologinбез пароля через менеджер входа.
Шаг 2. Настройка автологина
Для Astra Linux CE (LightDM)
Создайте файл /etc/lightdm/lightdm.conf.d/50-kiosk.conf:
[Seat:*]
autologin-user=kiosk
autologin-user-timeout=0
user-session=kiosk
greeter-show-manual-login=false
Для Astra Linux SE (Fly-DM)
Отредактируйте /etc/fly-dm/fly-dm.conf:
[Xdmcp]
Enable=false
[Security]
AllowRemoteRoot=false
[Login]
AutoLoginEnable=true
AutoLoginUser=kiosk
AutoLoginSession=kiosk
Примените изменения:
sudo systemctl restart lightdm # или fly-dm для SE
Шаг 3. Создание сессии киоска и скрипта запуска
1. Файл сессии
/usr/share/xsessions/kiosk.desktop:
[Desktop Entry]
Name=Kiosk
Comment=Firefox Kiosk Mode
Exec=/usr/local/bin/kiosk.sh
Type=Application
2. Скрипт запуска
/usr/local/bin/kiosk.sh:
#!/bin/bash
# Отключение хранителя экрана и DPMS
xset s off
xset -dpms
xset s noblank
# Переопределение горячих клавиш WM (если используется)
# xmodmap -e "keysym Super_L =" 2>/dev/null
# Запуск Firefox в режиме киоска
exec firefox-esr --kiosk "https://ваш-стартовый-адрес.ru" --private-window
sudo chmod +x /usr/local/bin/kiosk.sh
--kioskдоступен в Firefox 71+.--private-windowпредотвращает сохранение кэша/cookie между перезагрузками.
Шаг 4. Жёсткая настройка Firefox через Policies
Создайте файл /etc/firefox/policies/policies.json:
{
"policies": {
"Homepage": {
"URL": "https://ваш-стартовый-адрес.ru",
"Locked": true,
"StartPage": "homepage"
},
"DisablePrivateBrowsing": false,
"DisableFirefoxScreenshots": true,
"DisablePocket": true,
"DisableTelemetry": true,
"DisableFirefoxStudies": true,
"DisableProfileImport": true,
"DisableProfileRefresh": true,
"BlockAboutConfig": true,
"BlockAboutAddons": true,
"DisableDeveloperTools": true,
"DisableAppUpdate": true,
"DisableSystemAddonUpdate": true,
"Permissions": {
"Camera": false,
"Microphone": false,
"Location": false,
"Notifications": false
},
"Extensions": {
"Install": [],
"Locked": []
}
}
}
Проверка применения: откройте about:policies в Firefox (если не заблокировано).
Шаг 5. Блокировка системных функций
1. Отключение виртуальных терминалов (Ctrl+Alt+F1..F12)
/etc/systemd/logind.conf:
NAutoVTs=0
ReserveVT=0
HandleCtrlAltDel=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore
sudo systemctl restart systemd-logind
2. Блокировка Ctrl+Alt+Del в X11
Создайте /etc/X11/xorg.conf.d/99-kiosk.conf (если директории нет, создайте):
Section "ServerFlags"
Option "DontVTSwitch" "true"
Option "DontZap" "true"
EndSection
3. Отключение переключения пользователей и выхода из сессии
sudo apt install polkitd
Создайте /etc/polkit-1/rules.d/99-kiosk.rules:
polkit.addRule(function(action, subject) {
if (subject.user == "kiosk" &&
(action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.suspend" ||
action.id == "org.freedesktop.login1.lock-session")) {
return polkit.Result.NO;
}
});
Шаг 6. Особенности Astra Linux SE
| Функция | Рекомендация |
|---|---|
| Fly-DM | Автологин настраивается в /etc/fly-dm/fly-dm.conf (см. Шаг 2) |
| MAC (мандатный контроль) | Пользователю kiosk присвойте метку безопасности: sudo chcat -l kiosk user_u:role_r:s0-s0:c0.c1023 (адаптируйте под вашу политику) |
| Аудит и журналирование | Включите auditd для отслеживания попыток выхода из киоска |
| Обновления | Отключите автообновление ОС: sudo systemctl mask unattended-upgrades |
В SE рекомендуется использовать
firejailилиchrootдля изоляции Firefox, если киоск размещён в публичном пространстве.
Шаг 7. Отладка и проверка
1. Перезагрузите систему или перезапустите менеджер входа:
sudo systemctl restart lightdm # или fly-dm
2. Проверьте логи:
journalctl -u lightdm -f
cat /home/kiosk/.xsession-errors
3. Убедитесь, что:
- Браузер запускается автоматически
- Нет панели задач, меню, переключения окон
- Ctrl+Alt+F1..F12, Ctrl+Alt+Del, Alt+Tab не работают
about:configзаблокирован- При перезагрузке система возвращается к киоску
Опциональные улучшения
| Задача | Решение |
|---|---|
| Обновление страницы по таймеру | Расширение Auto Refresh или JS setTimeout() на стартовой странице |
| Защита от выдёргивания питания | UPS + apcupsd с graceful shutdown |
| Мониторинг | systemd watchdog + скрипт ping с перезапуском firefox-esr при потере сети |
| Wayland (Astra 1.8+) | Запуск с MOZ_ENABLE_WAYLAND=1 firefox-esr --kiosk URL |