Capítulo 21 — Seguridad de TO, IoT y sistemas ciberfísicos: integración de servicios
Mapa de la lección
Lección 21 publicada. Mapa, ejemplo, EX061.
flowchart TD
N0["Resultados de aprendizaje"]
N1["21.1 El negocio quiere datos"]
N2["21.2 Patrones"]
N3["21.3 Seguridad de las API"]
N4["21.4 Dependencias"]
N5["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX061"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["21.1 El negocio quiere datos"]
N2["21.2 Patrones"]
N3["21.3 Seguridad de las API"]
N4["21.4 Dependencias"]
N5["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX061"]
[Resultados de aprendizaje]
|
v
[21.1 El negocio quiere datos]
|
v
[21.2 Patrones]
|
v
[21.3 Seguridad de las API]
|
v
[21.4 Dependencias]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX061]
Resultados de aprendizaje
Usted será capaz de (1) integrar los datos de TO con los servicios de negocio sin abrir caminos hacia el control; (2) diseñar transferencias de datos unidireccionales o intermediadas; (3) proteger las conexiones de API con servicios en la nube; y (4) documentar las dependencias de la integración.
21.1 El negocio quiere datos
Los clientes quieren certificados de temperatura de sus mercancías almacenadas; finanzas quiere el consumo energético de los compresores; el sistema de logística quiere el estado de las puertas del muelle. Cada petición tienta a alguien a conectar un sistema de negocio directamente a un PLC. El principio de integración es: los sistemas de negocio leen copias en la DMZ o en la nube, nunca directamente en la zona de control. La macro energética de OFFICE-7 era esa tentación en la práctica: leía las horas de funcionamiento de los compresores directamente en PLC-R2 hasta que Priya la trasladó a la réplica. Las consultas de la macro también añadían carga a PLC-R2 en momentos que nadie había previsto.
21.2 Patrones
La replicación del historiador envía los datos desde la zona de control a una réplica en la DMZ (capítulo 8). Para garantías más fuertes, un diodo de datos o pasarela unidireccional solo permite el tráfico en un sentido por diseño del hardware. Para los servicios en la nube, la pasarela inicia conexiones TLS salientes y nunca acepta conexiones entrantes. La integración mediante archivos, como una exportación CSV nocturna a una carpeta compartida, es aceptable si la carpeta compartida está en la DMZ y solo admite escritura desde el lado de control.
En NCS, HIST envía a la réplica de la DMZ, y GW-LOG llega a la nube del proveedor solo en sentido saliente a través de la regla 21.
21.3 Seguridad de las API
La generación de certificados para clientes usa la API en la nube del proveedor de los registradores. Use una clave de API dedicada por integración con el mínimo privilegio (leer temperaturas de salas concretas), guárdela en un almacén de secretos, rótela y registre su uso. Nunca incruste claves en hojas de cálculo ni en scripts de unidades compartidas. Para los certificados de clientes de NCS, la clave se limitaría a leer las temperaturas de las salas que ocupan las mercancías de ese cliente, se guardaría en la entrada del almacén de secretos referenciada desde la tabla de activos, se rotaría al menos una vez al año y ante cualquier cambio de personal, y su uso se registraría para que aflore un patrón inusual, como lecturas de todas las salas. Una clave encontrada en una hoja de cálculo de la unidad compartida daría a cualquiera con acceso a la unidad el historial de todas las salas.
21.4 Dependencias
Anote las dependencias de cada integración: la nube del proveedor, el DNS, los certificados, la clave de API, la carpeta compartida de la DMZ. Cuando una falla, sabrá qué más se detiene. Para la integración de certificados en NCS: la nube del proveedor de los registradores y su API, el DNS del nombre de la nube, la cadena de certificados TLS, la clave de API en el almacén de secretos y la carpeta compartida de la DMZ donde quedan los certificados generados. El certificado caducado de LOG-03 del capítulo 22 recuerda que una dependencia puede fallar en silencio: el registrador dejó de subir datos el 5 de octubre, y el certificado del cliente para esa sala habría tenido un hueco de siete días sin el historial de la sonda del PLC en HIST.
Ejemplo resuelto (NCS sintética)
La macro energética del equipo de finanzas (capítulo 12) se rehace: HIST envía cada hora las horas de funcionamiento de los compresores a la réplica de la DMZ; el informe de finanzas lee la réplica por HTTPS con una cuenta de solo lectura. La herramienta de certificados para clientes usa una clave de API limitada a datos de temperatura de solo lectura de las salas con contratos activos, que se rota cada 90 días.
Caso sintético — Northgate Cold Storage. Las integraciones son inventadas.
Errores y límites
Los protocolos «de solo lectura» pueden sobrecargar igualmente un dispositivo si se consulta con demasiada frecuencia; consulte el historiador, no el PLC. Los diodos de datos requieren una configuración cuidadosa para los protocolos que esperan acuses de recibo.
Ejercicios — capítulo 21
- EX061 — Elegir un patrón. Logística quiere el estado de las puertas del muelle cada minuto. ¿Qué patrón y por qué? Rúbrica: 3 = réplica del historiador/DMZ o envío unidireccional, sin acceso directo al PLC; 2 = solo el patrón; 1 = consulta directa; 0 = nada.
- EX062 — Limitar el alcance de una clave de API. Escriba el alcance de la clave de API de la herramienta de certificados. Rúbrica: 3 = solo lectura, salas o clientes concretos, sin escritura ni administración, rotación; 2 = parcial; 1 = acceso total; 0 = nada.
- EX063 — Una lista de dependencias de la integración. Enumere cuatro dependencias de la integración de certificados para clientes. Rúbrica: 3 = cuatro pertinentes; 2 = tres; 1 = una o dos; 0 = nada.
Síntesis del capítulo
La integración da al negocio sus datos mediante copias, caminos unidireccionales y credenciales de alcance limitado, nunca mediante puertas nuevas hacia la zona de control.
Siga estudiando — capítulo 21 de 30
← Capítulo 20 (borrador) · Índice de capítulos del curso · Capítulo 22 (borrador) →