Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Kevin Y.

kevin.sec

@kevin-young · Membre depuis février 2025

Nouveau

IT and security admin · energy · 17 years in the field

Sujets
4
Réponses
16
Points
0
Nouveau10 points pour Membre

Toutes mes réponses sur les forums

15 sujets de 1 à 15 (sur un total de 16)

Traduit de English par IA ·

Les paramètres dangereux sont réservés au propriétaire (Owner). Ai-je raison de penser qu’une clé API ne peut jamais les modifier alors ?

♥ 0

Traduit de English par IA ·

C’est exactement la réponse que j’attendais pour notre questionnaire fournisseur. Deux questions de suivi issues du même formulaire : où vont les sauvegardes, et vos propres opérateurs peuvent-ils accéder à un nœud ?

♥ 0

Traduit de English par IA ·

Clean session false ne servira de toute façon à rien avec Hermetry. Je suis à peu près certain que la documentation indique qu’il est traité comme clean session.

♥ 1

Moved both boards to SPI0 with CE0/CE1, removed the two overlays, three days without a crash and the readings match the old ones within 0.1 °C. Thanks Aoife. @Keisha the offline alarm wouldn’t help there since the Pi is still online. A threshold rule can’t see a missing key either, as far as I know. We’re looking at a flow watchdog for that.

♥ 0

Traduit de English par IA ·

Bien, c’est la même configuration que nous utilisons pour quelques lampes de signalisation. Trois éléments :

  1. Profil d’appareil du relais, onglet Commands : ajouter une commande light.set, niveau Basic, un paramètre on de type Yes / no. Le niveau est important, car une clé API ne peut envoyer que les méthodes présentes dans le catalogue du profil.
  2. Firmware : s’abonner à v1/rpc/req/+, commuter GPIO12 (le relais de la Basic R2), répondre avec le même identifiant et signaler le nouvel état.
void onMsg(char* topic, byte* p, unsigned int n) {
  // topic: v1/rpc/req/42
  String id = String(topic).substring(11);
  StaticJsonDocument<128> d; deserializeJson(d, p, n);
  bool on = d["params"]["on"];
  digitalWrite(12, on ? HIGH : LOW);
  mqtt.publish(("v1/rpc/res/" + id).c_str(), "{"ok":true}");
  mqtt.publish("v1/telemetry", on ? "{"relay":1}" : "{"relay":0}");
}
  1. Votre script : une clé API depuis API Keys (menu Developer) avec uniquement ce dont elle a besoin. La route d’envoi demande iot_rpc.read ainsi que la permission du niveau ; cochez ces deux-là et rien d’autre, renseignez la liste d’adresses IP autorisées avec l’adresse du PC du laboratoire et conservez l’expiration à 90 jours.
import requests
r = requests.post(
    f"https://{HOST}/tenant/{TENANT}/api/iot/devices/{DEVICE}/rpc",
    headers={"Authorization": f"Bearer {KEY}"},
    json={"method": "light.set", "params": {"on": True}, "timeoutMs": 10000},
)
print(r.status_code, r.json()["rpc"]["status"])

Une commande bidirectionnelle avec un délai d’attente de 30 s ou moins attend et renvoie 200 avec SUCCESSFUL. Référence : Commands APIL’ESP8266 gère le TLS, mais la mémoire est limitée ; utilisez BearSSL avec des tampons plus petits si la connexion échoue.

Solution acceptée♥ 4

Traduit de English par IA ·

Il vaut la peine de laisser un commentaire au-dessus de chaque ligne ajoutée à config.txt, avec la date et la raison. Cela fera gagner du temps à la prochaine personne.

♥ 2

Exactly what I needed for the meeting. I explained the trapped air and stuck spool cases with Laura’s wording and management stopped asking about removing a part. I also told them no cloud product, Hermetry Safe included, takes over the safety chain, it stays hardwired. We added the aux contact and the dump valve pressure switch as telemetry, plus an alarm when the e-stop is active and the dump has not vented within 5 seconds. Tested it on Friday with the engineer present.

♥ 0
15 sujets de 1 à 15 (sur un total de 16)