Control: 4.9 Ensure a notification is configured for changes to route tables
Description
It is recommended to setup an Event Rule and Notification that gets triggered when route tables are created, updated or deleted. Event Rules are compartment scoped and will detect events in child compartments, it is recommended to create the Event rule at the root compartment level.
Route tables control traffic flowing to or from Virtual Cloud Networks and Subnets. Monitoring and alerting on changes to route tables will help in identifying changes these traffic flows.
Remediation
From Console
- Go to the Events Service page.
- Select the
compartment
that should host the rule. - Click
Create Rule
. - Provide a
Display Name
andDescription
. - Create a Rule Condition by selecting
Networking
in the Service Name Drop-down and selectingRoute Table – Change Compartment
,Route Table – Create
,Route Table - Delete
andRoute Table – Update
. - In the
Actions
section selectNotifications
as Action Type. - Select the
Compartment
that hosts the Topic to be used. - Select the
Topic
to be used. - Optionally add Tags to the Rule.
- Click
Create Rule
.
From CLI
- Find the
topic-id
of the Event Rule which should be used for sending Notifications by using the topicname
andCompartment OCID
.
oci ons topic list --compartment-id=<compartment OCID> --all --query "data [?name=='<topic_name>']".{"name:name,topic_id:\"topic-id\""} --output table
- Create a JSON file to be used when creating the Event Rule. Replace topic id, display name, description and compartment OCID.
{ "actions": { "actions": [ { "actionType": "ONS", "isEnabled": true, "topicId": "<topic id>" }] }, "condition": { "eventType": ["com.oraclecloud.virtualnetwork.changeroutetablecompartment", "com.oraclecloud.virtualnetwork.createroutetable", "com.oraclecloud.virtualnetwork.deleteroutetable", "com.oraclecloud.virtualnetwork.updateroutetable"], "data":{} }, "displayName": "<display name>", "description": "<description>", "isEnabled": true, "compartmentId": "compartment OCID"}
- Create the actual event rule.
oci events rule create --from-json file://event_rule.json
- Note in the JSON returned that it lists the parameters specified in the JSON file provided and that there is an OCID provided for the Event Rule.
Usage
Run the control in your terminal:
powerpipe control run oci_compliance.control.cis_v200_4_9
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run oci_compliance.control.cis_v200_4_9 --share
SQL
This control uses a named query:
events_rule_notification_route_table_changes