Foro de elhacker.net

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: zaico en 15 Mayo 2017, 16:58 pm



Título: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 15 Mayo 2017, 16:58 pm
Mi PC(ubuntu) está monitorizando el estado de varios pcs (bash), cuando se da una condición me muestra un mensaje por pantalla mediante zenity y me abre una web en chrome. Me gustaría pasar todo este trabajo a un servidor externo (ubuntu server), y que me enviara el mensaje y se abriera la web en el mio (no me vale un aviso por correo) Como podría hacerlo?

Gracias!


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: Slava_TZD en 15 Mayo 2017, 17:44 pm
Simplemente tienes hacer que tu script se conecte (ssh, nc o lo que sea) desde ese servidor externo a tu pc y ejecute zenity en tu $DISPLAY.

Código:
user@server $ ssh miopc
user@miopc $ DISPLAY=:1 zenity --question --text="Abrir web?"; if [ $? = 0 ]; then minavegador www.lapaginaquesea.es; fi

Saludos


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 15 Mayo 2017, 18:12 pm
alguna opción mas segura que no sea ssh? es mi PC personal y no me hace mucha gracia...


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: Slava_TZD en 15 Mayo 2017, 19:19 pm
Igual hay otra cosa mas segura que SSH y que te vale para lo que quieres hacer, pero lo dudo. Siempre puedes añadir una regla que solo permita conexiones en el puerto 22 desde tu servidor. Cualquier otra solución que se te ocurra va a tener que hacer lo mismo, conectarse a tu PC y ejecutar zenity o lo que sea en tu $DISPLAY.


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 15 Mayo 2017, 19:41 pm
veo que al final lo mas seguro será enviarme notificaciones por correo y crear un script que ejecute el resultado en mi maquina en función del tipo de correo no?


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: engel lex en 15 Mayo 2017, 19:45 pm
puedes montar un servidor web tal que reciba peticiones por post desde tu servidor y las ejecute en forma de comandos...

si quieres seguridad puedes usar autentificación hmac y verificación de que es una web valida al recibir (antes de ejecutar)


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 15 Mayo 2017, 19:58 pm
puedes montar un servidor web tal que reciba peticiones por post desde tu servidor y las ejecute en forma de comandos...

si quieres seguridad puedes usar autentificación hmac y verificación de que es una web valida al recibir (antes de ejecutar)
que diferencia habría entre montar un servidor web y permitir acceso ssh? al final los dos tienen acceso al pc no? o lo que tu propones es que en funcion del tipo de POST ejecute un codigo concreto? es decir el codigo de ejecución estaría en mi pc, esperando el post del server?


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: engel lex en 17 Mayo 2017, 07:01 am
exacto, la ventaja del apache es que puedes limitar la instrucción...  y a demás si usas autentificación como las que te indiqué, solo equipos con llaves validas podrán enviar instrucciones (y aún así serían limitadas)


es decir, suponiendo que  lo que pasas por post o get es en un link puedes simplemente ejecutar el comando google-chrome seguido de la pagina web... esto hará que solo se abra el link en chrome... está limitado a eso y solo eso hará


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 17 Mayo 2017, 08:13 am
En caso de eliminar la clave pública que haya creado para el servidor. Si creara una nueva para ese mismo server seria diferente cierto? Se trata de un servidor de pago mensual y me gustaría saber qué una vez eliminada la llave, ya no puede haber más acceso.


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: engel lex en 17 Mayo 2017, 12:38 pm
En caso de eliminar la clave pública que haya creado para el servidor. Si creara una nueva para ese mismo server seria diferente cierto? Se trata de un servidor de pago mensual y me gustaría saber qué una vez eliminada la llave, ya no puede haber más acceso.


es tu decisión como programes eso... no me puedes preguntar si un programa que aun no has programado tiene esa función o no  :o


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 17 Mayo 2017, 13:29 pm
no me has entendido. Me refiero a si mi suposición es cierta. Es decir la llave publica es diferente cada vez que se crea?


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: engel lex en 17 Mayo 2017, 13:34 pm
insisto depende como lo programes... si quieres lo es, si no quieres no...

al final el servidor php recibirá eso, y hará un if


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: animanegra en 17 Mayo 2017, 13:52 pm
Si la pregunta es que al obtener la clave publica desde una misma clave privada con el comando de ssl va a darte la misma clave publica, si. Por ejemplo ejecuta el comando:

Código:
openssl rsa -in claveprivada -pubout

Si lo ejecutas varias veces, verás que siempre es la misma clave pública, siempre que partas de la misma clave privada. En realidad matemáticamente creo que no se sostendría si saliesen distintas claves publicas ya que tienes una parte del algoritmo donde decides un coprimo que puede ser aleatorio, pero el número que permite que la operacion módular suma sea congruente con 1 con dicho coprimo forma parte de la clave privada. Igual alguien te puede verificar que no existen o no se podrían obtener dos o más claves publicas, entiendo que al usar congruencias podría haber mas, pero entiendo que no dentro del número limitado por la operación modular.


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: zaico en 17 Mayo 2017, 14:06 pm
Entonces la solución para asegurarme de que una vez deje de utilizar ese server nadie pueda acceder a mi PC, sería cambiar la clave privada? Se puede hacer eso?


Título: Re: Ejecutar resultado servidor en PC Local
Publicado por: engel lex en 17 Mayo 2017, 14:25 pm
Estás hablando de Apache? O de qué?

Tu no tienes que cambiar tu clave privada (no hce daño e incluso puede ser bueno)

La clave pública no da acceso, por eso es pública, la intención es que todos la sepan, en ese esquema (ssl) tu también tendrías la clave pública de tu par y así verificas que la comunicación entrante proviene de el... pero no es el esquema que yo hablo

Ese esquema es de comunicación directa y por lo que entiendo tu no quieres porque se te hace arriesgado, yo hablo de esquema de aislamiento de comandos, donde el externo (cliente) no manda comandos a tu pc (servidor), sino manda fata y tu pc (servidor) decide que hace con ella