Перейти к содержимому

Как в астра линукс запретить очистку браузера

  • автор:

Блокировка сайтов Astra Linux 1.6. Решено использованием squid.

Имеется несколько машин с Astra Linux SE 1.6, на одну установлен центр управления
drweb-11.00.2-201905070-esuite-server-unix-linux-x86_64 , на клиенты установлены — drweb-workstations_11.1.0-1905132145+mo~linux_amd64. Подскажите, чтобы разрешить трафик только на несколько ресурсов — возможно ли это реализовать средствами сервера или соответственно клиентов?
Рекомендации этого поста пока не помогают. Не ясно где взять сертификат для Mozilla.
Начали разбирать тему с саппортом DrWeb https://forum.drweb.com/index.php?showtopic=336814&p=905710

Последнее редактирование: 20.04.2023

Kaktus
New member

Сообщения 30

Пока что реализовали при помощи прозрачного squid 3.5 + ssl_bump
Работает только с Chromium (firefox не понимает системные настройки, и ограничить его работу возможно только принудительно указав в браузере на прокси), разрешаем при помощи whitelist.
https://wiki.astralinux.ru/pages/vi. 3520#id-ИспользованиеPROXY-Web-браузерFirefox

oko
New member

Сообщения 1 253

  • доставить на оконечную машину собственный корневой сертификат, которым подписан сертификат squid;
  • прописать групповыми или иными политиками в браузере конкретный адрес и «непрозрачный» порт squid;
  • оставить в организации разрешение на использование только одного выбранного браузера, а остальной софт, который требует выход во внешку, либо прописывать вручную как исключение из общей схемы (с фиксацией), либо тоже запретить;
  • вообще весь трафик с Интернет пропускать исключительно через прокси, не допуская самовольных соединений от оконечной машины с удаленными ресурсами Интернет.
oko
New member

Сообщения 1 253

  • базовая схема работы любого прокси-сервера (без учета NAT и проч. сетевых штук между клиентом и удаленным ресурсом): клиент (запрос с IP-клиента) → прокси (перехват, удержание сессии с клиентом и создание новой сессии с удаленным ресурсом с использованием IP-прокси) → удаленный ресурс («видит» IP-прокси, а не IP-клиента).
  • непрозрачный режим — клиентское приложение (тот же браузер) подключается к прокси-серверу, указывая адрес и порт соединения вручную. При этом, если клиентское приложения явно перенаправляет на прокси-сервер и HTTP, и HTTPS трафик, проблем с недоверием к SSL-сертификатам и управлением SSL-сессиями не возникает.
  • прозрачный режим — клиентское приложение знать не знает о наличии прокси-сервера, но все его соединения с «внешним миром» перехватываются и подменяются прокси-сервером автоматически. Увы, «прозрачный» режим в контексте SSL-сессии возможен только путем подмены сертификата.
  • фильтрация уровней L3, L4 и L7 — Squid способен анализировать DNS-домен назначения, DNS-домен источника, их IP-адреса, имена пользователей (если настроена аутентификация пользователей на прокси-сервере), а также анализировать URL-адреса и заголовки HTTP-протокола (и некоторых других протоколов). За счет этого можно фильтровать доступ клиентских приложений к чему угодно и как угодно;
  • терминирование HTTPS-соединений — Squid за счет механизма SSL-Bump способен проводить вышеописанную фильтрацию и терминировать (обрывать) HTTPS-сессию (поскольку она зашифрована) или вообще подменять/перенаправлять всю HTTP-сессию (поскольку данные передаются в открытом виде).
  • нет необходимости настраивать прокси на каждом отдельном хосте сети;
  • http и https трафик равнозначно перехватываются squid и фильтруются по белым или черным спискам, преобразуются, меняются, перенаправляются — тут как кому захочется;
  • для клиента подмена SSL-сертификата происходит незаметно: squid перехватывает соединение, отдает назначению (web-сайту или иному ресурсу) «свой» сертификат, а потом, после фильтрации, перенаправляет оригинальное соединение клиента с данным ресурсом.
  • нужен центральный сервер-шлюз, на который направляется весь клиентский трафик изнутри сети («default gateway» в сетевых настройках каждого клиента);
  • трафик через этот шлюз проходит от клиентов к внешним ресурсом «транзитом»;
  • https-трафик не дешифруется полностью, перехватывается только начала SSL-сессии, т.е. всецело логировать на таком шлюзе каждый пакет клиента в дешифрованном виде не выйдет.

1. Ставим Squid с поддержкой Openssl из репозитория: apt install squid-openssl

2. Генерируем сертификат для Squid (или используем уже готовый и подписанный каким-либо внутренним УЦ, если у нас реализован PKI): openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 -extensions v3_ca -keyout /etc/squid/squidCA.pem -out /etc/squid/squidCA.pem, где:

  • rsa:2048 — алгоритм RSA и длина ключа 2048 бит;
  • sha256 — алгоритм хэширования sha256;
  • x509 — тип (стандарт) SSL-сертификата;
  • v3_ca — указатель, что SSL-сертификат будет самоподписанным (он же сертификат самоподписанного УЦ);
  • /etc/squid/squidCA.pem — путь к размещению SSL-сертификата.

