[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: Ejecutar comandos en linux desde un programa VB



Gunnar Wolf wrote:

> > > Saludos listeros ,
> > >
> > > como puedeo ejecutar comandos en linux desde una aplicacion VB?
> >
> > Con VB te refieres a MS Visual Basic?
> >
> > Implementar rcmd(3) y compañia usando WinSock para ejecutar remotamente
> > comandos arbitrarios en tu Linux no es complicado, pero terriblemente
> > inseguro.
> >
> > >, necesito ejecutarlos con el usuario root.
> >
> > Máxime si quieres darle ese tipo de privilegios.
> >
> > De ahí que normalmente los demonios correspondientes en linux suelan estar
> > desabilitados.
> >
> > Por qué no nos platicas con un poco de más detalle que quieres hacer,
> > seguramente existen soluciones mucho más seguras.
>
> Meto mi cucharita para comentar mi experiencia: Con un proyectito que
> tengo (http://wpm.gwolf.cx, pa' quien le interese ver la implementacion)
> requeria ejecutar desde un CGI algunos comandos como root - comandos
> relativos al manejo de ipchains. Lo que decidi fue hacer un demonio TCP
> que implementara estas funciones y corriera como root, y el CGI se
> comunicara con este como cliente. Creo que seria una buena alternativa -
> un servidor TCP es muy facil de hacer en Perl, y puedes perfectamente
> limitar que le permitiras al cliente, evitando broncas de seguridad
> provenientes de dejar practicamente un shell de root abierto.
>

Si necesitas que un CGI trabaje como root hay algo más seguro que poner un
servidor con setuid:
Por lo general la labor que necesita hacer root es muy sencilla y se puede
implementar en muy pocas líneas de código en C y esto necesariamente se debe
hacer lo más pequeño y sencillo posible, el resto es la aplicación CGI que se
puede encargar de la seguridad y la autentificación de usuarios como cualquier
otra aplicación CGI, pero que además va a llamar con system() a la pequeña
aplicación setuid para que lleve a cabo su muy específica labor.
De esta manera evitamos tener un servicio más corriendo como root que
potencialmente es blanco de ataques y el único ataque posible lo limitamos al
paso erróneo de parámetros del CGI a la aplicación con setuid y en tal caso
dicha aplicación debería terminar su ejecución antes de poder causar algún
daño.
Cabe notar que este tipo de implementación está diseñado para ejecutarse muy
pocas veces al día (menos de 10 000), si hay un caso en el que esto necesite
ejecutarse más veces entonces se tiene un problema muy grave que no se debe
resolver de esta manera.

--
Sandino Araico Sánchez
La distancia más corta entre dos puntos no necesariamente es la línea recta.




-- 
Para desuscribirse, mande correo a: ayuda-unsubscribe en linux org mx
Para comandos adicionales, envíelo a: ayuda-help en linux org mx



[Hilos de Discusión] [Fecha] [Tema] [Autor]