Enable DNS Logs¶
To enable GCP DNS query logs, follow the below steps.
- Navigate to VPC network in GCP console.
Open Google cloud shell and execute this command:
gcloud dns policies create POLICY_NAME --networks=NETWORK --enable-logging
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 VPC flow 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.
- 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>