4. Подсовываем конфигурационный файл /etc/squid/squid.conf. Исправляем его под нашу структуру сети и желаемые порты. Конфигурация хорошо документирована, так что это дело техники. В приведенной конфигурации предполагается, что сервер-шлюз имеет два «внутренних» IP (для двух разных подсетей): 172.16.0.1 и .192.168.1.1. «Внешний» IP не так важен в данном случае.

Спойлер: конфигурация squid с ssl-bump и transparent

# Базовые параметры
coredump_dir /var/spool/squid
visible_hostname ОТОБРАЖАЕМОЕ-ИМЯ-СЕРВЕРА (как правило FQDN-имя)
via off
forwarded_for off
shutdown_lifetime 1 seconds

# Параметры DNS (при явном указании dns_nameservers Squid не будет читать штатный /etc/resolv.conf — будет обращаться к указанному DNS-серверу)
dns_nameservers IP-АДРЕС-НУЖНОГО-DNS-СЕРВЕРА
dns_v4_first on
dns_timeout 5 seconds
check_hostnames on
allow_underscore on
dns_defnames off
ignore_unknown_nameservers on
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024

# Прозрачный порт для HTTP (перенаправление происходит автоматически через iptables):
http_port 172.16.0.1:3128 intercept
http_port 192.168.1.1:3128 intercept

# НЕпрозрачный порт для HTTP (можно указать в настройках любого клиентского приложения):
http_port 172.16.0.1:3129
http_port 192.168.1.1:3129

# Прозрачный порт для HTTPS (перенаправление происходит автоматически через iptables):
https_port 172.16.0.1:3130 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
https_port 192.168.1.1:3130 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem

# Перечень портов, на которые Squid будет передавать соединение
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl CONNECT method CONNECT

# определяем тип acl (black_list_special — специальный черный список для этого прокси, white_list_special — белый список)
acl black_list_special dstdom_regex -i «/etc/squid/black_list_special.txt»
acl white_list_special dstdom_regex -i «/etc/squid/white_list_special.txt»

# Описание подсетей или отдельных клиентов, от которых допустимы запросы к Squid (остальные будут отбрасываться)
acl arm0 src 172.16.0.2-172.16.0.100
acl mainservers src 192.168.1.2-192.168.1.50
acl all src all

# Параметры разрешения и блокировки доступа по умолчанию
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager

# Параметры разрешения доступа от нужных объектов с учетом черных и белых списков
# — параметры выполняются Squid построчно, поэтому важен порядок записей
# — allow разрешить, deny — запретить
http_access allow all white_list_special
http_access deny all black_list_special
http_access allow arm0
http_access allow mainservers
http_access allow localhost
# — последним всегда указываем блокировать все и ото всех
http_access deny all

# Все запросы, проходящие через этот прокси, МОЖЕМ (если хотим) переводить на другой прокси
#cache_peer IP-АДРЕС-ВЫШЕСТОЯЩЕГО-ПРОКСИ parent 3128 0 proxy-only default no-netdb-exchange no-digest
#cache_peer_access IP-АДРЕС-ВЫШЕСТОЯЩЕГО-ПРОКСИ allow all
#never_direct allow all

# Дополнительные опции SSL (закомментировано для случая ПЕРЕНАПРАВЛЕНИЯ на вышестоящий прокси-сервер)
#always_direct allow all
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/spool/squid/ssl_db -M 8MB
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump splice all

# Опции кэширования (подходят для инфраструктуры в 100 одновременных клиентов)
cache_dir ufs /var/spool/squid 20248 64 256
maximum_object_size_in_memory 32 MB
maximum_object_size 16 MB
minimum_object_size 10 KB
# — выделяем 1Гб ОЗУ под кэширование
cache_mem 1024 MB
cache_swap_low 90
cache_swap_high 95
memory_replacement_policy lru

# настраиваем журнализацию (ротация 0, потому что файлы журналов контролируются logrotate)
logformat speciallog %tl — %>a — %un — «%rm %ru» — «%>h» — %>Hs % cache_store_log none
client_db off
buffered_logs on
# — не забываем настроить /etc/logrotate.d/squid
logfile_rotate 0
#. первый лог-формат для SARG
access_log /var/log/squid/access_sarg.log
#. второй для человекочитабельности
access_log /var/log/squid/access_text.log speciallog

# Отображения страниц ошибок средствами Squid (можно подправить шаблоны для корпоративного стиля), но работает это только для HTTP
error_directory /usr/share/squid/errors/ru
error_map ERR_ACCESS_DENIED 403,404,407,408,423,500,502,503,504,523,526
deny_info ERR_ACCESS_DENIED black_list_special

Спецскрипты для AstraLinux SpecialEdition

=== первая версия скрипта включения/отключения защитных механизмов Astra Linux Special Edition 1.6 ===
Набросал простенький скрипт для включения/отключения механизмов защиты, определенных для Astra Linux Special Edition 1.6 согласно Red-Book.
В идеале для АС с высокими требованиями безопасности включать нужно все, но безопасность — дело индивидуальное, ага.
Фактический состав механизмов, доступных для активации/отключения, можно посмотреть в тексте скрипта непосредственно.
Скрипт нужен больше как памятка и средство упрощения действий по настройке, на большее не претендует. Знатоки BASH могут поправить и оптимизировать текст скрипта — не обижусь

Спойлер: Текст скрипта

#!/bin/bash
answer_astra_control () echo -n «Включить $1? »
while read response; do
case $response in
[yY][eE][sS]|[yY])
$2 enable
echo «$1 — активировано» && echo «»
break
;;
[nN][oO]|[nN])
$2 disable
echo «$1 — отключено» && echo «»
break
;;
*)
echo -n «Пожалуйста, введите Yes или No: »
esac
done
>

answer_def () echo -n «$1»
while read response; do
case $response in
[yY][eE][sS]|[yY])
echo «$2» && echo «»
break
;;
[nN][oO]|[nN])
echo «$3» && echo «»
break
;;
*)
echo -n «Пожалуйста, введите Yes или No: »
esac
done
>

echo «Запуск скрипта активации/отключения механизмов Astra Linux SE 1.6 согласно Red-Book, 2020 г.»
echo «»

answer_def «Начать настройку встроенных механизмов защиты Astra Linux SE 1.6? » «» «Завершение работы скрипта управления. »
case $response in
[nN][oO]|[nN])
exit 0
;;
*)
esac

answer_def «Запретить создание дампа ядра? » «запрет создания дампа ядра — активировано» «запрет создания дампа ядра — отключено»
sed -i «/fs\.suid_dumpable/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «fs.suid_dumpable = 2» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «fs.suid_dumpable = 0» >> /etc/sysctl.conf
;;
*)
esac

answer_def «Включить рандомизацию адресного пространства ядра ОС (защита от атак на переполнение буфера)? » «рандомизация адресного пространства — активировано» «рандомизация адресного пространства — отключено»
sed -i «/kernel\.randomize_va_space/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «kernel.randomize_va_space = 0» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «kernel.randomize_va_space = 2» >> /etc/sysctl.conf
;;
*)
esac

answer_def «Запретить управление ядром ОС командами SysRQ? » «запрет управления ядром командами SysRQ — активировано» «запрет управления ядром командами SysRQ — отключено»
sed -i «/kernel\.sysrq/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «kernel.sysrq = 1» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «kernel.sysrq = 0» >> /etc/sysctl.conf
;;
*)
esac

answer_def «Запретить прохождение сетевого трафика между сетевыми интерфейсами (режим сетевого шлюза)? » «запрет прохождения сетевого трафика — активировано» «запрет прохождения сетевого трафика — отключено»
sed -i «/net\.ipv4\.ip_forward/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «net.ipv4.ip_forward = 1» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «net.ipv4.ip_forward = 0» >> /etc/sysctl.conf
;;
*)
esac

answer_def «Запретить ICMP-перенаправления? » «запрет ICMP-перенаправлений — активировано» «запрет ICMP-перенаправлений — отключено»
sed -i «/net\.ipv4\.conf\.all\.send_redirects/d» /etc/sysctl.conf
sed -i «/net\.ipv4\.conf\.default\.send_redirects/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «net.ipv4.conf.all.send_redirects = 1» >> /etc/sysctl.conf
echo «net.ipv4.conf.default.send_redirects = 1» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «net.ipv4.conf.all.send_redirects = 0» >> /etc/sysctl.conf
echo «net.ipv4.conf.default.send_redirects = 1» >> /etc/sysctl.conf
;;
*)
esac

answer_def «Запретить использование протокола IPv6? » «запрет IPv6 — активировано» «запрет IPv6 — отключено»
sed -i «/net\.ipv6\.conf\.all\.disable_ipv6/d» /etc/sysctl.conf
sed -i «/net\.ipv6\.conf\.default\.disable_ipv6/d» /etc/sysctl.conf
sed -i «/net\.ipv6\.conf\.lo\.disable_ipv6/d» /etc/sysctl.conf
case $response in
[nN][oO]|[nN])
echo «net.ipv6.conf.all.disable_ipv6 = 0» >> /etc/sysctl.conf
echo «net.ipv6.conf.default.disable_ipv6 = 0» >> /etc/sysctl.conf
echo «net.ipv6.conf.lo.disable_ipv6 = 0» >> /etc/sysctl.conf
;;
[yY][eE][sS]|[yY])
echo «net.ipv6.conf.all.disable_ipv6 = 1» >> /etc/sysctl.conf
echo «net.ipv6.conf.default.disable_ipv6 = 1» >> /etc/sysctl.conf
echo «net.ipv6.conf.lo.disable_ipv6 = 1» >> /etc/sysctl.conf
;;
*)
esac

