Skip to content
Skillpedia
Security35k · #5918

implementing-network-intrusion-prevention-with-suricata

Helps your agent configure a system to inspect network traffic and block malicious activities in real-time.

What it does

This tool sets up Suricata to protect your network. It inspects traffic in real-time and blocks suspicious activity before it can cause harm.

When to use it

  • ✓When you need to protect your network from attacks.
  • ✓When setting up a security system for your business.
  • ✓To ensure your network is secure and compliant with regulations.

Example of what to ask your AI

“Set up Suricata to block malicious traffic on my network.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-network-intrusion-prevention-with-suricata/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-network-intrusion-prevention-with-suricata/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool installs and configures Suricata, a program that analyzes network traffic. It can be set up to 'watch' all traffic passing through and 'drop' (block) packets that look dangerous, using lists of known rules or rules you create yourself.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-network-intrusion-prevention-with-suricata

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-network-intrusion-prevention-with-suricata/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Implementing Network Intrusion Prevention with Suricata

Overview

Suricata is a high-performance, open-source network threat detection engine developed by the Open Information Security Foundation (OISF). It functions as an IDS (Intrusion Detection System), IPS (Intrusion Prevention System), and network security monitoring tool. Suricata performs deep packet inspection using extensive rule sets, protocol analysis, and file extraction capabilities. In IPS mode, Suricata inspects packets inline and can actively block malicious traffic. This skill covers deploying Suricata in IPS mode, configuring rulesets, writing custom rules, performance tuning, and integration with logging infrastructure.

When to Use

  • When deploying or configuring implementing network intrusion prevention with suricata capabilities in your environment
  • When establishing security controls aligned to compliance requirements
  • When building or improving security architecture for this domain
  • When conducting security assessments that require this implementation

Prerequisites

  • Linux server (Ubuntu 22.04+ or CentOS 8+) with 4+ CPU cores and 8GB+ RAM
  • Suricata 7.0+ installed
  • Network position for inline deployment (bridge mode or NFQUEUE)
  • Emerging Threats Open or ET Pro ruleset subscription
  • Suricata-update tool for rule management
  • Logging infrastructure (ELK Stack, Splunk, or Wazuh)

Core Concepts

Operating Modes

Mode Function Network Position
IDS (AF_PACKET) Passive monitoring, alert-only TAP/SPAN mirror
IPS (NFQUEUE) Inline blocking via netfilter In traffic path
IPS (AF_PACKET) Inline blocking via AF_PACKET Bridge between interfaces
Offline (PCAP) Analyze captured traffic files N/A

Rule Anatomy

Suricata rules follow a structured format:

action protocol src_ip src_port -> dst_ip dst_port (rule_options;)
  • Action: alert, pass, drop, reject, rejectsrc, rejectdst, rejectboth
  • Protocol: tcp, udp, icmp, ip, http, tls, dns, smtp, ftp
  • Direction: -> (unidirectional), <> (bidirectional)

Rule Categories

  • Emerging Threats Open - Community-maintained, free ruleset with broad coverage
  • ET Pro - Commercial ruleset from Proofpoint with enhanced coverage
  • Suricata Traffic ID - Application identification rules
  • Custom Rules - Organization-specific detections

Workflow

Step 1: Install Suricata

# Add Suricata PPA (Ubuntu)
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt-get update
sudo apt-get install -y suricata suricata-update

# Verify installation
suricata --build-info
suricata -V

Step 2: Configure Suricata for IPS Mode

Edit /etc/suricata/suricata.yaml:

%YAML 1.1
---

vars:
  address-groups:
    HOME_NET: "[10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]"
    EXTERNAL_NET: "!$HOME_NET"
    HTTP_SERVERS: "$HOME_NET"
    DNS_SERVERS: "[10.0.1.10/32,10.0.1.11/32]"
    SMTP_SERVERS: "$HOME_NET"

  port-groups:
    HTTP_PORTS: "80"
    SHELLCODE_PORTS: "!80"
    SSH_PORTS: "22"
    DNS_PORTS: "53"

# IPS mode with NFQUEUE
nfq:
  mode: accept
  repeat-mark: 1
  repeat-mask: 1
  route-queue: 2
  fail-open: yes

# Threading configuration
threading:
  set-cpu-affinity: yes
  cpu-affinity:
    - management-cpu-set:
        cpu: [0]
    - receive-cpu-set:
        cpu: [1,2]
    - worker-cpu-set:
        cpu: [3,4,5,6,7]
        mode: exclusive

# Detection engine
detect-engine:
  - profile: high
  - custom-values:
      toclient-groups: 50
      toserver-groups: 50
  - sgh-mpm-context: auto
  - inspection-recursion-limit: 3000

# Stream engine
stream:
  memcap: 512mb
  checksum-validation: yes
  inline: auto
  reassembly:
    memcap: 1gb
    depth: 1mb
    toserver-chunk-size: 2560
    toclient-chunk-size: 2560

# Logging configuration
outputs:
  - eve-log:
      enabled: yes
      filetype: regular
      filename: /var/log/suricata/eve.json
      types:
        - alert:
            payload: yes
            payload-buffer-size: 4kb
            payload-printable: yes
            packet: yes
            metadata: yes
            tagged-packets: yes
        - http:
            extended: yes
        - dns:
            query: yes
            answer: yes
        - tls:
            extended: yes
        - files:
            force-magic: yes
            force-hash: [md5, sha256]
        - flow
        - netflow
        - stats:

…
FAQ

What is Suricata?

Suricata is a computer program that monitors network traffic to detect and prevent security threats.

What does 'IPS' mean?

IPS stands for Intrusion Prevention System. Instead of just alerting you to an attack, it actively tries to block it.

What are 'rules'?

Rules are like instructions that Suricata uses to identify malicious traffic. They describe patterns of known attacks.

Details

Original description by the author

Deploys and configures Suricata as an inline network intrusion prevention system, covering IPS mode setup (NFQueue), custom rule writing, Emerging Threats ruleset management, performance tuning, and logging integration. Use when deploying real-time inline traffic inspection to actively block malicious traffic, or when tuning Suricata rules and performance for production IDS/IPS deployment.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5918
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills