Y otra cuenta para la administración, un usuario que llamaremos Main Admin
¿algo pequeño?
Mejor algo grande!*
Chat
Usamos un cliente de chat que nos permita poder comunicarnos con nuestro servidor.
CLI
También tenemos una interfaz basada en consola para poder controlar naidbot.
Sockets
Además naidbot usa un sistema de sockets que nos permite poder enviar mensajes desde otras aplicaciones.
Todo esto gracias a los comandos.
Los comandos son órdenes que recibe naidbot, procesa y ejecuta.
¿Qué es capaz de ejecutar?
naidbot es capaz de ejecutar una gran variedad de scripts.
Muy bien, ¿y la seguridad?
naidbot es un proceso que se ejecuta con los permisos que ejecuta el usuario que arranca la aplicación, por lo que hay que tener cuidado con qué usuario se ejecuta y a qué usuarios otorgamos permisos para ejecutar qué comandos.
Por lo demás...
naidbot filtra los comandos que considera peligrosos para el sistema.
Lo podríamos llamar shell injection
Muy bien, pero ¿Cómo funciona?
Pues de una manera muy sencilla...
Necesitamos dos cuentas para el funcionamiento:
Y otra cuenta para la administración, un usuario que llamaremos Main Admin
El Main Admin es el usuario que se encarga de toda la administración de naidbot pudiendo añadir, eliminar, cambiar usuarios, comandos, permisos...
Además recibe una notificación de todas las acciones administrativas que requieran de su atención o que puedan poner en peligro el funcionamiento de la aplicación.
Dependiendo del comando tenemos dos maneras de poder ejecutarlos...
Modelo básico:
comando [modificador de comando] [parámetro 1] [parámetro N]
service restart ssh
Modelo experto:
comando [modificador de comando] [parámetro]:[valor]
add contact u:[email protected] g:admin,user n:"Nombre de contacto"
Sobre el futuro...
La idea es continuar con el desarrollo de naidbot y añadir cosas como: