Enable VPC Flow Logs¶
To enable GCP VPC flow logs, follow the below steps.
- Navigate to VPC network in GCP console.
- Select the subnet to enable VPC flow log.
- Ensure that flow logs is turned on. If it is off, click on edit and turn flow logs on.
- Turn on flow log on all subnets where you want to enable flow log.
- Navigate to Cloud Storage section and create a storage bucket. You can leave everything as default when creating storage bucket.
Note: Both DNS and VPC logs can share the same cloud storage bucket.
- Navigate to Logs Route section.
- Click on Create Sink
- Provide a sink name.
- Select "Cloud Storage bucket" for sink service.
- Select the cloud storage bucket that was created above.
In "Choose logs to include in sink" section, put in this string:
Below steps are the same as mentioned in DNS query log for GCP. If you are sharing cloud storage bucket, you only need to perform below steps once.
Click Create Sink.
- Navigate to IAM -> Roles
- Create a custom role with this permission: storage.buckets.list
Create another custom role with following permission:
storage.buckets.get storage.objects.get storage.objects.list
Add both custom role to the service account created for Valtix Controller. When adding the second custom role, put this condition:
(resource.type == "storage.googleapis.com/Bucket" || resource.type == "storage.googleapis.com/Object") && resource.name.startsWith('projects/_/buckets/<cloud storage name>')
- Navigate to Pub/Subs
- Click on Create Topic
- Provide a Topic name and click create.
- Click on Subscriptions. You will find that there is a subscription created for the topic that was just created.
- Edit the subscription.
- Change Delivery type as Push.
- Once Push is selected, enter in the endpoint URL:
https://prod1-webhook.vtxsecurityservices.com:8093/webhook/<tenant name>/gcp/cloudstorage. Tenant name is assigned by Valtix. To see tenant name, navigate to Valtix Controller and click on your username.
- Click Update.
- Create a cloud storage notification by opening a Google cloud shell and execute this command:
gsutil notification create -t <TOPIC_NAME> -f json gs://<BUCKET_NAME>