Есть ли способ в Windows, чтобы проверить, что, скажем, бюллетень по безопасности MS**-***
или CVE-****-*****
был исправлен? например, что-то похожее на RedHat'srpm -q --changelog service
Windows 2008 R2 SP1
Есть ли способ в Windows, чтобы проверить, что, скажем, бюллетень по безопасности MS**-***
или CVE-****-*****
был исправлен? например, что-то похожее на RedHat'srpm -q --changelog service
Windows 2008 R2 SP1
Ответы:
Запуск SystemInfo для вашего сервера ( systeminfo /s $SERVER
) также должен содержать список установленных исправлений.
Hotfix(s): 333 Hotfix(s) Installed.
[161]: IDNMitigationAPIs - Update
[162]: NLSDownlevelMapping - Update
[163]: KB929399
[164]: KB952069_WM9
[165]: KB968816_WM9
[166]: KB973540_WM9L
[167]: KB936782_WMP11
Я запускаю PSinfo -h на сервере, чтобы показать установленные исправления.
Другая альтернатива, если вы не можете использовать pstools и застряли с нативными инструментами Winder:
reg query hklm\software\microsoft\windows\currentversion\uninstall /s | findstr "KB[0-9].*" > %TEMP%\Installed.txt & notepad %TEMP%\Installed.txt
WMIC может перечислить установленные исправления:
C:\>wmic qfe get hotfixid, installedon
HotFixID InstalledOn
KB2605658 11/30/2011
KB2608610 9/1/2011
KB2608612 9/26/2011
KB2614194 9/26/2011
...(more)...
Он также может искать конкретное исправление. Здесь я показываю два поиска - один успешный, другой неудачный:
C:\>wmic qfe where (hotfixid = 'KB2608610') get hotfixid, installedon
HotFixID InstalledOn
KB2608610 9/1/2011
C:\>wmic qfe where (hotfixid = 'nosuch') get hotfixid, installedon
No Instance(s) Available.
Также для проверки уязвимостей в подсистемах, о которых вы, возможно, не знаете, в системе, Microsoft Baseline Security Analayzer является довольно полезным инструментом. Это не всегда то, что вы знаете о том, что вам известно, иногда устанавливаются странные вещи, которые не сканируются и не обслуживаются WSUS или Центром обновления Майкрософт, которые могут оставаться не исправленными или не пропущенными в течение всей жизни системы.