Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: FCOSTA en 20 Septiembre 2011, 03:26 am



Título: Seguridad en Servidor
Publicado por: FCOSTA en 20 Septiembre 2011, 03:26 am
No se si este es el foro adecuado. Si no lo es pido disculpas
y si quereis ponerlo en el sitio que le corresponda.

Tengo una duda

Estoy creando una aplicación cliente/servidor en Internet.

Mi idea es que la parte del CLIENTE solo tendrá la interface de entrada de datos, y la parte del SERVIDOR tendrá toda la aplicación y la base de datos.

El hecho que haya pensado que es mejor que el SERVIDOR sea donde este la aplicación (los cálculos) y la base de datos es porque creo que asi estará mas segura y que no podrá ser copiada ni crackeada por nadie.

¿Estoy en lo cierto, o estoy equivocado?

Esta es mi duda……  Si pongo la aplicación en el servidor como un fichero compilado EXE. Y la ejecuto con el ASPEXEC… ¿Es una forma totalmente segura que nadie podrá copiarla ni crakearla?

Gracias. 












Título: Re: Seguridad en Servidor
Publicado por: BlackZeroX en 20 Septiembre 2011, 04:51 am
.
Que papel juega la BDD?... yo podria CLONAR la BDD y crackear tu Aplicacion aun asi...

* las operaciones basicas y que no tengan ninguna indole en la bdd haslas localmente en tu aplicacion, trata de que donde o el app que consulte la bdd (servidor) no se sature de cosas "Estupidas" como comprobar rangos y cosas por estilo...

* Si tienes un Cliente-Servidor dond el servidor consulta tu BDD y la interaccion entre cliente y servidor es por SQL, entonces tienes un GRAN AGUJERO, de lo contrario si es un protocolo de intercomuniccion estara seguro hasta cierto punto... puesto yo podria hacer un EMULADOR de tu servidor... simplemente destripando tu cliente xP.

* Mientras no publiques tu aplicacion sera la mas segura... una vez publicada una parte de ella pues no te dire que no se puede cracker por que la vdd es que si se puede, quisas tome tiempo pero de que se puede se puede aun cuando ofusques...

Dulces Lunas!¡.

Dulces Lunas!¡.


Título: Re: Seguridad en Servidor
Publicado por: FCOSTA en 20 Septiembre 2011, 19:11 pm
Gracias por tu respuesta

He realizado una aplicación de ingeniería. Es un programa que se le entran unos datos numéricos y te da unas respuestas también numéricas.

Por ejemplo, le entras una medida de resistencia de un material, y lo multiplica por el coseno de dicha cantidad, y te da un valor que luego puedes aplicar a otros ratios. (Le entras 4 y te sale 0.23145 que es el coseno multiplicado por otros ratios)

Este programa, puedo exponerlo de distas formas…..  por ejemplo shareware
y otras. Pero considero (o consideraba) que una de las mas “seguras” (entre comillas) era que corriera en una pagina web. (de forma que nunca “entrara” en el ordenador del usuario)

Pero hacerlo correr en una pagina Web, significa pasar todo el código a PHP o JAVA (porque ASP no se si es muy seguro).  El programa esta hecho en  Visual Basic.net.
            Entonces un amigo me propuso hacer que el programa se dividiera en dos partes. Una parte en el cliente y otra en el servidor. La del cliente seria simplemente la entrada de datos, y la del servidor seria el nucleo del programa compilado en un archivo EXE.
                                               
Y me dijo que eso seria mucho mas seguro, que si el usuario se bajase todo el programa a su ordenador lo cual haría mas fácil de analizarlo y poder hackearlo o crackearlo. (En principio me pareció una buena idea)
 
Pero yo en seguridad informática no soy un experto.

Lo único que he aprendido (según vosotros y otras paginas) ES QUE NO HAY NADA QUE NO SEA CRACKEABLE.

Pero mi duda es esa… ¿Incluso NO teniendo el programa dentro del ordenador (que estaría en un servidor) te pueden crackear un programa?.

Respondiendo a tu pregunta, la BDD tendría varias misiones. Tomar los datos del usuario, y comprobar cada vez que lo use que es un usuario registrado. O sea, no podrá usar el programa si no es un usuario registrado. ¿Me explico?

Perdon por el “ladrillo” pero asi sabes de que va el tema.

Gracias.


Título: Re: Seguridad en Servidor
Publicado por: BlackZeroX en 20 Septiembre 2011, 19:52 pm
Por lo que me as dicho NO tiene caso el ser cliente servidor... digamos que verificas ok el servidor seguro envia un bloque de datos con el cual verificara si es o no original... en este caso simplemente se crea un programa que emule esto ultimo y ya esta crackeado.

Si tu programa es bueno y a buen precio seguro nadie lo crackea... no te lo aseguro, ya ves a los programades de Autodesk (Autocad...).

Nota: Espero que te muevan el tema a otro donde se ESPECIALISEN realmente, por que a  mi criterio el metodo que haces sera molesto, y terminaran crackeandote el programa, o si yo fuera lo recrearia y lo liberaria de manera Free.

Temibles Lunas!¡.


Título: Re: Seguridad en Servidor
Publicado por: FCOSTA en 20 Septiembre 2011, 22:46 pm
Gracias por la idea.
Ahora tendre en cuenta que el Servidor no debe enviar ningun BLOQUE DE DATOS al Cliente.
O sea, tengo que hacer que todo el proceso de Seguridad se desarrolle en el Servidor. Buena idea.


Título: Re: Seguridad en Servidor
Publicado por: Pablo Videla en 20 Septiembre 2011, 23:02 pm
Es idea mía o tu programa llama a una especie de WebService ?


