chore: update wazuh

This commit is contained in:
Nuxgrid
2026-07-18 23:41:18 +02:00
parent adf00cf3d0
commit 974b4c0801
2 changed files with 32 additions and 14 deletions
@@ -1,11 +1,17 @@
<!-- Règles WireGuard VPN — IDs 100800-100826 <!-- Règles WireGuard VPN — IDs 100800-100826
Les logs kernel passent par rule 5100 (program_name=^kernel). Les logs kernel passent par rule 5100 (program_name=^kernel).
On hérite via if_sid 5100 et on filtre par match/regex. On hérite via if_sid 5100 et on filtre par match/regex.
Les rules 1082x sont des enfants qui redescendent le niveau à 0 Les rules 1082x sont des enfants pour les peers de confiance
pour les peers de confiance (etc/lists/wireguard-trusted-ips) : (etc/lists/wireguard-trusted-ips) : le negate="yes" sur <list>
le negate="yes" sur <list> n'est pas supporté par analysisd ici, n'est pas supporté par analysisd ici, donc on matche positivement
donc on matche positivement et on laisse la règle la plus et on laisse la règle la plus spécifique (l'enfant) l'emporter
spécifique (l'enfant) l'emporter sur le parent. --> sur le parent.
Niveau 3 (pas 0) : <log_alert_level>3</log_alert_level> dans
ossec.conf exclut tout niveau < 3 de l'index OpenSearch. Un niveau
0 rendrait les handshakes de confiance invisibles du dashboard VPN
(compteurs handshakes/peers actifs à 0). Le groupe vpn_trusted
permet de les filtrer d'une vue "alertes à traiter" sans les
retirer des stats. -->
<group name="wireguard,vpn,"> <group name="wireguard,vpn,">
@@ -26,7 +32,7 @@
<group>wireguard,vpn_handshake,</group> <group>wireguard,vpn_handshake,</group>
</rule> </rule>
<rule id="100821" level="0"> <rule id="100821" level="3">
<if_sid>100801</if_sid> <if_sid>100801</if_sid>
<list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list> <list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list>
<description>WireGuard: handshake initiation - peer de confiance $(srcip)</description> <description>WireGuard: handshake initiation - peer de confiance $(srcip)</description>
@@ -41,7 +47,7 @@
<group>wireguard,vpn_handshake,</group> <group>wireguard,vpn_handshake,</group>
</rule> </rule>
<rule id="100822" level="0"> <rule id="100822" level="3">
<if_sid>100802</if_sid> <if_sid>100802</if_sid>
<list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list> <list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list>
<description>WireGuard: handshake reponse - peer de confiance $(srcip)</description> <description>WireGuard: handshake reponse - peer de confiance $(srcip)</description>
@@ -56,7 +62,7 @@
<group>wireguard,vpn_handshake,</group> <group>wireguard,vpn_handshake,</group>
</rule> </rule>
<rule id="100823" level="0"> <rule id="100823" level="3">
<if_sid>100803</if_sid> <if_sid>100803</if_sid>
<list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list> <list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list>
<description>WireGuard: handshake complet - peer de confiance $(srcip)</description> <description>WireGuard: handshake complet - peer de confiance $(srcip)</description>
@@ -98,7 +104,7 @@
<group>wireguard,vpn_roaming,</group> <group>wireguard,vpn_roaming,</group>
</rule> </rule>
<rule id="100825" level="0"> <rule id="100825" level="3">
<if_sid>100815</if_sid> <if_sid>100815</if_sid>
<list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list> <list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list>
<description>WireGuard: roaming - peer de confiance $(id) vers $(srcip)</description> <description>WireGuard: roaming - peer de confiance $(id) vers $(srcip)</description>
@@ -113,7 +119,7 @@
<group>wireguard,vpn_reconnected,</group> <group>wireguard,vpn_reconnected,</group>
</rule> </rule>
<rule id="100826" level="0"> <rule id="100826" level="3">
<if_sid>100816</if_sid> <if_sid>100816</if_sid>
<list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list> <list field="srcip" lookup="match_key">etc/lists/wireguard-trusted-ips</list>
<description>WireGuard: reconnexion - peer de confiance $(srcip)</description> <description>WireGuard: reconnexion - peer de confiance $(srcip)</description>
@@ -29,10 +29,20 @@ DASHBOARD_PASS = os.environ.get("DASHBOARD_PASSWORD", "E9Jpr6586kQ3wYrCS2!")
INDEX_PATTERN = "wazuh-alerts-*" INDEX_PATTERN = "wazuh-alerts-*"
# ── Queries ──────────────────────────────────────────────────────────────────── # ── Queries ────────────────────────────────────────────────────────────────────
Q_ALL = "rule.id: 100801 OR rule.id: 100802 OR rule.id: 100803 OR rule.id: 100810 OR rule.id: 100811 OR rule.id: 100812 OR rule.id: 100815" # Note: pour un peer de la liste de confiance (etc/lists/wireguard-trusted-ips),
Q_HANDSHAKES = "rule.id: 100801 OR rule.id: 100802 OR rule.id: 100803" # analysisd indexe l'alerte sous le rule.id de la regle enfant 1082x (voir
# wireguard-rules.xml), pas celui du parent 1008xx. Il faut donc inclure les
# deux jeux d'IDs partout, sinon les peers de confiance disparaissent des stats.
Q_ALL = ("rule.id: 100801 OR rule.id: 100802 OR rule.id: 100803 OR rule.id: 100810 "
"OR rule.id: 100811 OR rule.id: 100812 OR rule.id: 100815 OR rule.id: 100816 "
"OR rule.id: 100821 OR rule.id: 100822 OR rule.id: 100823 OR rule.id: 100825 OR rule.id: 100826")
Q_HANDSHAKES = ("rule.id: 100801 OR rule.id: 100802 OR rule.id: 100803 "
"OR rule.id: 100821 OR rule.id: 100822 OR rule.id: 100823")
Q_WARNINGS = "rule.id: 100810 OR rule.id: 100811 OR rule.id: 100812" Q_WARNINGS = "rule.id: 100810 OR rule.id: 100811 OR rule.id: 100812"
Q_COMPLETE = "rule.id: 100803" # Peers actifs : cardinalite sur data.srcip, tous rule.id de handshake confondus
# (100802/100822 = reponse envoyee, le cas dominant sur un serveur qui recoit les
# connexions ; 100803/100823 = reponse recue, cote initiateur).
Q_COMPLETE = Q_HANDSHAKES
# ── Client HTTP ──────────────────────────────────────────────────────────────── # ── Client HTTP ────────────────────────────────────────────────────────────────
ctx = ssl.create_default_context() ctx = ssl.create_default_context()
@@ -337,7 +347,9 @@ def main():
"description": "Handshakes peers, deconnexions, timeouts, activite par IP — agent vpn-prod", "description": "Handshakes peers, deconnexions, timeouts, activite par IP — agent vpn-prod",
"panelsJSON": json.dumps(PANELS), "panelsJSON": json.dumps(PANELS),
"optionsJSON": json.dumps({"useMargins": True, "hidePanelTitles": False}), "optionsJSON": json.dumps({"useMargins": True, "hidePanelTitles": False}),
"timeRestore": False, "timeRestore": True,
"timeFrom": "now-24h",
"timeTo": "now",
"kibanaSavedObjectMeta": { "kibanaSavedObjectMeta": {
"searchSourceJSON": json.dumps({"query": {"language": "kuery", "query": ""}, "filter": []}) "searchSourceJSON": json.dumps({"query": {"language": "kuery", "query": ""}, "filter": []})
}, },