Skip to content

Cisco Secure Access - IPS

Overview

The Cisco Secure Access IPS logs show the traffic, events, and possible threats detected by the Secure Access Intrusion Prevention System.

  • Vendor: Cisco
  • Supported environment: Cloud
  • Detection based on: Security Alerts, Telemetry

Warning

Important note - This format is currently in beta. We highly value your feedback to improve its performance.

Configure

This section will guide you through configuring Cisco Secure Access to forward logs to Sekoia.io using a Cisco-managed Amazon S3 bucket.

Prerequisites

  • Full Admin user role in Cisco Secure Access. For more information, see the Manage Accounts documentation.
  • Access to Sekoia.io Intakes and Playbook pages with write permissions.

Step 1 — Configure the Cisco-Managed S3 Bucket

Cisco Secure Access can export your logs to a Cisco-managed Amazon S3 bucket. Cisco configures all managed buckets to use Amazon Server-Side Encryption with S3-Managed Keys (SSE-S3, AES-256). Access is provided via AWS IAM credentials.

  1. In the Cisco Secure Access dashboard, navigate to Admin > Log Management.
  2. Click Set up cloud storage and select Cisco.
  3. Select a Region — choose the region closest to you to minimize latency when downloading logs.

    Warning

    The selected region cannot be changed later without deleting your current settings and starting over. Not all AWS regions are available.

  4. Select a Retention Duration — choose 7, 14, or 30 days.

    Note

    Beyond the selected time period, all data is purged and cannot be retrieved. A shorter duration is recommended if your ingestion cycle is frequent.

  5. Click Save. Cisco Secure Access activates log export to the S3 bucket. When activation is complete, the Amazon S3 Summary page appears.

  6. Copy the Access Key and Secret Key and store them in a safe place.

    Warning

    The Access Key and Secret Key are displayed only once. If you lose them, you must regenerate them by rotating the keys in Cisco Secure Access.

  7. Click Done.

Step 2 — Create the Intake

Configure Your Intake

This section will guide you through creating the intake object in Sekoia, which provides a unique identifier called the "Intake key." The Intake key is essential for later configuration, as it references the Community, Entity, and Parser (Intake Format) used when receiving raw events on Sekoia.

  1. Go to the Sekoia Intake page.
  2. Click on the + New Intake button at the top right of the page.
  3. Search for your Intake by the product name in the search bar.
  4. Give it a Name and associate it with an Entity (and a Community if using multi-tenant mode).
  5. Click on Create.

Note

For more details on how to use the Intake page and to find the Intake key you just created, refer to this documentation.

Step 3 — Configure the Connector

Configure Your Playbook

This section will assist you in pulling remote logs from Sekoia and sending them to the intake you previously created.

  1. Go to the Sekoia playbook page.
  2. Click on the + New playbook button at the top right of the page.
  3. Select Create a playbook from scratch, and click Next.
  4. Give it a Name and a Description, and click Next.
  5. Choose a trigger from the list by searching for the name of the product, and click Create.
  6. A new Playbook page will be displayed. Click on the module in the center of the page, then click on the Configure icon.
  7. On the right panel, click on the Configuration tab.
  8. Select an existing Trigger Configuration (from the account menu) or create a new one by clicking on + Create new configuration.
  9. Configure the Trigger based on the Actions Library (for instance, see here for AWS modules), then click Save.
  10. Click on Save at the top right of the playbook page.
  11. Activate the playbook by clicking on the "On / Off" toggle button at the top right corner of the page.

When selecting the trigger, choose Fetch new logs on S3 (without SQS).

Before configuring the connector, retrieve the Data path from the Cisco Secure Access Amazon S3 Summary page. It looks like this:

s3://cisco-managed-eu-central-1/1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0

From this path:

  • the bucket name is the first segment after s3:// — here, cisco-managed-eu-central-1.
  • the base prefix is the second segment — here, 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0. Cisco stores each log type in a dedicated subfolder under this prefix.