Título: Re: Seguridad en Servidor
Publicado por: FCOSTA en 21 Septiembre 2011, 01:54 am
Gracias por tu respuesta.

Bueno, he tenido que mirar de que iba lo de WebServices.

Pero tambien me parece una buena idea.
Hacer que la base de datos sea Oracle o MySQL en vez de Access no hay problema.

Aunque no haya encontrado nada que hable sobre seguridad de este servicio.
Lo que a mi me preocupa es la seguridad.

Yo se que "a mala idea" me lo van a crackear.
Pero al menos quiero hacerlo dificil. Que tenga que ser alguien muy experto.
Que no pueda ser un "Nebby"

Y ademas me gustaria "enterarme" de quien esta usando el programa sin
haber pagado. (Esto lo he hecho haciendo que el programa me envie un codigo cada vez que lo usen).

En fin.
Estoy buscando lo imposible. Pero por eso lo busco.
Saludos.


 


Título: Re: Seguridad en Servidor
Publicado por: BlackZeroX en 21 Septiembre 2011, 03:36 am

Y ademas me gustaria "enterarme" de quien esta usando el programa sin
haber pagado. (Esto lo he hecho haciendo que el programa me envie un codigo cada vez que lo usen).


Casi casi espionaje... te lo terminaran crackeando o sacando una version Free, ademas de que para algo simple nesesitaran usar un servido de internet... cuando no lo nesesita realmente para su labor...

Mejor opta por otros medios por que este va a terminar por ser un producto Muy caro a largo plazo.

Dulces Lunas!¡.


Título: Re: Seguridad en Servidor
Publicado por: Novlucker en 21 Septiembre 2011, 04:05 am
Tener tu sistema en un servidor web es incluso más seguro que tenerlo como cliente-servidor, y al estar en VB.NET puedes portarlo con cierta fácilidad a ASP.NET (.... y si, ASP.NET es igual de seguro que JAVA o PHP), el problema que tienes es el hosting :P

Saludos


Título: Re: Seguridad en Servidor
Publicado por: FCOSTA en 22 Septiembre 2011, 00:57 am
Insertar Cita
<Tener tu sistema en un servidor web es incluso más seguro que tenerlo como <cliente-servidor, y al estar en VB.NET puedes portarlo con cierta fácilidad a <ASP.NET (.... y si, ASP.NET es igual de seguro que JAVA o PHP), el problema que <tienes es el hosting

Perdoname, pero no "capto" lo que me explicas.

Si tengo mi sistema en un servidor Web ¿no es lo mismo que cliente/servidor?
¿Que quieres decir cuando dices "tenerlo en un servidor web?.

Si lo tengo en un servidor, cuado lo quieran usar necesitaran el programa "Cliente"
¿o no?
(Perdona, pero no acabo de asimilar (por falta de conocimientos mios) lo que me estas explicando. Y estoy muy interesado en ello. ¿Podrias aclararmelo?)

El problema es el hosting? Esto tambien lo he pensado yo, me da miedo que para hacer eso necesite contratar un "servidor dedicado". Y no quiero hacerlo.
¿Te refieres a eso?

Saludos.



Título: Re: Seguridad en Servidor
Publicado por: Novlucker en 22 Septiembre 2011, 02:21 am
A lo que me refiero es que la aplicación sea web, una página web, con eso tienes la interfaz, la lógica y la base de datos en el mismo servidor, no hay información que viaje de un sitio a otro y por lo tanto es más sencillo securizarla.


Saludos


Título: Re: Seguridad en Servidor
Publicado por: .::IT::. en 22 Septiembre 2011, 06:02 am
Imaginemos un web services que contiene un webmethod  llamado login, al cual le envias el usuario y password de tu aplicación este webmethod te devuelve un hash el cual usaras para consumir los demás webservices encargados de procesar determinados datos que le envíes,
Y como enviar el  hash?? Pues por medio de los soapheader
http://msdn.microsoft.com/en-us/library/77hkfhh8%28v=vs.71%29.aspx
Ahora ya tienes tu aplicación con los cálculos en el servidor y el cliente los consume usando un usuario y login, bueno así lo hago Yo.

Saludos!!!


Título: Re: Seguridad en Servidor
Publicado por: FCOSTA en 22 Septiembre 2011, 23:55 pm
Si, Novlucker. Ahora si te he entendido perfectamente. Gracias por tu aclaración.
Pero para hacer eso, necesito……

1.- Cambiar la interface de la pantalla de entrada de números.
(Una pantalla realizada en VB, no es igual que una realizada en ASP (o al menos yo no se como hacer que me queden iguales))

2.- Pasar todo el código desde VB a ASP.
Por eso pensaba compilarla en un EXE y hacer que corriera con el ASPEXEC y me ahorraba un monton de trabajo, y problemas.

Y mi primer post era para preguntar si asi la cosa quedaba segura o no.

PARA IT
Si señor. Eso es precisamente lo que estoy “madurando”.
Y me viene muy bien tu respuesta para hacer una pregunta……

El 90% de las Web que hay en Internet, te exigen que te REGISTRES para poder responder o entrar en ellas. (Igual que esta “El Hacker”)

Eso significa que dentro de la web hay una base de datos con nuestros nombres y contraseñas. (¿cierto?).

Y que la web consulta esa BBD cada vez que Alguien se conecta a ella (¿cierto?)

Si eso lo usan el 90% de las web que hay en Internet, es que el código para hacer eso en ASP (o PHP) tiene que ser casi “publico” ¿Sabeis donde puedo encontrarlo?
 
Para no convertir esta respuesta en un ladrillo (que ya lo es). Cuando tenga el código ya os explicare la idea que he tenido. Y esa si es segura.

Saludos