Inspecteur Modbus

Présentation de l’inspecteur Modbus

Type

Inspecteur (service)

Usage

Inspecter

Type d’instance

Multiton

Autres inspecteurs requis

stream_tcp

Activé

faux

Le protocole Modbus établit une norme de communication pour l’échange de messages entre un système SCADA (Supervisory Control and Data Acquisition) et un automate programmable industriel. Le protocole Modbus utilise le port TCP 502.

L’inspecteur modbus détecte et analyse les messages Modbus dans le trafic réseau. Lorsqu’elles sont activées, les options de règles de prévention des intrusions Modbus permettent d’accéder à certains champs du protocole Modbus.

Bonnes pratiques en matière de configuration de l’inspecteur Modbus

Si aucun appareil Modbus n’est activé sur votre réseau, vous ne devez pas activer l’inspecteur modbus dans une politique d’analyse de réseau que vous appliquez au trafic.

Paramètres de l’inspecteur Modbus

Configuration du port TCP Modbus

L’inspecteur binder configure le port TCP Modbus. Pour obtenir plus d'informations, reportez-vous à la Présentation de l’inspecteur de binder.

Exemple :
[
    {
        "when": {
            "role": "server",
            "proto": "tcp",
            "ports": "502"
        },
        "use": {
            "type": "modbus"
        }
    },
    {
        "when": {
            "role": "any",
            "service:" "modbus"
        },
        "use": {
            "type":"modbus"
        }
    }
]

Remarque


L’inspecteur modbus ne fournit aucun paramètre.


Règles de l’inspecteur Modbus

Activez les règles de l’inspecteur modbus pour générer des événements et, dans un déploiement en ligne, supprimer les paquets incriminés.

Tableau 1. Règles de l’inspecteur Modbus

GID:SID

Message de règle

144:1

La longueur de l’en-tête MBAP Modbus ne correspond pas à la longueur requise pour la fonction donnée

144:2

L’ID du protocole Modbus est différent de zéro

144:3

Code de fonction Modbus réservé en cours d’utilisation

Options des règles de prévention des intrusions de l’inspecteur Modbus

Vous pouvez utiliser une option modbus seule ou en combinaison avec les options de règles de prévention des intrusions content et byte_jump.

modbus_data

Place le curseur de données au début du champ Data (données) de Modbus.

Syntaxe : modbus_data;

Exemples : modbus_data;

modbus_func

Vérifie que le champ Function (fonction) de Modbus contient le code de fonction Modbus spécifié. Vous pouvez définir un entier positif ou une chaîne littérale pour représenter un code de fonction Modbus.

Type : chaîne

Syntaxe : modbus_func: <function>;

Valeurs valides :

Tableau 2. Valeurs des codes de fonction Modbus

Code

Chaîne

1

read_coils

2

read_discrete_inputs

3

read_holding_registers

4

read_input_registers

5

write_single_coil

6

write_single_register

7

read_exception_status

8

diagnostics

11

get_comm_event_counter

12

get_comm_event_log

15

write_multiple_coils

16

write_multiple_registers

17

report_slave_id

20

read_file_record

21

write_file_record

22

mask_write_register

23

read_write_multiple_registers

24

read_fifo_queue

43

encapsulated_interface_transport

Exemples :
modbus_func: read_coils;
modbus_func: 8;

modbus_unit

Vérifie que l’ID d’unité Modbus du message correspond à l’ID d’unité spécifié. Vous pouvez définir un numéro pour représenter l’ID d’unité Modbus.

Type : entier

Syntaxe : modbus_unit: <unit_id>;

Plage valide : de 0 à 255

Exemples :
modbus_unit: 1;