# Компонент «Инспектор»: практикум из четырех блоков

## Сначала определить версию

Функции зависят от версии компонента, ОС, ядра и файловой системы.

- «Инспектор» 4 в текущей документации предназначен для Astra Linux SE 1.7.
- В локальных материалах «Инспектор» 3 описан для Windows 7/8.1/10 и ранних версий Astra Linux.
- Не переносите интерфейс и функции версии 3 на версию 4.
- Наличие компонента в лицензии Сканер-ВС подтверждается отдельно до занятия.

Если функция недоступна, зафиксируйте ограничение и переходите к следующему блоку.

## Нормативная карта «Инспектора»

Официальное руководство пользователя НПЕШ.00606-01 90-2 (2025 год, стр. 13–15) связывает функции компонента с четырьмя мерами. Это карта отдельных проверок, а не заявление о выполнении всех требований приказа или об автоматической аттестации объекта.

| Мера | Инструмент | Что становится доказательством | Граница вывода |
|---|---|---|---|
| **АНЗ.4** — контроль состава программных и технических средств | «Системный аудит» | Версия ОС, программы и пакеты, лицензионные номера, процессор, диски, сетевые адаптеры, периферия и USB-устройства | Инвентаризируется только доступная компоненту часть проверяемой рабочей станции |
| **АНЗ.5 — только в части контроля правил разграничения доступа и полномочий операторов** | «Проверка прав доступа» | Заданная модель, фактические дискреционные и мандатные права выбранных пользователей и объектов | Результат не подтверждает остальные требования АНЗ.5 и не охватывает объекты вне задания |
| **ОЦЛ.1** — контроль целостности ПО | «Контрольное суммирование» | Алгоритм, объект, исходная и повторная контрольные суммы, выявленное изменение | Совпадение хеша относится только к выбранному объекту и моменту проверки |
| **ЗНИ.8** — контроль уничтожения и поиск остаточной информации | «Проверка механизмов очистки» и поиск по ключевым словам | Параметры носителя и поиска, тестовый маркер, место находки, результат до и после очистки | Отсутствие маркера не доказывает отсутствие любой остаточной информации на всём носителе |

### Актуальный нормативный контекст