declare -a arrtext
declare -a arrcmd
arrtext[0]=»Мандатный Контроль Целостности»
arrcmd[0]=»astra-mic-control»
arrtext[1]=»механизм блокировки консоли для пользователей, не входящих в группу astra-console»
arrcmd[1]=»astra-console-lock»
arrtext[2]=»обязательный запрос пароля при использовании sudo»
arrcmd[2]=»astra-sudo-control»
arrtext[3]=»механизм блокировки любых интерпретаторов кроме BASH для пользователей кроме root»
arrcmd[3]=»astra-interpreters-lock»
arrtext[4]=»механизм блокировки интерпретатора BASH для пользователей кроме root»
arrcmd[4]=»astra-bash-lock»
arrtext[5]=»механизм очистки SWAP»
arrcmd[5]=»astra-swapwiper-control»
arrtext[6]=»механизм очистки удаляемых файлов и данных»
arrcmd[6]=»astra-secdel-control»
arrtext[7]=»запрет установки исполняемого бита (chmod +x)»
arrcmd[7]=»astra-nochmodx-lock»
arrtext[8]=»механизм блокировки макросов»
arrcmd[8]=»astra-macros-lock»
arrtext[9]=»механизм блокировки трассировки ptrace»
arrcmd[9]=»astra-ptrace-lock»
arrtext[10]=»механизм блокировки одновременной работы пользователей в разных уровнях конфиденциальности»
arrcmd[10]=»astra-sumac-lock»
arrtext[11]=»системные ограничения ulimits»
arrcmd[11]=»astra-ulimits-control»
arrtext[12]=»механизм блокировки выключения/перезагрузки для пользователей кроме root»
arrcmd[12]=»astra-shutdown-lock»
arrtext[13]=»механизм блокировки системных команд для пользователей кроме root»
arrcmd[13]=»astra-commands-lock»
arrtext[14]=»межсетевой экран UFW»
arrcmd[14]=»astra-ufw-control»
arrtext[15]=»запрет монтирования МНИ непривилегированными пользователями»
arrcmd[15]=»astra-mount-lock»
arrtext[16]=»механизм блокировки клавиш SysRq для всех пользователей»
arrcmd[16]=»astra-sysrq-lock»
arrtext[17]=»режим работы файловой системы »
arrcmd[17]=»astra-overlay»
for ((index=0; index; index++))
do
answer_astra_control «$» «$»
done

echo «ВНИМАНИЕ: при активации ЗПС исполнение любых ELF-файлов без цифровой подписи будет заблокировано!»
answer_def «Включить механизм Замкнутой Программной Среды? » «механизм ЗПС — активировано» «механизм ЗПС — отключено»
case $response in
nN][oO]|[nN])
echo -e «DIGSIG_ELF_MODE=0\nDIGSIG_XATTR_MODE=0\nDIGSIG_IGNORE_XATTR_KEYS=0\nDIGSIG_IGNORE_GOST2001=0» > /etc/digsig/digsig_initramfs.conf
;;
[yY][eE][sS]|[yY])
echo -e «DIGSIG_ELF_MODE=1\nDIGSIG_XATTR_MODE=1\nDIGSIG_IGNORE_XATTR_KEYS=0\nDIGSIG_IGNORE_GOST2001=0» > /etc/digsig/digsig_initramfs.conf
;;
*)
esac
update-initramfs -u -k all

echo «Настройка механизмов защиты завершена. Требуется перезагрузить операционную систему. »
exit 0

  • разбивка диска при установке ОС и по использование защитного преобразования диска;
  • выбор ядра Hardened по умолчанию;
  • отключение вывода меню загрузчика GRUB;
  • тонкая настройка межсетевого экрана UFW или netfilter/iptables;
  • установка актуальных обновлений безопасности и выполнение методических рекомендаций согласно этим обновлениям;
  • режим «только чтение» для файловой системы ОС;
  • тонкая настройка мандатных меток и уровней;
  • настройка afick для автоматического контроля целостности;
  • настройка разграничения доступа к машинным носителям информации;
  • настройка дисковых квот в /etc/fstab;
  • настройка режима КИОСК;
  • настройка используемых или отключение неиспользуемых systemd-служб.
  1. создаем файл в том же /usr/bin или домашней директории пользователя-администратора;
  2. даем права на запуск (sudo chmod +x путь-к-файлу-скрипта);
  3. запускаем от лица пользователя-администратора при 0 мандатном уровне, 0 мандатной метке и с Высоким контролем целостности (sudo путь-к-файлу-скрипта);
  4. последовательно отвечаем на вопросы Y, y, yes, Yes или N, n, no, No;
  5. не прерываем работу скрипта до полного окончания настройки.

Перед установкой ОС

  • Если планируется использовать ОС в рекомендованном режиме очистки освобождающихся дисковых ресурсов, то исключить использование дисков SSD.

  • Содержащий не менее 8 символов;
  • Не содержащий в себе никаких осмысленных слов (ни в каких раскладках);
  • Содержащий в себе буквы в различных регистрах, цифры и спецсимволы.

При установке ОС

  • Обязательно использовать при установке ОС защитное преобразование дисков,
    и по возможности обеспечить невозможность физического доступа к жесткому диску, на котором установлена ОС

/
/boot
/home
/tmp
/var/tmp
Создать отдельные дисковые разделы в соответствии с рекомендациями:

  • включение опции noexec при установке ОС приведёт к невозможности установки, при необходимости эту опцию можно включить после установки;
  • использование опции noexec после установки может привести к неработоспособности части ПО (в частности, будет нарушена работа установщика пакетов dpkg);

По возможности не использовать. См. Область подкачки (swap): особенности применения и обеспечения безопасности
Если необходимо использовать — то использовать с включенным защитным преобразованием и с включенным гарантированным удалением.