In the connector configuration, set the following fields:

  • AWS Region (aws_region_name): the region you selected when configuring the S3 bucket in Cisco Secure Access (for example, eu-central-1).
  • AWS Access Key (aws_access_key): the Access Key copied from the Cisco Secure Access Amazon S3 Summary page.
  • AWS Secret Access Key (aws_secret_access_key): the Secret Key copied from the Cisco Secure Access Amazon S3 Summary page.
  • Bucket (bucket): the bucket name extracted from the Data path (for example, cisco-managed-eu-central-1).
  • Prefix filter (prefix_filter): the base prefix followed by the subfolder matching the log type you want to collect. Since the bucket holds several log types, this filter ensures the connector only ingests the logs for this intake.
  • Intake key (intake_key): the intake key generated when you created the intake in Step 2.

Cisco Secure Access stores each log type in a dedicated subfolder under the base prefix. Set the Prefix filter to <base_prefix>/<subfolder>, using the subfolder that matches the intake you are configuring:

Intake Subfolder Example prefix filter
Cisco Secure Access - DNS dnslogs 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0/dnslogs
Cisco Secure Access - Web proxylogs 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0/proxylogs
Cisco Secure Access - Cloud Firewall firewalllogs 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0/firewalllogs
Cisco Secure Access - IPS intrusionlogs 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0/intrusionlogs
Cisco Secure Access - File Events fileeventlogs 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0/fileeventlogs

Note

Replace 1234567_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 with the base prefix extracted from your own Cisco Secure Access Data path.

Event Categories

The following table lists the data source offered by this integration.

Data Source Description
Network device logs None

In details, the following table denotes the type of events produced by this integration.

Name Values
Kind alert
Category intrusion_detection, network
Type info

Transformed Events Samples after Ingestion

This section demonstrates how the raw logs will be transformed by our parsers. It shows the extracted fields that will be available for use in the built-in detection rules and hunting activities in the events page. Understanding these transformations is essential for analysts to create effective detection mechanisms with custom detection rules and to leverage the full potential of the collected data.

{
    "message": "\"2024-09-11 23:17:13\",\"Firewall Tunnel Name\",\"Network Tunnels\",\"1\",\"16606\",\"SERVER-ORACLE BEA WebLogic Server Plug-ins Certificate overflow attempt\",\"50516\",\"HIGH\",\"Attempted User Privilege Gain\",\"cve-2009-1016\",\"TCP\",\"12345\",\"3.3.3.3\",\"80\",\"1.1.1.1\",\"40762\",\"Would Block\",\"IDS\",\"50516\",\"S2C\",\"21171\",\"PROFILE\",\"eu-central-2b\",\"\",\"\",\"\",\"REDACTED\",\"2.2.2.2\",\"TRUE\",\"FTD\",\"12321321312\",\"\",\"e846afe0f3c8a87f\"",
    "event": {
        "action": "would block",
        "category": [
            "intrusion_detection",
            "network"
        ],
        "dataset": "ips",
        "kind": "alert",
        "outcome": "failure",
        "type": [
            "info"
        ]
    },
    "@timestamp": "2024-09-11T23:17:13Z",
    "cisco_secure_access": {
        "ips": {
            "attack_classification": "Attempted User Privilege Gain",
            "config_type": "PROFILE",
            "direction": "S2C",
            "egress": true,
            "egress_ip": "2.2.2.2",
            "enforced_by": "FTD",
            "event_correlation_id": "e846afe0f3c8a87f",
            "ftd_enforcement_id": "12321321312",
            "generator_id": "1",
            "identities": [
                "Firewall Tunnel Name"
            ],
            "identity_types": [
                "Network Tunnels"
            ],
            "operation_mode": "IDS",
            "policy_resource_id": "50516",
            "session_id": "12345",
            "severity": "HIGH",
            "signature_id": "16606",
            "signature_list_id": "50516"
        }
    },
    "cloud": {
        "region": "eu-central-2b"
    },
    "destination": {
        "address": "1.1.1.1",
        "ip": "1.1.1.1",
        "port": 40762
    },
    "network": {
        "transport": "tcp"
    },
    "observer": {
        "product": "Secure Access",
        "type": "ids",
        "vendor": "Cisco"
    },
    "organization": {
        "id": "REDACTED"
    },
    "related": {
        "ip": [
            "1.1.1.1",
            "3.3.3.3"
        ]
    },
    "rule": {
        "id": "21171",
        "name": "SERVER-ORACLE BEA WebLogic Server Plug-ins Certificate overflow attempt"
    },
    "source": {
        "address": "3.3.3.3",
        "ip": "3.3.3.3",
        "port": 80
    },
    "vulnerability": {
        "id": [
            "cve-2009-1016"
        ]
    }
}