- Руководство 2025 года использует историческую ссылку на приказ ФСТЭК России № 17.
- [Приказ ФСТЭК России от 11.04.2025 № 117](https://publication.pravo.gov.ru/document/0001202506170011) вступил в силу 01.03.2026; приказ № 17 с этой даты признан утратившим силу.
- Для ГИС и иных информационных систем государственных органов критерии практической проверки сверяются с действующим приказом № 117 и программой испытаний конкретного объекта.
- Для ИСПДн, АСУ ТП и значимых объектов КИИ руководство связывало обозначения мер также с приказами № 21, № 31 и № 239. Наличие кода меры в отчёте не означает выполнения приказа целиком.

По [официальной вводной странице Сканер-ВС](https://docs.etecs.ru/scanner/docs/intro/) сертификат ФСТЭК России № 2204 подтверждает требования по **4 уровню доверия** и действует до **13.11.2029**. Сертификат относится к средству защиты, а не является аттестатом проверяемого объекта.

## Цепочка доказательств

1. **Область:** зафиксировать версию компонента, ОС, объект, права, время и непроверенные зоны.
2. **Критерий:** указать меру, требование программы испытаний и ожидаемое состояние.
3. **Наблюдение:** получить хеш, право доступа, маркер, состав системы или статус очистки.
4. **Свидетельство:** сохранить HTML-отчёт, журнал, параметры запуска и результат ручной сверки.
5. **Вывод:** сформулировать экспертную оценку только для проверенной области, перечислить ограничения и необходимое повторное действие.

Отчёт «Инспектора» — один из доказательных материалов. Он не формирует автоматическое заключение о соответствии приказам № 117, № 21, № 31 или № 239 и не заменяет модель угроз, программу испытаний, организационные документы и решение аттестационной комиссии.

## Документированные ограничения версии 4

- Версия 4 описана для Astra Linux Special Edition 1.7; функции версии 3 для Windows, Secret Net/Dallas Lock и EICAR нельзя переносить на неё без проверки фактической сборки.
- Для проверки очистки оперативной памяти руководство 2025 года перечисляет ядра `4.2.0-23-generic`, `4.2.0-23-pax`, `3.16.0-16-generic`, `3.16.0-16-pax`.
- Проверка механизмов очистки устройств под Astra Linux документирована для `ext2`, `ext3`, `ext4` и `vfat`.
- При поиске остаточной информации документ должен располагаться непрерывно и иметь размер не более 10 Мбайт; допускается до 100 слов длиной до 100 символов и до 1000 находок одного слова.
- Продолжительность проверки зависит от объёма носителя, количества файлов и выбранного алгоритма.
- Автоматическое сравнение отчётов документировано только для «Контрольного суммирования» и «Системного аудита».
- Знак `?` в таблице проверки прав означает ошибку выполнения, например удаление файла, а не подтверждённое право.

Перед занятием преподаватель сопоставляет эти ограничения со свежим дистрибутивом и лицензией. Расхождение документируется как особенность фактической сборки.

## Правила безопасности

- Работайте только в одноразовой учебной ВМ или на отдельном учебном компьютере.
- Используйте только синтетические маркеры; реальные ПДн и служебные документы запрещены.
- Не проверяйте продуктивные диски и сетевые папки без отдельного разрешения.
- Не изменяйте ACL вне учебного каталога.
- Не отключайте антивирус, брандмауэр или Secure Boot ради прохождения задания.
- Перед сдачей проверьте отчеты на наличие имен пользователей, путей и иных лишних данных.

## Подготовка синтетического набора

### Windows: безопасный вариант внутри профиля

Скопируйте следующий код в собственный `.ps1` только на учебной ВМ, прочитайте его и сначала запустите с `-WhatIf`.

```powershell
[CmdletBinding(SupportsShouldProcess = $true)]
param([switch] $DisposableLabConfirmed)

Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'

if (-not $DisposableLabConfirmed) {
    throw 'Подтвердите одноразовую учебную среду.'
}

$base = Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'InspectorLabs'
$root = Join-Path $base ('InspectorLab-{0}' -f (Get-Date -Format 'yyyyMMdd-HHmmss'))

if (Test-Path -LiteralPath $root) {
    throw "Перезапись запрещена: $root"
}

if (-not $PSCmdlet.ShouldProcess($root, 'Создать синтетический учебный набор')) {
    return
}

$dirs = '01_Public','02_Confidential','03_ControlSum','04_Residual','05_Reports'
foreach ($dir in $dirs) {
    [IO.Directory]::CreateDirectory((Join-Path $root $dir)) | Out-Null
}

$utf8 = [Text.UTF8Encoding]::new($false)
[IO.File]::WriteAllText(
    (Join-Path $root '01_Public\readme.txt'),
    'Учебный файл. Реальных персональных данных нет.',
    $utf8
)
[IO.File]::WriteAllText(
    (Join-Path $root '02_Confidential\pdn_demo.txt'),
    'PASSPORT-TEST-0000; SNILS-TEST-0000',
    $utf8
)
[IO.File]::WriteAllText(
    (Join-Path $root '03_ControlSum\critical_config.ini'),
    "[service]`nname=demo_service`nmode=training`n",
    $utf8
)
[IO.File]::WriteAllText(
    (Join-Path $root '04_Residual\markers.txt'),
    'TRAINING-DEMO-SECRET; ISPDN-DEMO; KII-DEMO',
    $utf8
)

$config = Join-Path $root '03_ControlSum\critical_config.ini'
$hash = (Get-FileHash -LiteralPath $config -Algorithm SHA256).Hash
[IO.File]::WriteAllText(
    (Join-Path $root '03_ControlSum\critical_config.ini.sha256.txt'),
    "SHA256 critical_config.ini = $hash",
    $utf8
)

Write-Host "Учебный набор: $root"
```

Пробный и фактический запуск:

```powershell
.\New-InspectorLab.ps1 -DisposableLabConfirmed -WhatIf
.\New-InspectorLab.ps1 -DisposableLabConfirmed
```

Сценарий не требует прав администратора, создает новый каталог только внутри `%LOCALAPPDATA%\InspectorLabs` и не перезаписывает существующие данные.

### Astra Linux: вариант внутри домашнего каталога

```bash
umask 077
LAB_ROOT="$HOME/InspectorLabs/InspectorLab-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$LAB_ROOT"/{01_Public,02_Confidential,03_ControlSum,04_Residual,05_Reports}
printf '%s\n' 'Учебный файл. Реальных персональных данных нет.' > "$LAB_ROOT/01_Public/readme.txt"
printf '%s\n' 'PASSPORT-TEST-0000; SNILS-TEST-0000' > "$LAB_ROOT/02_Confidential/pdn_demo.txt"
printf '%s\n' '[service]' 'name=demo_service' 'mode=training' > "$LAB_ROOT/03_ControlSum/critical_config.ini"
printf '%s\n' 'TRAINING-DEMO-SECRET; ISPDN-DEMO; KII-DEMO' > "$LAB_ROOT/04_Residual/markers.txt"
sha256sum "$LAB_ROOT/03_ControlSum/critical_config.ini" > "$LAB_ROOT/03_ControlSum/critical_config.ini.sha256.txt"
printf 'Учебный набор: %s\n' "$LAB_ROOT"
```

Перед выполнением замените команды на ручное создание файлов, если политика стенда запрещает сценарии.

## Блок 1. Запуск и создание проекта — 90 минут

1. Зафиксируйте версию «Инспектора», ОС, ядро, файловую систему и редакцию лицензии.
2. Запустите компонент по официальной инструкции вашей версии.
3. Создайте проект с нейтральным именем без ФИО в пути.
4. Выберите каталог `05_Reports` внутри нового учебного набора.
5. Отметьте, какие инструменты действительно доступны.
6. Сохраните исходное состояние проекта.

**Артефакт:** карточка проекта и дерево учебного каталога.

## Блок 2. Остаточная информация — 90 минут

1. Выберите только каталог/носитель `04_Residual`.
2. Добавьте синтетические ключевые слова: `TRAINING-DEMO-SECRET`, `ISPDN-DEMO`, `KII-DEMO`.
3. Зафиксируйте кодировку и параметры поиска.
4. Выполните первый поиск и сохраните отчет.
5. Удалите `markers.txt` штатным способом внутри учебного каталога.
6. Выполните повторный поиск.
7. Сравните результаты и объясните ограничения: область, тип носителя, файловая система, размер и непрерывность данных.

**Артефакт:** таблица «исходное состояние → действие → повторное наблюдение → ограничение».

## Блок 3. Контрольные суммы и системный аудит — 90 минут

1. Добавьте `03_ControlSum/critical_config.ini` в задание контрольного суммирования.
2. Используйте SHA-256 или другой доступный современный алгоритм.
3. Сравните результат с эталоном `.sha256.txt`.
4. Измените значение `mode=training` на `mode=training-changed`.
5. Выполните повторное суммирование и зафиксируйте расхождение.
6. Запустите системный аудит.
7. Сопоставьте ОС, ПО, процессор, диски и сетевые интерфейсы с паспортом ВМ.

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

**Артефакт:** журнал двух хешей и таблица сверки системного аудита.

## Блок 4. Права доступа, отчеты и защита — 90 минут

1. Проверьте фактические права на `01_Public` и `02_Confidential`.
2. Сравните их с ожидаемой моделью.
3. Если преподаватель подготовил отдельного учебного пользователя, измените права только на `02_Confidential` и повторите проверку.
4. Сохраните отчеты до и после изменения.
5. Сравните отчеты средствами версии, если функция доступна, либо вручную.
6. Заполните [шаблон отчета](REPORT-TEMPLATE.md).
7. Защитите вывод: факт, интерпретация, ограничение, действие и повторная проверка.

**Артефакт:** два сравнимых состояния и итоговый вывод.

## Типовые проблемы

| Ситуация | Безопасное действие |
|---|---|
| Лицензия не принимается | Проверить файл, срок и редакцию; не искать обход активации |
| Нет прав на отчет | Использовать каталог внутри профиля; не отключать защиту ОС |
| Поиск слишком долгий | Сузить область до учебного каталога и уменьшить набор маркеров |
| Маркер не найден | Проверить кодировку, точную строку и ограничения версии; записать неопределенность |
| Системный аудит неполон | Зафиксировать права и ограничения ОС вместо выдумывания результата |
| Права не совпали | Проверить наследование, группы и фактический объект; считать расхождение результатом |

Если проблема не решается за несколько минут, зафиксируйте ее и продолжайте следующий блок.

## Граница вывода

Отчет «Инспектора» — доказательный материал конкретной проверки. Он не является готовым аттестационным заключением и не заменяет модель угроз, программу испытаний, организационные документы и полный набор мер защиты.

## Источники

- [Сканер-ВС: функции безопасности и сертификат ФСТЭК России № 2204](https://docs.etecs.ru/scanner/docs/intro/)
- [Приказ ФСТЭК России от 11.04.2025 № 117 — официальное опубликование](https://publication.pravo.gov.ru/document/0001202506170011)
- [Запуск «Инспектора» 4](https://docs.etecs.ru/scanner/docs/tools/inspector/v4/launch/)
- [Инструменты «Инспектора» 4](https://docs.etecs.ru/scanner/docs/tools/inspector/v4/tools/)
- [Отчеты «Инспектора» 4](https://docs.etecs.ru/scanner/docs/tools/inspector/v4/reports/)
