Deploy SEM on Google Cloud Platform (GCP)
To deploy Security Event Manager (SEM) on Google Cloud Platform (GCP), perform the following procedures:
- Prerequisites
- Use command line steps
- Upload SEM disks to Google Cloud Storage (GCS)
- Import SEM virtual disks as images using Migrate to Virtual Machines
- (Optional) Create a VPC and subnet for SEM
- Configure firewall rules for SEM appliance
- Configure Cloud NAT gateway for outbound connections from the SEM private VM
- Create SEM VM instance from imported images
- Clean up virtual disk images
- Access, manage, and troubleshoot SEM appliance
Prerequisites
-
Confirm the shielded VM policy is not enforced (SEM does not support it).
-
Confirm you have access to Google Cloud with the permissions listed in the table below.
Action Recommended Roles Create bucket Storage Admin Manage bucket objects Storage Object Admin Use Migrate to Virtual Machines to import images
VM Migration Administrator
Create VM instance and virtual disks Compute Instance Admin (v1) Create network and add firewall rules
Compute Network Admin
Use command line steps
If using command line steps:
-
Install gcloud locally. For instructions, see Install the gcloud CLI.
-
Run
gcloud init
beforehand, authorizing and setting defaults, like project, region, and zone. -
In Notepad, customize required variables with your own values and copy-paste them from Notepad to PowerShell to initialize the variables.
Upload SEM disks to Google Cloud Storage (GCS)
-
Download the SEM distribution OVA file from the SolarWinds Customer Portal.
-
Open the downloaded OVA file with a zip archiver (for example, 7Zip or tar) and extract *.vmdk files (for example, lem-disk1.vmdk, lem-disk2.vmdk).
-
(Optional) Create a GCS bucket.
-
Go to Cloud Storage > Buckets.
-
Click Create.
-
Enter a globally unique name for your bucket (for example, sem-temp).
-
Under Location type, select the region where you want your data stored (for example, europe-west3).
-
Scroll to the end of the form and click Create.
-
If prompted, check Enforce public access prevention on this bucket, and click Confirm.
-
-
Upload the VMDK files to your bucket.
-
On the bucket toolbar, click Upload > Upload files.
-
In the folder with your extracted OVA file, select lem-disk1.vmdk and lem-disk2.vmdk.
-
Wait for the upload to finish and for both files to appear in the bucket (this can take a while).
-
Import SEM virtual disks as images using Migrate to Virtual Machines
-
Go to Compute Engine > Migrate to Virtual Machines.
-
If prompted, enable Migrate to Virtual Machines services.
-
Go to the Targets tab, and ensure your current project is listed. If not, click Add and select your project to add it.
-
Grant bucket access permissions for the Migrate to Virtual Machines default service account.
-
Copy the Migrate to Virtual Machines default service account (for example, service-123456789@gcp-sa-vmmigration.iam.gserviceaccount.com), written above the Target projects label.
-
Go to Cloud Storage > Buckets.
-
Click your bucket (for example, sem-temp) and click the Permissions tab.
-
Click Grant Access and in the New principals field, paste the Migrate to Virtual Machines default service account you previously copied.
-
In the Select a role field, select Storage Object Viewer.
-
Click Save.
-
-
Go to Compute Engine > Migrate to Virtual Machines > Image Imports tab.
-
Click Create Image.
-
In the Name field, enter an image name that corresponds to the virtual disk being imported (for example, sem-system and sem-data for lem-disk1 and lem-disk2).
-
In the Source Cloud Storage file, select the virtual disk (for example, lem-disk1.vmdk and lem-disk2.vmdk) from your bucket.
-
In the Region field, select your region (for example, europe-west3).
-
In the Target project field, ensure the correct Target project is selected (it should correspond to the project where you want to import SEM images).
-
Switch on Skip OS adaptation.
-
Click Create.
-
Wait until both sem-system (lem-disk1.vmdk) and sem-data (lem-disk2.vmdk) are imported successfully (this can take a while).
-
After the images are successfully imported, select both imports and click Delete (this only deletes the import job, not the images themselves).
-
-
Repeat step 6 for your second virtual disk.
OS adaptation is not needed for the SEM boot disk.
OS adaptation is not needed for the SEM data disk because there is no OS on it.
(Optional) Create a VPC and subnet for SEM
If you already have your network, and you want to deploy SEM into it, skip this step.
-
Go to VPS Network > VPC networks.
-
Click Create VPC Network.
-
Enter a name for your network (for example, sem-vpc).
-
Scroll to the Subnets tab and click Add Subnet.
-
Enter a name for your subnet (for example, sem-subnet).
-
Select Region for your subnet (for example, europe-west3).
-
Type IPv4 range (for example, 10.0.0.0/24).
-
Click Done.
-
-
Click Create.
Configure firewall rules for SEM appliance
The default values provided below illustrate basic SEM appliance ingress traffic, like SSH, HTTPS, and agent communications, in a scope of local network. It uses a target tag that can be put to a specific VM instance to apply these rules to.
-
Click the name of your network (for example, sem-vpc).
-
Go to Firewalls tab and click Add Firewall Rule.
-
For ingress rule:
-
Enter the name of your rule (for example, allow-sem-appliance-ingress).
-
For Direction of traffic, select Ingress.
-
For Targets, select Specified target tags.
-
Enter Target tags (for example, sem-appliance).
-
For Source filter, select IPv4 ranges.
-
Enter Source IPv4 ranges that should be allowed to connect to SEM appliance (for example, 10.0.0.0/24).
-
For Protocol and ports, select Specified protocols and ports.
-
Check TCP and enter ports that should be allowed, separated by comma (for example, 22,443,37890,37891,37892).
-
Click Create.
-
Configure Cloud NAT gateway for outbound connections from the SEM private VM
SEM VM is deployed without a public IP address, meaning, it can't be reached from the internet and SEM itself can't reach the internet. SEM relies on multiple external resources that are part of SEM functionality, in particular:
-
Threat Intelligence: Fetches a database of vulnerable IP addresses from external resource
-
Connector Updates: Updates the connectors with new releases from SolarWinds resource
-
Microsoft 365 monitoring: Connects to user-specified tenant on Microsoft resource
-
Licensing: Online activation contacts SolarWinds resource
-
SWIP: Sends anonymous usage/diagnostic data for product improvement to SolarWinds resource
In order for these resources to be reachable from SEM that does not have an external IP, Cloud NAT gateway needs to be configured, as described below:
-
Go to Network Services > Cloud NAT (or search for it from the search bar at the top).
-
Click Get started or Create Cloud NAT Gateway.
-
Set Gateway name to sem-nat-config.
-
Select Public for NAT type.
-
Select your Network where SEM VM is deployed (for example, sem-vpc).
-
Select your Region (for example, europe-west3).
-
Under Cloud Router, click Create New Router.
-
Set Name of the router (for example, nat-router-europe-west3).
-
Click Create.
-
-
Under Cloud NAT mapping section.
-
Select VM instances, GKE nodes, Serverless for Source endpoint type.
-
Select Primary and secondary ranges for all subnets for Source endpoint type.
-
Select Automatic for Cloud NAT IP addresses.
-
Select your Network Service Tier (for example, Standard).
-
-
Click Create.
Create SEM VM instance from imported images
The SEM instance is created without external address (NAT) because it is not recommended to expose SEM to the internet.
-
Go to Compute Engine > Images.
-
Find and click the name of the previously imported system image (for example, sem-system).
-
Click Create Instance.
-
Enter Name (for example, sem-appliance).
-
Select your Region (for example, europe-west3) and Zone (for example, europe-west3-c).
-
Under Machine configuration, select Machine type (for example, e2-standard-2). See SEM system requirements for hardware requirements.
-
Scroll to Advanced options and expand Networking.
-
Enter Network tags (for example, sem-appliance).
-
Under Network interfaces, select your Network (for example, sem-vpc) and Subnetwork (for example, sem-subnet).
-
For External IPv4 address, select None.
-
-
Expand Disks and backups section.
-
Click Add New Disk.
-
In the Name field, enter a name for the new disk (for example, sem-data).
-
For Disk source type, select Image.
-
For Source image, select your SEM data image (for example, sem-data).
-
For Disk type, select the applicable disk type (for example, Balanced persisted disk).
-
For Size, select applicable size for SEM data disk (for example, 228).
-
Click Save.
-
Click Create.
-
Clean up virtual disk images
-
Clean up the local extracted OVA temp directory.
-
Clean up the virtual disk images from your GS bucket.
-
Go to Cloud Storage > Buckets.
-
Click the name of your bucket (for example, sem-appliance).
-
Select both SEM virtual disks (for example, lem-disk1.vmdk and lem-disk2.vmdk).
-
Click Delete and confirm it, if prompted.
-
-
(Optional) Delete your temporary GS bucket.
-
Go back to Buckets.
-
Select your bucket (for example, sem-temp).
-
Click Delete and confirm the deletion, if prompted.
Do not delete your own bucket you actually use to store different objects. ONLY delete the buckets created to temporarily store SEM virtual disks.
-
Access, manage, and troubleshoot SEM appliance
- Use bastion-host (jump-box), IAP or VPN to access SSH (CMC user) and Web UI (over HTTPS ).
- Connect via SSH as CMC user using the default password, and change the CMC password to your own. The support key can also be seen under CMC user screen.
- Access the Web UI from the browser, where you need to on-board before starting to use SEM.
Access BSOL over serial port connection
For troubleshooting, especially if SSH connection does not work, an interactive BSOL (Blue Screen of Life) can be accessed under serial port connection (if serial port is enabled). When deployed on Google Cloud, SEM exposes interactive BSOL on /dev/ttyS0, which corresponds to VM port 1.
Enable serial port connection only for troubleshooting purposes.
The interactive serial console does not support IP-based access restrictions such as IP allow list, unless you use VPC Service Controls. If you enable the interactive serial console on an instance, clients can attempt to connect to that instance from any IP address.
After troubleshooting is done, always disable the serial port connection.
Accessing serial console from a browser requires IAP or SSH to be allowed for everyone, for example, 0.0.0.0/0.
To use serial port connection for troubleshooting, follow these steps:
-
Temporarily allow serial port connection for the project (if the opposite is enforced).
-
Temporarily enable serial port connection for the VM instance.
-
Go to Compute Engine > VM Instances.
-
Click the name of your SEM instance (for example, sem-appliance).
-
Click Edit.
-
Under the Remote access section, toggle the Enable connecting to serial ports checkbox.
-
Click Save.
-
-
Access the BSOL on a serial port 2 to troubleshoot (further logging in as CMC or root).
-
After troubleshooting is done, disable the serial port connection for the VM (follow step 2) and restore the project policy (if it was initially enforced).