Enable DNS Logs¶
To enable GCP DNS query logs, follow the below steps.
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:
resource.type="dns_query"
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. To view 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>