Для всех перечисленных дисковых разделов (кроме раздела /boot) рекомендуется использовать журналируемую файловую систему ext4.
При выборе размера дисковых размеров следует помнить, что при размере раздела /tmp менее 250МБ весьма вероятно возникновение ошибок при работе с графикой или с большими объёмами данных.

«В качестве файловых систем на носителях информации компьютеров с ОС (в том числе съемных машинных носителях информации) должны использоваться только файловые системы Ext2/Ext3/Ext4, поддерживающие расширенные (в т.ч. мандатные) атрибуты пользователей и обеспечивающие гарантированное уничтожение (стирание) информации»
«Руководство по КСЗ, Часть 1» РУСБ.10015-01 97 01-1, 2020г., п. 17.3.1 «Условия применения ОС»

  • В ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) для предотвращения возможных атак извне установленные сетевые сервисы по умолчанию НЕ ЗАПУСКАЮТСЯ АВТОМАТИЧЕСКИ.
    Это сервисы:
    • apache2.service
    • bind9.service
    • exim4 dovecot.service
    • ejabberd.service
    • nfs-client.target
    • ntp
    • nfs-server.service
    • nmbd.service
    • smbd.service
    • snmpd.service
    • pppd-dns.service
    • ssh.service
    • vsftpd.service
    • winbind.service
    • bluetooth.service
    • openvpn.service
    • sssd.service
    • firewalld.service Настройка параметров (в т.ч. параметров безопасности и параметров автоматического запуска) этих сетевых сервисов до их запуска входит в состав работ по настройке системы после установки.
    • При установке ОС отдельно обрабатывается установка сервиса SSH: после установки ОС сервис SSH, в отличие от указанных выше сервисов, запускается автоматически. Это исключение сделано для того, чтобы обеспечить возможность удаленного администрирования компьютера для дальнейших настроек после установки.

    1. Включить режим замкнутой программной среды;
    2. Запретить установку бита исполнения;
    3. Использовать по умолчанию ядро hardened. При невозможности использования ядра hardened использовать модуль lkrg ядра generic (см. Инструменты командной строки astra-safepolicy)
    4. Запретить вывод меню загрузчика;
    5. Включить очистку разделов страничного обмена (помнить, что очистка освобождаемых ресурсов как правило не работает на SSD-дисках);
    6. Включить очистку освобождаемых областей для EXT-разделов (помнить, что очистка освобождаемых ресурсов как правило не работает на SSD-дисках);
    7. Включить блокировку консоли;
    8. Включить блокировку интерпретаторов;
    9. Включить межсетевой экран ufw;
    10. Включить системные ограничения ulimits;
    11. Отключить возможность трассировки ptrace;

    После установки ОС

    • Установить единственным устройством для загрузки ОС жесткий диск, на который была произведена установка ОС.

    Astra Linux Special Edition (очередное обновление x.7): Ключевые изменения в комплексе средств защиты информации

    Подробно все особенности комплекса средств защиты информации описаны в документе РУСБ.10015-01 97 01-1 «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1».

    Уровни защищенности операционной системы

    Начиная с очередного обновления 1.7/4.7 операционная система специального назначения «Astra Linux Special Edition» (далее по тексту — ОС ОН) может работать на различных уровнях защищенности, каждому из которых соответствует набор функций подсистемы безопасности реализованной в ОС запатентованными средствами защиты информации, объединенными в единый комплекс средств защиты (КСЗ). В зависимости от приобретаемой лицензии возможен выбор одного из уровней защищенности системы:

    • усиленный уровень защищенности;
    • максимальный уровень защищенности.

    Усиленный уровень защищенности

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

    Максимальный уровень защищенности

    Вариант лицензирования с максимальным уровнем защищенности рекомендуется для обработки и защиты информации любой категории доступа в государственных информационных системах, в информационных системах, обрабатывающих персональные данные, в составе значимых объектов критической информационной инфраструктуры, в иных информационных (автоматизированных) системах, обрабатывающих информацию ограниченного доступа, в т.ч. содержащую сведения, составляющие государственную тайну до степени секретности «совершенно секретно» или «особой важности» (в зависимости от класса защиты, установленного в сертификате соответствия для используемого конечным пользователем варианта исполнения Astra Linux) включительно.

    Каждый из уровней защищенности ОС соответствует набору доступных к включению пользователем функций подсистемы безопасности :

    Для усиленного уровня защищенности доступны следующие базовые функции безопасности:

    • «Запрет вывода меню загрузчика» — при включении данной функции будет запрещен вывод меню загрузчика GRUB 2. В процессе загрузки будет загружаться ядро системы, выбранное по умолчанию. По умолчанию функция не включена;
    • «Запрет трассировки ptrace» — при включении данной функции будет исключена возможность трассировки и отладки выполнения программного кода. По умолчанию функция включена;
    • «Запрос пароля для команды sudo» — при включении данной функции будет необходим ввод пароля при использовании механизма sudo. По умолчанию функция включена;
    • «Запрет установки бита исполнения» — при включении данной функции будет активирован режим запрета установки бита исполнения, обеспечивающий предотвращение несанкционированного запуска исполняемых файлов и сценариев для командной оболочки. По умолчанию функция не включена;
    • «Запрет исполнения скриптов пользователя» — при включении данной функции будет блокировано интерактивное использование пользователем интерпретаторов. По умолчанию функция не включена;
    • «Запрет исполнения макросов пользователя» — при включении данной функции будет блокировано исполнение макросов в стандартных приложениях. По умолчанию функция не включена;
    • «Запрет консоли» — при включении данной функции будет блокирован консольный вход в систему для пользователя и запуск консоли из графического интерфейса сессии пользователя. По умолчанию функция не включена;
    • «Системные ограничения ulimits» — при включении данной функции будут активированы системные ограничения, установленные в файле /etc/security/limits.conf . По умолчанию функция не включена;
    • «Запрет автонастройки сети» — при включении данной функции будет блокирована автоматическая настройка сети в процессе установки ОС, сеть необходимо будет настроить вручную. По умолчанию функция не включена;
    • «Местное время для системных часов» — при включении данной функции будет включен режим интерпретации показаний аппаратных (RTC) часов. По умолчанию функция не включена;

    Для усиленного уровня защищенности доступны следующие усиленные функции безопасности:

    • «Мандатный контроль целостности» — при включении данной функции будет активирован механизм мандатного контроля целостности. По умолчанию функция включена;
    • «Замкнутая программная среда» — при включении данной функции будет активирован механизм, обеспечивающий проверку неизменности и подлинности загружаемых исполняемых файлов формата ELF. По умолчанию функция не включена;
    • «Очистка освобождаемой внешней памяти» — при включении данной функции будет активирован режим очистки блоков файловой системы непосредственно при их освобождении, а также режим очистки разделов страничного обмена. По умолчанию функция не включена.

    Для максимального уровня защищенности доступны все функции безопасности усиленного уровня, а также функция:

    • «Мандатное управление доступом» — при включении данной функции будет активирован механизм мандатного управления доступом. По умолчанию функция включена.

    Функции подсистемы безопасности и их состояния определяются следующим образом:

    1. Значения «по умолчанию» задаются при выборе уровня защищенности в процессе установки ОС;
    2. Значения «по умолчанию», определенные уровнем защищенности, могут быть изменены в процессе установки ОС;
    3. Функции подсистемы безопасности могут быть включены и выключены в процессе эксплуатации ОС. Порядок включения и выключения функций подсистемы безопасности после установки Astra Linux описан в документе РУСБ.10015-01 97 01-1 «Операционная система специального назначения «Astra Linux Special Edition». Руководство по КСЗ. Часть 1»;
    4. При изменении уровня защищенности (режимов работы ОС):
      1. В сторону снижения уровня защищенности — автоматически отключаются функции безопасности, которые для данного уровня защищенности недоступны;
      2. В сторону увеличения уровня защищенности — состояние функций безопасности автоматически не меняется. Функции безопасности становятся доступными для включения.

      Краткое описание механизмов мандатного управления доступом и мандатного контроля целостности представлено в статье Мандатное управление доступом и мандатный контроль целостности.

      Сводная таблица «расширенных» функций подсистемы безопасности и их состояний по умолчанию

      В таблице ниже представлен список «расширенных» функций подсистемы безопасности ( доступных к включению пользователем для систем с уровнями защищенности «Усиленный» и «Максимальный») и их состояний по умолчанию, задаваемых при установке в зависимости от выбранного режима:

      Функция подсистемы безопасности

      • Вкл — режим по умолчанию Включен и доступен для отключения;
      • Выкл — режим по умолчанию Отключен и доступен для включения;
      • Н/Д — режим по умолчанию Отключен и недоступен для включения.

      Отличительные особенности максимального уровня защищенности в сравнении с Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)

      Изменения программных компонентов, относящихся к КСЗ

      Обновлены и доработаны следующие основные компоненты, относящихся к КСЗ:

      • FreeIPA — пакет программ для создания доверительных отношений с доменными службами AD и создания ЕПП, доработанный для поддержки КСЗ;
      • SambaDC — пакет программ для создания доверительных отношений с доменными службами AD и создания ЕПП Samba DC;
      • PostgreSQL — защищенная СУБД;
      • CUPS – защищенный комплекс программ печати и маркировки документов;
      • Zabbix — средство централизованного протоколирования;
      • fly-admin-smc — управление локальной политикой безопасности и управление ЕПП;
      • Parsec — комплекс средств защиты информации.

      Интегрированы следующие сторонние приложения, относящиеся к КСЗ:

      • docker.io — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации;
      • bleachbit — приложение для управления приватностью и очисткой свободного места, а также увеличения производительности операционных систем;
      • keepassxc — менеджер паролей с поддержкой различных алгоритмов защитного преобразования данных. Совместим с менеджерами паролей – KeePass2, KeePassX, KeeWeb. Поддерживает интеграцию с web-браузерами Google Chrome, Chromium, Mozilla Firefox;
      • seahorse — приложение для управления PGP и SSH ключами, поддерживает интеграцию с Caja, Nautilus, gedit и Evolution для защитного преобразования данных и других криптографических операций и серверами ключей HKP и LDAP.

      Значения по умолчанию

      • защитные механизмы МКЦ и МРД можно не включать при установке Astra Linux. Они могут быть включены и выключены в процессе эксплуатации системы (ранее можно было выключить и включить только МКЦ);
      • такие защитные механизмы, как МКЦ, МРД, ЗПС и Очистка освобождаемой внешней памяти, работают независимо друг от друга;
      • при включении защитного механизма МКЦ автоматически включается МКЦ на корневой файловой системе и присваиваются атрибуты МКЦ;
      • при использовании механизма sudo требуется ввести пароль;
      • в настройках ядра установлены следующие параметры:
        • включена защита от неправомерного создания жестких и символических ссылок;
        • для протокола IPv4 включена фильтрация пакетов по адресу назначения (проверка адреса получателя);
        • для протокола IPv4 включена фильтрация входящих пакетов, которые были отправлены одним интерфейсом, а приняты другим;

        Графическая утилита «Управление политикой безопасности»

        Добавлены следующие функции:

        • включение/выключение защитного механизма МРД;
        • управление ограничениями на использование дискового пространства (квотами).

        Дополнительные мандатные атрибуты управления доступом

        • мандатный атрибут управления доступом ccnri более не используется в Astra Linux для управления доступом, при этом штатное функционирование Astra Linux соответствует функционированию с установленным мандатным атрибутом ccnri. Возможность установки и получения данного мандатного атрибута сохранена в Astra Linux для обеспечения совместимости с системами и ПО, которые его использует;
        • мандатный атрибут управления доступом ccnra в Astra Linux приравнивается к ccnr и также сохранен только для обеспечения совместимости и не рекомендован к использованию;
        • мандатный атрибут управления доступом whole можно присваивать только файлам с максимальной меткой (ранее можно было присваивать файлам c ненулевой классификационной меткой).

        Parsec-привилегии

        • исключена Parsec-привилегия PARSEC_CAP_BYPASS_KIOSK , позволяющая игнорировать ограничения киоска;
        • добавлена новая Parsec-привилегия PARSEC_CAP_BYPASS_XATTR , отключающая проверку подписи файлов в xattr ;
        • добавлена новая Parsec-привилегия PARSEC_CAP_PROCFS , позволяющая игнорировать уровни конфиденциальности и уровни целостности при работе с /proc .

        Регистрация событий безопасности

        В Astra Linux реализована расширенная подсистема протоколирования, осуществляющая регистрацию событий в двоичные файлы с использованием службы auditd. Протоколирование работает согласно правилам, которые делятся на два типа:

        • постоянные — действуют всегда, даже после перезагрузки системы;
        • временные — действуют до перезагрузки системы.

        Помимо графической утилиты fly-admin-smc («Управление политикой безопасности») для работы с подсистемой протоколирования используются следующие новые графические утилиты:

        • system-config-audit («Конфигурация аудита») — включение и выключение регистрации событий аудита, настройка auditd, настройка журнала аудита, а также добавление, удаление и редактирование правил аудита;
        • ksystemlog («Системный журнал») — выборочный просмотр протоколов аудита.

        Защищенный комплекс программ печати и маркировки документов

        Вместо web-приложения printcontrol-web («Управление печатью») для печати документов с маркировкой используется графическая утилита fly-print-station («Управление печатью документов»).

        Добавлена возможность изменения шрифтов маркировки, в том числе и добавление своего шрифта маркировки.

        Изменены наименования дополнительных атрибутов заданий (см. таблицу ниже).

        Наименование в 1.7 Наименование в 1.6 Назначение
        mac-job-mac-label mac-job-mac Метка безопасности задания
        mac-job-mac-level-name stepen Уровень (название текстом)
        mac-job-mac-level-reason punkt Основание для степени секретности (пункт перечня)
        mac-job-user-full-name printuser-fullname Полное имя пользователя, выполнившего маркировку («отпечатал»)
        mac-job-originating-user-full-name user-fullname Полное имя пользователя, который создал задание («исполнитель»)

        Кроме того, добавлен следующий дополнительный атрибут — mac-marking-session-id (идентификатор сессии).

        Добавлены следующие дополнительные запросы:

        • MAC-Lock-Job — блокировка задания;
        • MAC-Unock-Job — снятие блокировки задания;
        • MAC-Get-Info — получение информации о станции печати (версия и т.д.);
        • MAC-Get-Journal — получение журнала маркировки.

        Изменены дополнительные параметры конфигурации (см. таблицу ниже).

        Режим печати маркера на обратной стороне (при наличии поддержки со стороны принтера). Значения:

        • off — отключено;
        • marker — печать маркера на обратной стороне;
        • fonarik — печать «фонарика» на обратной стороне последнего листа (будет создано задание с маркированном документом без последней страницы и задание из двух страниц — последняя страница документа и «фонарик» в дуплексном режиме).

        Значение по умолчанию — «отключено».

        Включить журнал маркировки.

        По умолчанию журнал записывается в базу данных SQLITE:
        /var/spool/cups/parsec/marking-journal.sqlite .

        Требовать высокую целостность для операций администрирования (редактирование принтеров, перенос задания на другой принтер и т.д.) — работает только для локальных сокетов.

        Значение по умолчанию — «отключено».

        Добавлены следующие файлы конфигурации:

        • /etc/cups/cups-marker-vars.conf — конфигурационный файл переменных маркировки, значения которых будут запрошены у пользователя перед маркировкой;
        • /usr/share/cups/fonts/*.t42 — шрифты для маркировки;
        • /usr/share/cups/charsets/utf-8.*, /usr/share/cups/charsets/utf-8 — наборы символов для различных шрифтов маркировки.

        Программное обеспечение Docker

        Добавлена возможность запуска контейнеров Docker на пониженном уровне целостности 2 для обеспечения еще большей изоляции и безопасности основной системы. Это позволяет изолировать работу процессоров внутри контейнера от процессов других контейнеров и хостовой ОС, что предотвращает воздействие потенциально вредоносного кода, выполняемого в контейнерах.

        По умолчанию данная функция выключена. Подробнее — см. Установка и администрирование Docker в Astra Linux 1.7

        Другие изменения, касающиеся встроенных средств защиты

        • для файловой системы XFS добавлена поддержка таких защитных механизмов, как МКЦ, МРД и Очистка освобождаемой памяти;
        • реализована поддержка мандатных меток в протоколе IPv6 и фильтрация пакетов по меткам;
        • для файлового сервера Samba добавлена поддержка МРД на всех версиях протокола SMB (v1, v2, v3).

        Отличительные особенности в сравнении с Astra Linux Common Edition 2.12

        Изменения программных компонентов, относящихся к КСЗ

        Повышены версии основных компонентов, относящихся к КСЗ:

        • служба FreeIPA версии 4.8.5, доработанная для поддержки КСЗ;
        • SambaDC версии 4.12.5 — пакет программ для создания доверительных отношений с доменными службами AD и создания ЕПП Samba DC;
        • PostgreSQL версии 11.10 — защищенная СУБД, доработанная для обеспечения мандатного управления доступом к информации;
        • CUPS версии 2.3.3 – защищенный комплекс программ печати и маркировки документов (версия CUPS в Astra Linux Common Edition 2.12 не обеспечивает маркировку выводимых на печать документов);
        • Zabbix версии 5.0.7 — средство централизованного протоколирования;
        • fly-admin-smc версии 0.1.54 — управление локальной политикой безопасности и управление ЕПП;
        • docker.io версии 20.10.2 — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации;
        • bleachbit версии 2.0-3 — приложение для управления приватностью и очисткой свободного места, а также увеличения производительности операционных систем;
        • keepassxc версии 2.3.4 — менеджер паролей с поддержкой различных алгоритмов защитного преобразования данных. Совместим с менеджерами паролей – KeePass2, KeePassX, KeeWeb. Поддерживает интеграцию с браузерами Google Chrome, Chromium, Mozilla Firefox;
        • seahorse версии 3.30.1.1-1 — приложение для управления PGP и SSH ключами, поддерживает интеграцию с Caja, Nautilus, gedit и Evolution для защитного преобразования данных и других криптографических операций и серверами ключей HKP и LDAP.

        Значения по умолчанию

        • межсетевой экран ufw выключен (при установке Astra Linux соответствующий пакет только устанавливается);
        • в настройках ядра включена защита от неправомерного создания жестких и символических ссылок;
        • протокол IPv6 в настройках ядра не отключен;
        • функции безопасности «Запрет исполнения макросов пользователя» и «Запрет установки бита исполнения» можно включить при установке ОС.

        Графическая утилита «Управление политикой безопасности»

        Добавлены следующие функции:

        • управление расширенной подсистемой протоколирования (аудит);
        • управление разграничением доступа к подключаемым устройствам;
        • отображение сводки состояний функций безопасности (монитор безопасности).

        Регистрация событий безопасности

        В Astra Linux реализована расширенная подсистема протоколирования, осуществляющая регистрацию событий в двоичные файлы с использованием службы auditd. Протоколирование работает согласно правилам, которые делятся на два типа:

        • постоянные — действуют всегда, даже после перезагрузки системы;
        • временные — действуют до перезагрузки системы.

        Для работы с подсистемой протоколирования могут использоваться следующие графические утилиты, которые позволяют настраивать параметры регистрации событий и просмотра протоколов:

        • fly-admin-smc («Управление политикой безопасности») — управление протоколированием, работа с пользователями и группами;
        • system-config-audit («Конфигурация аудита») — включение и выключение регистрации событий аудита, настройка auditd, настройка журнала аудита, а также добавление, удаление и редактирование правил аудита;
        • ksystemlog («Системный журнал») — выборочный просмотр протоколов аудита.

        Средства разграничения доступа к подключаемым устройствам

        В Astra Linux поддерживается разграничение доступа к символьным и блочным устройствам, для которых в каталоге /dev создаются файлы устройств. Разграничение доступа реализуется с использованием генерации правил менеджера устройств udev. Для разграничения доступа к устройствам типа видеокарт, сетевых карт и т.д. данный метод не используется.

        Учет носителей, управление их принадлежностью и протоколированием осуществляется с помощью утилиты fly-admin-smc («Управление политикой безопасности»), в том числе и при работе в ЕПП.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *