Operating Systems Analysis
Operating Systems (OS) Analysis consists of two components:
- OS analysis service running on Runecast Analyzer appliance,
- OS agents running on operating systems, collecting data and reporting to OS Analysis service.
We use Fleet as part of the OS analysis service. Fleet is running on the appliance in case of the image-based deployments and is disabled by default. After you Activate OS connection in Settings > Connections, the service is enabled and started. For K8s deployments, the OS analysis service is running since deployment when enabled with values fed to the helm chart.
The OS agent is the well-known and widely used osquery. We use official packages, add our installation scripts and configuration bits and package them as a ready-to-deploy installation package, that can be downloaded directly from Runecast Analyzer. When osquery is deployed from this package to target operating systems, it is automatically connected to our Fleet service. The connection is secured by a TLS certificate that is automatically generated when the OS Analysis is enabled and is part of the installation package.
When Runecast Analyzer starts analysis, it creates data query requests and sends them to Fleet. There, the OS agents collect the queries, process them and send back the results. Runecast Analyer then gathers the data and performs the actual analysis, showing the results afterward.
Host Collection Status
The host can appear in the inventory in one of three states - fully collected, Collection incomplete, or Host offline.
Collection incomplete status is displayed for hosts that are online, but for some reason Runecast was not able to collect all the required data. There can be several reasons for this. If you see a host in this state in your inventory, please do the following:
- verify if the host has enough memory (the osquery agent may need up to 400 MB),
- If it's a VM, verify the health of the underlying hypervisor and its resources,
- Verify connectivity between Runecast and the host,
- Verify antivirus scan results on the host, and
- Restart the osquery service.
The offline host may only be temporarily unavailable. In this case, it is necessary to analyze the object later to get valid results. If the host is decommissioned, navigate to Menu -> System settings -> Connected systems -> Operating systems connection settings. Click the Show details link to display all systems, select the offline hosts, and press Remove selected hosts to remove them from the inventory. If the online host is selected for removal, it will reappear in the inventory in a minute.
Collected information
osquery is able to collect various types of information. Runecast Analyzer collects only data that are necessary to perform the analysis of the target operating system, such as OS information, installed applications, configuration files or some registry settings, etc. If you would like to see the whole collected dataset, please follow these steps:
-
Navigate to Settings > API Access tokens and click Explore API Documentation.
-
Click on Ecosystems and
/api/v2/rca-instances/{id}/ecosystems
. For Parameter id enter1
and press Try it out!. -
In the Response Body field, find Operating Systems and note the id.
... { "id": 31, "viewName": "Operating Systems", "ecosystemType": "FLEET", ...
-
Open a new tab in your browser and paste the following URL:
https://<your appliance>/rc2/api/v2/ecosystems/<ecosystemId>/config-scans/latest/dataset
. Replace the<ecosystemId>
with the ID noted in step 3 and execute it. -
You will download a zipped dataset with all operating system information that is collected from OS agents and used in OS Analysis.
How to replace the Fleet service self-signed SSL certificate
By default, the agent connections to the Runecast Analyzer are secured using a self-signed SSL certificate. We recommend replacing it with a CA-signed certificate.
In order to generate new fleet certificate, please perform the following steps:
-
Generate a key and a csr for the new certificate. Please replace the
rca-server-name
and the10.0.0.10
with a real hostname and the IP of Runecast Analyzer.openssl genrsa -out /etc/runecast/fleet/server.key 2048 openssl req \ -key server.key \ -subj '/CN=rca-server-name' \ -addext 'subjectAltName = DNS:rca-server-name,IP:10.0.0.10,IP:127.0.0.1' \ -addext 'extendedKeyUsage = serverAuth' \ -new -sha256 -out server.csr
Warning
Important! Keep
127.0.0.1
insubjectAltName
otherwise internal communication between components will stop working. -
Send the resulting
server.csr
file to your certification authority, and obtain the certificate. Name the fileserver.crt
. -
Place the
server.key
and theserver.crt
in the /etc/runecast/fleet/ directory:sudo cp /tmp/server.key /etc/runecast/fleet sudo cp /tmp/server.crt /etc/runecast/fleet sudo chown root:fleet /etc/runecast/fleet/server.key /etc/runecast/fleet/server.crt sudo chmod 640 /etc/runecast/fleet/server.key /etc/runecast/fleet/server.crt sudo systemctl restart fleet.service
-
Replace the
osquery-ca.crt
on agents with a certificate chain of the certificate authority used for signing the Fleet server certificate. You can obtain the installation package from Runecast Analyzer, replace the file inside and use the usual automated way to update the agents.