26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class NMNEConfig(BaseModel):
|
|
"""Store all the information to perform NMNE operations."""
|
|
|
|
model_config = ConfigDict(extra="forbid")
|
|
|
|
capture_nmne: bool = False
|
|
"""Indicates whether Malicious Network Events (MNEs) should be captured."""
|
|
nmne_capture_keywords: List[str] = []
|
|
"""List of keywords to identify malicious network events."""
|
|
capture_by_direction: bool = True
|
|
"""Captures should be organized by traffic direction (inbound/outbound)."""
|
|
capture_by_ip_address: bool = False
|
|
"""Captures should be organized by source or destination IP address."""
|
|
capture_by_protocol: bool = False
|
|
"""Captures should be organized by network protocol (e.g., TCP, UDP)."""
|
|
capture_by_port: bool = False
|
|
"""Captures should be organized by source or destination port."""
|
|
capture_by_keyword: bool = False
|
|
"""Captures should be filtered and categorised based on specific keywords."""
|