Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)35 mil · #5893

implementing-ics-firewall-with-tofino

Implementa firewalls industriais Tofino para proteger sistemas SCADA. Usa inspeção profunda de pacotes de protocolos OT para controlar o acesso entre zonas ICS.

O que ela faz

Este recurso configura um firewall industrial chamado Tofino para proteger sistemas de controle (como os usados em fábricas) e equipamentos como PLCs. Ele inspeciona o tráfego de rede para garantir que apenas comunicações autorizadas aconteçam, especialmente para protocolos industriais.

Quando usar

  • ✓Ao instalar proteção de firewall perto de PLCs ou RTUs.
  • ✓Ao precisar verificar o conteúdo de pacotes de protocolos industriais.
  • ✓Ao criar limites de segurança entre diferentes partes de uma rede industrial.

Exemplo do que pedir para a IA

“Configure o firewall Tofino para proteger os PLCs na área de controle do reator, permitindo apenas comunicação de engenharia e operacional a partir da estação de trabalho de engenharia e do servidor HMI.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-ics-firewall-with-tofino/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-ics-firewall-with-tofino/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O firewall Tofino é configurado com regras específicas que entendem os protocolos industriais. Ele analisa os dados que passam e bloqueia qualquer coisa que não esteja de acordo com as regras definidas, garantindo a segurança.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-ics-firewall-with-tofino

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-ics-firewall-with-tofino/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Implementando Firewall ICS com Tofino

Quando Usar

  • Ao implantar proteção de firewall em nível de zona diretamente na frente de PLCs ou RTUs críticos
  • Ao exigir inspeção profunda de pacotes de protocolos industriais (Modbus, EtherNet/IP, OPC, S7comm)
  • Ao implementar limites de zona e conduit da IEC 62443 com aplicação ciente de protocolo
  • Ao proteger PLCs legados que não podem ser corrigidos e precisam de controles compensatórios
  • Ao segmentar zonas de rede de controle sem interromper as comunicações industriais existentes

Não use para implantação de firewall de TI corporativo, para firewall de perímetro entre TI e OT (use Palo Alto/Fortinet na DMZ), ou para ambientes que usam apenas protocolos baseados em IP sem necessidades de DPI específicas de OT.

Pré-requisitos

  • Appliance Tofino Xenon ou appliance virtual Tofino com licença apropriada
  • Plataforma de Gerenciamento Central Tofino (CMP) para gerenciamento centralizado de políticas
  • Mapa de topologia de rede mostrando a localização dos PLCs/RTUs e os requisitos de comunicação
  • Linha de base das comunicações de protocolo OT (códigos de função Modbus, serviços CIP EtherNet/IP)
  • Aprovação de gerenciamento de mudanças para implantação em linha entre zonas de rede

Fluxo de Trabalho

Etapa 1: Projetar a Arquitetura de Implantação do Tofino

# Tofino ICS Firewall Deployment Architecture
# Zone-level protection using deep packet inspection

deployment_zones:
  zone_1_reactor_control:
    tofino_appliance: "TOFINO-XN-001"
    deployment_mode: "inline_bridge"
    protected_assets:
      - name: "PLC-REACTOR-01"
        ip: "10.10.1.10"
        vendor: "Siemens S7-1500"
        protocols: ["S7comm/102", "Profinet"]
      - name: "PLC-REACTOR-02"
        ip: "10.10.1.11"
        vendor: "Siemens S7-1500"
        protocols: ["S7comm/102", "Profinet"]
    authorized_communications:
      - source: "10.10.2.50"  # Engineering workstation
        dest: "10.10.1.0/24"
        protocols: ["S7comm"]
        access_type: "engineering"
      - source: "10.10.2.10"  # HMI server
        dest: "10.10.1.0/24"
        protocols: ["S7comm"]
        access_type: "operational"

  zone_2_packaging:
    tofino_appliance: "TOFINO-XN-002"
    deployment_mode: "inline_bridge"
    protected_assets:
      - name: "PLC-PACK-01"
        ip: "10.10.3.10"
        vendor: "Rockwell ControlLogix"
        protocols: ["EtherNet-IP/44818", "CIP"]
    authorized_communications:
      - source: "10.10.2.20"  # HMI
        dest: "10.10.3.0/24"
        protocols: ["EtherNet-IP"]
        access_type: "operational"

  zone_3_utilities:
    tofino_appliance: "TOFINO-XN-003"
    deployment_mode: "inline_bridge"
    protected_assets:
      - name: "RTU-BOILER-01"
        ip: "10.10.4.10"
        vendor: "Schneider M340"
        protocols: ["Modbus-TCP/502"]
    authorized_communications:
      - source: "10.10.2.30"  # SCADA server
        dest: "10.10.4.0/24"
        protocols: ["Modbus-TCP"]
        allowed_function_codes: [1, 2, 3, 4]  # Read only from SCADA

Etapa 2: Configurar Regras de Inspeção Profunda de Pacotes

#!/usr/bin/env python3
"""Gerador de Regras de Firewall ICS Tofino.

Gera regras de firewall Tofino com inspeção profunda de pacotes para
protocolos industriais com base na análise da linha de base de comunicação.
"""

import json
import sys
from datetime import datetime
from typing import Dict, List


class TofinoRuleGenerator:
    """Gera regras de DPI de Firewall ICS Tofino."""

    def __init__(self):
        self.rules = []
        self.rule_id = 1000

    def add_modbus_rule(self, src: str, dst: str, allowed_funcs: List[int],
                        allowed_registers: List[dict] = None, description: str = ""):
        """Gera regra de DPI Modbus."""
        func_names = {
            1: "read_coils", 2: "read_discrete_inputs",
            3: "read_holding_registers", 4: "read_input_registers",
            5: "write_single_coil", 6: "write_single_register",
            15: "write_multiple_coils", 16: "write_multiple_registers",
        }

        rule = {
            "rule_id": self.rule_id,
            "protocol": "Modbus-TCP",
            "action": "ALLOW",
            "source": src,
            "destination": dst,
            "port": 502,
            "dpi_policy": {
                "allowed_function_codes": [
                    {"code": fc, "name": func_names.get(fc, f"FC{fc}")}
                    for fc in allowed_funcs
                ],
                "blocked_function_codes": [
                    fc for fc in range(1, 128) if fc not in allowed_funcs
                ],
            },

…
Perguntas frequentes

O que são PLCs e RTUs?

PLCs (Controladores Lógicos Programáveis) e RTUs (Unidades Terminais Remotas) são dispositivos usados para controlar e monitorar processos industriais.

O que é inspeção profunda de pacotes (DPI)?

É uma técnica que permite ao firewall examinar o conteúdo dos pacotes de dados, não apenas o endereço de origem e destino, para entender e controlar protocolos específicos.

Posso usar isso para proteger minha rede de escritório?

Não, este firewall é projetado especificamente para redes industriais e protocolos específicos. Para redes de escritório, outros tipos de firewalls são mais adequados.

Detalhes

Descrição original do autor

Deploys and configures Tofino industrial firewalls (Belden/Hirschmann) to protect SCADA systems and PLCs, using deep packet inspection of OT protocols (Modbus, EtherNet/IP, OPC, S7comm) to enforce access control between ICS zones. Use when deploying zone-level firewall protection in front of PLCs/RTUs, enforcing IEC 62443 zone/conduit boundaries, or adding compensating controls for unpatchable leg

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5893
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas