Ejecutar Nodos y Servicios Seguros
Recomendaciones para ejecutar nodos y servicios Celo seguros.
Ejecutar nodos y servicios de Celo de forma segura, especialmente como parte de la ejecución de un validador, es de suma importancia. Si no lo hacemos, puede acarrear graves consecuencias, entre otras, la pérdida de fondos, el slashing debido a la doble firma, etc.
Endpoints RPC
Los nodos de Celo pueden interactuar a través de una interfaz RPC para interacciones comunes tales como consultar la blockchain, inspeccionar la conectividad de red y mucho más. La interfaz RPC está expuesta a través de HTTP, WebSockets o un socket IPC local. Hay dos consideraciones:
No hay autenticación en la interfaz RPC. Cualquiera que tenga acceso a la interfaz podrá ejecutar cualquier acción que esté habilitada con las opciones de línea de comandos. Esto incluye módulos RPC sensibles como
personal
, que interactúa con las claves privadas almacenadas en el nodo (admin
es otro). No se recomienda habilitar módulos RPC a menos que los necesite explícitamente. Otros módulos RPC pueden ser menos sensibles, pero podrían crear una carga innecesaria en su máquina (como el módulodebug
) para ejecutar un ataque DoS.Si necesita acceso a los módulos RPC (por ejemplo para utilizar
celocli
o el servicio de verificación), usar un cortafuegos y mecanismos similares para restringir el acceso a la interfaz RPC. Casi nunca se desea que la interfaz sea accesible desde fuera de la propia máquina.
Endpoints públicos
Más allá de la interfaz RPC, los nodos y los servicios de Celo tienen otras interfaces que realmente necesitan ser expuestas a la Internet pública. Aunque existen diferentes grados de protección dentro del software, tales como validar solicitudes de verificación contra el blockchain o monitorear conexiones en el protocolo de descubrimiento, se recomiendan medidas adicionales para reducir el impacto del tráfico malicioso. Los ejemplos incluyen, pero no se limitan a:
- Protección DDoS: Los puntos finales públicos protegidos de un ataque de DDoS son altamente recomendables para permitir que se sirvan solicitudes válidas
- Whitelist endpoints: El servicio de verificación expone un número limitado de rutas para funcionar correctamente. Puede usar un proxy inverso para rechazar rutas que no coincidan con ellas.