Назад | Перейти на главную страницу

Как запустить OpenSCAP с моим собственным PowerShell-скриптом

Я хочу проверить, активна ли заставка в моей Windows 10 Pro, используя мой собственный PowerShell-скрипт и OpenSCAP 1.3.2 (версия для Windows). Я написал такой файл test.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Benchmark
  xmlns="http://checklists.nist.gov/xccdf/1.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  id="RHEL-7"
  resolved="0"
  xml:lang="en-US">

  <status date="2011-12-08">draft</status>
  <title>Test XCCDF Benchmark</title>
  <version>0.1</version>

  <Profile id="standard">
    <title>Standard System Security Profile</title>
    <select idref="Screensaver_Is_Active" selected="true"/>
  </Profile>

  <Group id="password_requirements">
    <title>Active Screensaver Test</title>

    <Rule id="Screensaver_Is_Active" selected="false" severity="medium" weight="10.000000">
       <title>Check if screensaver is active?</title>
       <description>
          <xhtml:pre xmlns:xhtml="http://www.w3.org/1999/xhtml">Check screensaver</xhtml:pre>
       </description>
       <check system="http://open-scap.org/page/SCE">
          <check-import import-name="stdout" />
          <check-content-ref href="test.ps1" />
       </check>
    </Rule>

  </Group>
</Benchmark>

и test.ps1

$data = Get-ItemProperty -Path "HKCU:\Control Panel\Desktop"
if ($data.ScreenSaveActive) {
    Write-Output "Passed"
    exit $XCCDF_RESULT_PASS
} else { 
    Write-Output "Failed"
    exit $XCCDF_RESULT_FAIL
}

Затем я начинаю проверку с помощью команды и получаю ответ "notchecked":

PS C:\> oscap xccdf eval --profile standard test.xml
Title
    Check if screensaver is active?
Rule    Screensaver_Is_Active
Result  notchecked

Файлы test.ps1 и test.xml также находятся по пути C: \

Что не так в моем примере? Почему у чека есть только статус «не отмечен»?

Сначала попробуйте использовать oscap с опцией, чтобы мы могли получить больше информации о том, что происходит. INFO уровень должен быть в порядке:

--verbose <verbosity_level>   - Turn on verbose mode at specified verbosity level.
                                   Verbosity level must be one of: DEVEL, INFO, WARNING, ERROR.

Но я не уверен, доступны ли модули SCE для Windows.

Также попробуйте запустить oscap --version и проверьте, есть ли возможности, перечисленные в разделе:

==== Capabilities added by auto-loaded plugins ====