Extracted Fields

The following table lists the fields that are extracted, normalized under the ECS format, analyzed and indexed by the parser. It should be noted that infered fields are not listed.

Name Type Description
@timestamp date Date/time when the event originated.
cisco_secure_access.ips.application_id keyword The ID of the destination application.
cisco_secure_access.ips.attack_classification keyword The category of attack detected by a rule that is part of a more general type of attack class.
cisco_secure_access.ips.casi_category_ids keyword The name of the Application category to which the App ID belongs.
cisco_secure_access.ips.config_type keyword The type of the IPS configuration.
cisco_secure_access.ips.data_center keyword The name of the data center that processed the user-generated traffic.
cisco_secure_access.ips.direction keyword The direction of the packet that matches the signature.
cisco_secure_access.ips.egress boolean TRUE indicates that the egress IP was a reserved IP.
cisco_secure_access.ips.egress_ip ip The public IP address assigned to a session as it exits the Secure Access ZTA infrastructure en route to the destination application.
cisco_secure_access.ips.enforced_by keyword The Secure Access component or service that enforced the policy or control related to this event (e.g., Firewall, Web Proxy).
cisco_secure_access.ips.event_correlation_id keyword A unique identifier generated for each network request, the Event Correlation ID stitches together all related events across various security services (Firewall, SWG, ZTNA) to provide a unified, end-to-end view of a single traffic flow.
cisco_secure_access.ips.ftd_enforcement_id keyword The unique identifier of the enforcement action taken by a Firepower Threat Defense (FTD) device integrated with Secure Access.
cisco_secure_access.ips.ftd_enforcement_name keyword The name or type of enforcement action taken by a FTD device integrated with Secure Access (e.g., Malware Block, URL Category Block).
cisco_secure_access.ips.generator_id keyword Unique ID assigned to the part of the IPS that generated the event.
cisco_secure_access.ips.identities keyword All tunnel identities that are associated with this request.
cisco_secure_access.ips.identity_types keyword The type of identity that is associated with this request.
cisco_secure_access.ips.operation_mode keyword The mode of operation of the IPS, either detection or prevention.
cisco_secure_access.ips.policy_resource_id keyword The ID of the IPS policy resource.
cisco_secure_access.ips.session_id keyword The unique identifier of a session, which is used to group the correlated events between various services.
cisco_secure_access.ips.severity keyword The severity level of the rule.
cisco_secure_access.ips.signature_id keyword Used to uniquely identify signatures.
cisco_secure_access.ips.signature_list_id keyword Unique ID assigned to a Default or Custom Signature List.
cloud.region keyword Region in which this host, resource, or service is located.
destination.ip ip IP address of the destination.
destination.port long Port of the destination.
event.action keyword The action captured by the event.
event.category keyword Event category. The second categorization field in the hierarchy.
event.dataset keyword Name of the dataset.
event.kind keyword The kind of the event. The highest categorization field in the hierarchy.
event.outcome keyword The outcome of the event. The lowest level categorization field in the hierarchy.
event.type keyword Event type. The third categorization field in the hierarchy.
network.transport keyword Protocol Name corresponding to the field iana_number.
observer.product keyword The product name of the observer.
observer.type keyword The type of the observer the data is coming from.
observer.vendor keyword Vendor name of the observer.
organization.id keyword Unique identifier for the organization.
rule.id keyword Rule ID
rule.name keyword Rule name
source.ip ip IP address of the source.
source.port long Port of the source.
vulnerability.id keyword ID of the vulnerability.

For more information on the Intake Format, please find the code of the Parser, Smart Descriptions, and Supported Events here.

Detection section

The following section provides information for those who wish to learn more about the detection capabilities enabled by collecting this intake. It includes details about the built-in rule catalog, event categories, and ECS fields extracted from raw events. This is essential for users aiming to create custom detection rules, perform hunting activities, or pivot in the events page.

The following Sekoia.io built-in rules match the intake Cisco Secure Access - IPS. This documentation is updated automatically and is based solely on the fields used by the intake which are checked against our rules. This means that some rules will be listed but might not be relevant with the intake.

SEKOIA.IO x Cisco Secure Access - IPS on ATT&CK Navigator

Cryptomining

Detection of domain names potentially related to cryptomining activities.

  • Effort: master
Dynamic DNS Contacted

Detect communication with dynamic dns domain. This kind of domain is often used by attackers. This rule can trigger false positive in non-controlled environment because dynamic dns is not always malicious.

  • Effort: master
Exfiltration Domain

Detects traffic toward a domain flagged as a possible exfiltration vector.

  • Effort: master
Internet Scanner

Detects known scanner IP addresses. Alert is only raised when the scan hits an opened port, on TCP or UDP. This could be a very noisy rule, so be careful to check your detection perimeter before activation.

  • Effort: master
Internet Scanner Target

Detects known scanner IP addresses. Alert is only raised when the scan hits an opened port, on TCP or UDP and group by target address. This could be a very noisy rule, so be careful to check your detection perimeter before activation.

  • Effort: master
Remote Access Tool Domain

Detects traffic toward a domain flagged as a Remote Administration Tool (RAT).

  • Effort: master
SEKOIA.IO Intelligence Feed

Detect threats based on indicators of compromise (IOCs) collected by SEKOIA's Threat and Detection Research team.

  • Effort: elementary
Sekoia.io Activity Logs Rule Deactivation Bulk

Detects a massive rule deactivation observed threw Sekoia.io activity logs.

  • Effort: master
Sekoia.io EICAR Detection

Detects observables in Sekoia.io CTI tagged as EICAR, which are fake samples meant to test detection.

  • Effort: master
TOR Usage

Detects TOR usage, based on the IP address and the destination port (filtered on NTP). TOR is short for The Onion Router, and it gets its name from how it works. TOR intercepts the network traffic from one or more apps on user’s computer, usually the user web browser, and shuffles it through a number of randomly-chosen computers before passing it on to its destination. This disguises user location, and makes it harder for servers to pick him/her out on repeat visits, or to tie together separate visits to different sites, this making tracking and surveillance more difficult. Before a network packet starts its journey, user’s computer chooses a random list of relays and repeatedly encrypts the data in multiple layers, like an onion. Each relay knows only enough to strip off the outermost layer of encryption, before passing what’s left on to the next relay in the list.

  • Effort: master
TOR Usage Generic Rule

Detects TOR usage globally, whether the IP is a destination or source. TOR is short for The Onion Router, and it gets its name from how it works. TOR intercepts the network traffic from one or more apps on user’s computer, usually the user web browser, and shuffles it through a number of randomly-chosen computers before passing it on to its destination. This disguises user location, and makes it harder for servers to pick him/her out on repeat visits, or to tie together separate visits to different sites, this making tracking and surveillance more difficult. Before a network packet starts its journey, user’s computer chooses a random list of relays and repeatedly encrypts the data in multiple layers, like an onion. Each relay knows only enough to strip off the outermost layer of encryption, before passing what’s left on to the next relay in the list.

  • Effort: master