Dieser erste Beitrag zeigt die Serverseite von DSM Patchlink. Anhand zwei typischer Fehler zeige ich die Fehlersuche. Welche Logfiles und welche Einträge sind auf dem Patchlink Server zu finden.
Der Artikel basiert auf der DSM Version 2016.2.
Bei den beiden Fehlern handelt es sich immer darum das zwischen dem Patchserver und den Quellen im Internet ein Firewall und/oder ein Proxy Server steht.
Fehler 1 – Dateien im Paketordner fehlen
Die Auswirkung dieses Fehlers sieht man lokal am Client. Der Patch kann nicht installiert werden. Die typische Fehlermeldung im Installer Logfile:
xniSPD.dll: Installation result is 144
xniSPD.dll: Installation failed with code 144 (this is not a windows error code)
Schaut man dann über die DSMC in das Paketverzeichnis findet sich dort keine Patchdatei. Patchdateien haben z.B. die Endung *.cab; *.msp; *.msu; *.exe oder auch *.msi.
In meinem Beispiel ist es ein Office Patch der ein CAB-File enthalten soll. Das Paketverzeichnis enthält außer dem typischen NetInstall Dateien nur die PLS und PLP Datei. Hier ist kein CAB-File zu sehen. Die PLS Dateien enthält die Installationsanweisungen und die PLP Datei die Signatur Informationen für diesen Patch.
Fehlersuche
Um die Ursache zu finden müssen wir auf dem Patchmanagement Server die Logfiles analysieren. Diese liegen im Ordner „PatchMgmt“ unter dem Standard Logordner von DSM.
„C:\Program Files (x86)\Common Files\enteo\NiLogs\PatchMgmt“
Hier sind drei Patchlink Logfiles interessant:
- Scr.log
- PmSync_SYSTEM_XX.log
- PmMaExt_SYSTEM_XX.log
- PmDownload_SYSTEM_XX.log
Ivanti (HEAT) DSM Patchmanagement Logfiles
Zuerst schauen wir uns die Datei scr.log an. In dieser nach dem Schlüsselwort „ERROR:“ suchen. Damit kommen wir schnell zu folgender Meldung:
04/11/2017-14:15:15:ERROR:Download:Error: 12057
Weiterführend findet wir dann im PmDownload Logfile ebenfalls eine Fehlermeldung, z.B.:
01:22:36.923 E Warning (Module:PmAdminLib, Severity:0x03): Failed to query timestamp and size of ‚publisher-x-none_65003cec6e71ec683993022c2e13237eba36801c.cab‘.
The operation timed out (0x00002ee2)
01:23:18.972 E Warning (Module:PmAdminLib, Severity:0x03): The operation timed out
01:23:18.972 2 PmAdminLib: Trying alternative download method (plain download without proxy)
01:23:18.972 2 FpsClntHlp.dll: Downloading ‚http://wsus.ds.download.windowsupdate.com/c/msdownload/update/software/secu/2015/10/publisher-x-none_65003cec6e71ec683993022c2e13237eba36801c.cab‘ to ‚C:\Program Files (x86)\Common Files\enteo\SPDTemp\SPDFF6F.tmp\SPDFFCE.tmp\SPD9143.tmp\publisher-x-none.cab“
01:23:18.972 1 FPS.dll: ————— FpsCreateFileSystemProvider interface called —————
01:23:18.972 0 FPS.dll: Parameters:
01:23:18.972 0 FPS.dll: Base URL: C:\Program Files (x86)\Common Files\enteo\SPDTemp\SPDFF6F.tmp\SPDFFCE.tmp\SPD9143.tmp
01:23:18.972 0 FPS.dll: Authentication mode: NoAuth
01:23:18.972 0 FPS.dll: Provider with no authentication requested.
01:23:18.972 1 FPS.dll: ————— FpsCreateFileSystemProvider finished —————
01:23:18.972 2 FpsClntHlp.dll: Certificate to use: ‚*‘
01:24:01.001 0 FpsClntHlp.dll: Failed to send a HTTP request.
The operation timed out (0x00002ee2)
01:24:01.001 0 FpsClntHlp.dll: Failed to send request data.
The operation timed out (0x00002ee2)
01:24:01.001 E Warning (Module:PmAdminLib, Severity:0x03): Error „The operation timed out (0x00002ee2)
“ downloading url „http://wsus.ds.download.windowsupdate.com/c/msdownload/update/software/secu/2015/10/publisher-x-none_65003cec6e71ec683993022c2e13237eba36801c.cab“.
01:24:01.001 2 Messagebox suppressed (No output allowed), output is written to the log files
01:24:01.001 2 MsgBox: [Error „The operation timed out (0x00002ee2)
“ downloading url „http://wsus.ds.download.windowsupdate.com/c/msdownload/update/software/secu/2015/10/publisher-x-none_65003cec6e71ec683993022c2e13237eba36801c.cab“. ]
Beide Meldung zeigen eindeutig das der Kontakt über die Firewall/Proxy hinaus klappt, jedoch der Download der eigentlich Patchdateien nicht. Der Fehler 12057 und der Timeout Fehler zeigen an das hier eine Überprüfung nicht durchgeführt werden kann und damit der Download fehl schlägt.
Fehlerbehebung
Damit der Download klappt muss für den SYSTEM Account die Überprüfung der Serverzertifikate ausgeschalten werden. Im Internet Explorer findet wir diese Einstellung unter den erweiterten Eigenschaften im Bereich Sicherheit. Im englischen heißt der Punkt „Check for server certificate revocation“ und im deutschen „Auf gesperrte Serverzertifikate überprüfen“.
Internet Explorer Sicherheitseinstellungen
Da der „HEAT DSM Patch Management Service“ unter dem SYSTEM Account läuft muss diese Einstellung auch für diesen verändert werden. Hierzu gibt es zwei Möglichkeiten.
- PSEXEC verwenden
- Registry verändern
PSEXEC
Von den Microsoft Sysinternals (https://technet.microsoft.com/de-de/sysinternals/bb545021.aspx) Tools das PSEXEC runter laden. Damit dann auf dem Patchmanagement Server den Internet Explorer aufrufen:
psexec.exe -s -i „C:\Program Files (x86)\Internet Explorer\iexplore.exe“
Damit startet der Internet Explorer unter dem System Account und es können diese zwei Einstellungen verändert werden.
Danach den Patchmanagement Dienst neu starten.
Registry
Registry Editor starten und folgende Einträge erzeugen oder ändern:
„HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\InternetSettings“
Dort ein Dword Value „CertificateRevocation“ mit dem Inhalt 0 erstellen.
„HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing“
Hier den REG_DWORD „State“ auf den Dezimalwert 146944 ändern.
Danach den Patchmanagement Dienst neu starten.
Bei beiden Lösungen muss man je nach Umgebung ein paar Stunden warten um das Ergebnis zu sehen. Das heißt im Scr.log taucht der Fehler nicht mehr auf und im PmDownload Logfile ebenfalls nicht mehr.
Fehler 2 – Neue Patche werden nicht mehr erzeugt
Es kommt durch aus vor das Patchlink am Anfang funktioniert und nach einiger Zeit keine neuen Patche mehr importiert. In diesem Fehlerfall werden dann auch die Pakethülsen nicht angelegt und ebenfalls die Sicherheitsanfälligkeiten auf den Clients nicht mehr aktualisiert.
Dann liegt hier entweder ein Problem mit der Datei OSPXSet.XML vor oder generell das der Proxy Server den Download von OSPX-Dateien nicht zulässt.
OSPXSet.XML
Die Datei ist auf dem Patchmanagement Server zu finden:
„C:\Program Files (x86)\HEAT Software\LPR\content\header\ospx\OSPXSet.XML“
In dieser Datei sind die URLs angegeben woher Patchlink seine OSPX-Dateien runter laden soll. Diese wird im Normalfall automatisch aktualisiert. Durch Anpassungen am Proxy Server oder andere Infrastrukturveränderungen kann es vorkommen das diese veraltet ist. Dann versucht Patchlink irgendwann über alte Quellen an die OSPX-Dateien zu kommen.
Hier ist erst mal die Freischaltung in der Firewall oder am Proxy Server durchzuführen. Danach am besten den ganzen Inhalt des Ordners „ospx“ löschen. Also alles unterhalb von:
„C:\Program Files (x86)\HEAT Software\LPR\content\header\ospx“
Danach den Patchmanagement Dienst durchstarten. Nach ein paar Minuten wird diese Datei wieder erzeugt und sollte nun die aktuellen Quellen enthalten.
Den Download der OSPXSet.XML Datei könnt ihr im PmSync_SYSTEM_XX.log überprüfen.
OSPX-Dateien
Manchmal kommt es vor das trotz Freischaltung in der Firewall die OSPX-Dateien nicht runter geladen werden können. Und diese sind wichtig für die Analyse der Sicherheitsanfälligkeiten und Abhängigkeiten der Patche. So z.B. gibt es die windependencies.ospx und etliche mehr. Siehe hierzu den Inhalt der OSXPSet.XML Datei.
Auch hier muss die Firewall und/oder der Proxy Server entsprechend konfiguriert werden das der Patchmanagement Server diese Dateien runter laden darf.
Weitere Fehler im Patchlink
Solltet ihr weiterhin im PmDownload Logfile Fehler wie diese finden müsst ihr nochmals die Firewall Regeln überprüfen.
13:11:19.519 0 FPS.dll: Failed to send a HTTP request.
The operation timed out (0x00002ee2)
13:11:19.519 0 FPS.dll: Failed to send request data.
The operation timed out (0x00002ee2)
13:12:44.633 0 FPS.dll: Failed to send a HTTP request.
The operation timed out (0x00002ee2)
13:12:44.633 0 FPS.dll: Failed to send request data.
The operation timed out (0x00002ee2)
13:14:09.704 0 FPS.dll: Failed to send a HTTP request.
The operation timed out (0x00002ee2)
13:14:09.704 0 FPS.dll: Failed to send request data.
The operation timed out (0x00002ee2)
13:14:09.704 E Warning (Module:PmAdminLib, Severity:0x03): Failed to query timestamp and size of ‚proof-de-de_c37c92a83292c67529ec87e88ad6963f5d36aa6a.cab‘.
The operation timed out (0x00002ee2)
13:14:51.768 E Warning (Module:PmAdminLib, Severity:0x03): The operation timed out
13:14:51.768 2 PmAdminLib: Trying alternative download method (plain download without Proxy)
Inhalt der OSPXSet.xml
Hier ein Beispiel für den Inhalt der OSPXSet.XML Datei von Patchlink:
<?xml version=“1.0″ encoding=“utf-8″?>
<Components>
<Product Name=“Update“>
<DownloadFiles>
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/ab487a8e-f037-4b4e-adc2-8380f8af5df8/LM.Detection.xml“ LocalFile=“LM.Detection.xml“ LocalPath=“%Storage%\OSPXStaging“ Hash=“3709AE2EFD966A9377998F725FAD47537122699E“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/99763754-046b-4c10-b4f2-27ae261e93ca/win2016x64.ospx“ LocalFile=“win2016x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“A05CB7396C5861247F72BFF4EFE099B951217CC8″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/5041da71-a37f-4a36-b41b-bc490652bc10/win2012x64.ospx“ LocalFile=“win2012x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“FDEB4F5A41E2242A0FA48E23A7987B8E682AA626″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/b96c28d2-de48-4070-bbd3-94a492800fc5/win2k3.ospx“ LocalFile=“win2k3.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“0F566782DC7CDC1EB5871512DE3D07956BFC816E“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/58d7366c-27c1-427d-92d8-3b6104df781d/win2k3x64.ospx“ LocalFile=“win2k3x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“D392F775CFA8AA0CC5A51B31B7CA958B8A47BB27″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/c6062d84-5cd6-4d59-9be5-edf392ca21f2/win2k8.ospx“ LocalFile=“win2k8.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“D00EF28C2972261B045DC1D4A1B474ACBAAE3AAD“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/994b63fb-b9f1-4ffa-b5e2-0c04a1157978/win2k8r2x64.ospx“ LocalFile=“win2k8r2x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“E03F75E363C092C306EE256D612238C6C665EC40″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/8e24e948-443a-4bba-80bc-8fc6034d0199/win2k8x64.ospx“ LocalFile=“win2k8x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“18E06929D73E25295546F95A0277BB64293108B0″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/4e09242d-76b9-4f09-8060-e855c94a96ce/win7.ospx“ LocalFile=“win7.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“5139291EFFA630F05C2A30E09C6D017A25DDDE0A“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/da3c1fda-efb2-4335-868b-b55af2ea5e02/win7x64.ospx“ LocalFile=“win7x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“F5E617C95C16477352BDD6DCA09A5C5A7E4D6BEC“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/7b3713d1-8d22-45f1-803b-49f8c4ed5432/win8.ospx“ LocalFile=“win8.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“B955E1AD33D11806744A25097AD849A14A3DFB0E“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/4872ce15-5bd8-421f-b2e2-425c32252660/win8x64.ospx“ LocalFile=“win8x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“39F1B38AE66A6688EB2E0461E1B01A474E5B02CE“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/3449430d-108b-4e09-a5b8-bb7dbe7f778b/winvista.ospx“ LocalFile=“winvista.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“3CE9D0EF19C3083102781F7A4170A889D9A9912C“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/684f2d10-4364-4f52-b34e-73cf84f2f9c8/winvistax64.ospx“ LocalFile=“winvistax64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“4A144174DDA563D4FBFCA2AA97BAB6B985177DEF“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/9da825e7-45d4-46e5-81e1-11a1b9602c5a/winxp.ospx“ LocalFile=“winxp.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“2EA1DBFBE10315761358AE663C93EDF686490A37″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/133ebb37-2b12-4929-936d-f8f19fb4d003/winxpx64.ospx“ LocalFile=“winxpx64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“1BA41B4526A0C7B2DD577F7A0F381C189C396DEA“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/cee4678e-2b30-4429-8d05-b8006a60d293/win10.ospx“ LocalFile=“win10.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“6F6A4E7CDCA481AFD0B3593F58A982BFB732AA0E“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/837f3efe-72ba-4e48-b960-1bbe4fb8b30b/win10x64.ospx“ LocalFile=“win10x64.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“7CDE209C5812B02DD10A7BAD82A760FE3C517021″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/ca8716eb-a2a7-4eba-91dd-fa75d31f1b98/winapplications.ospx“ LocalFile=“winapplications.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“68573840A0222C10E3511E59008590DC44F9DCD8″ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/a2cf7597-e022-4a3f-b0d6-57ad15d3dac2/windependencies.ospx“ LocalFile=“windependencies.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“E3408B2E7A5E78634DADCF42CB84B9B76A22C3CF“ HashType=“SHA1″ />
<DownloadFile Type=“HTTP“ Url=“http://cache.lumension.com/patchcomponents/33570f3b-fb67-498d-97b8-f5716315de45/winsecuritydefinitions.ospx“ LocalFile=“winsecuritydefinitions.ospx“ LocalPath=“%Storage%\OSPXStaging“ Hash=“EC493AEEEAC987C9084B77B245503D00A5CD086C“ HashType=“SHA1″ />
</DownloadFiles>
</Product>
</Components>