ParseMessageHeader(): [action: METHOD_SECURE_MESSAGE] Session GUID From Message Header [0000-00-00]
Summary:
Changes to the Trusted Communication Certificate have not been fully received by a number of Agents. Those Agents must now rely on the Communication Key to send/receive information from the Server. Decryption of that communication by the Server relies on some Windows APIs that add overhead to the underlying application server, which is known to cause Console performance issues.
What scenarios can trigger this situation?
There are many potential scenarios that could cause this, however the most common include:
How many Agents cause the performance issue?
There's no set number or way to exactly calculate what the application server is capable of. Factors that play a role in the performance impacts include:
Ultimately; it could be as few as 50-100 Agents using the Communication Key will cause performance issues, or it could be 500 or more before performance impacts are observed. Each environment will have different considerations/variables to consider.
Essentially this will be a simple three step task that itself is very straightforward:
As mentioned, the Certificate Update Schedule introduced in Server 8.10.2 was meant as a way to allow more time for Agents to receive these changes. Under normal circumstances, the App Control Server can typically push these changes to hundreds of thousands of Agents in under 48 hours. However, when performance impacts are being encountered this will drastically limit the Server's ability to deliver the file automatically using IIS.
There are several ways to identify the endpoints either struggling to acquire the new TrustedCertList.pem file or using the Communication Key.
ParseMessageHeader(): [action: METHOD_SECURE_MESSAGE]
[46210] ParseMessageHeader(): [action: METHOD_SECURE_MESSAGE]
[46210] request started from host address [192.168.0.52]
Get-FileHash "C:\Program Files (x86)\Bit9\Parity Server\hostpkg\TrustedCertList.pem"
Windows:
"C:\Program Files (x86)\Bit9\Parity Agent\dascli.exe" status
macOS:
/Applications/Bit9/Tools/b9cli --status
Example output to review:
Server Information
Server: serveraddress.local:41002
Status: Up to date
Policy: Desktop-HE (4-00000007)
Config List: 279116 of 279116 (100%)
Yara Rule Version: 9
Register Count: 11 (Last 10/3/2024 9:19:37 PM Session[1])
Poll Count: 212 (Last 10/3/2024 11:04:59 PM)
File Uploads: 0
Unsent Queue: 0 Events, 0 File Reports
Sent Queue: 64483-65595
Prioritized: No
Communication Key: 9FD2F2AD-402B-419E-98EB-A227E3A36F63
Certificate List: e6ae090da3821d920580b5b5bd4bf729f3ed393b0302b599c60faacd701ee5da
Any workflow that is able to achieve the steps in Overview will resolve the issue. For purposes of this article, several options will be presented. No matter which option is chosen:
Scripting the commands could easily allow for your SCCM Team (or otherwise) to deploy a package that authenticates with the Agent and imports the updated TrustedCertList.pem file.
The concept here is very much the same as Scripting the Commands via SCCM, and you will want to implement against a small group of machines first as well to verify the results. Work with your Active Directory Team to verify the proper procedure for your environment, but the PDF attached to the bottom of this article (AD Import TrustedCertList.pdf) shows an example workflow of the process:
Engage your Firewall Team to block access to the Server Address via Port 41002. This will prevent Agents from communicating with the App Control Server using the Communication Key which will alleviate the performance impacts. Slowly open this restriction back up after confirming various segments have fully received the updated TrustedCertList.pem file. Example steps:
A combination of changes may be required, but it is recommended to verify the following items and best practices: