Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: pbtete en 9 Abril 2015, 14:15 pm



Título: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: pbtete en 9 Abril 2015, 14:15 pm
Hola gente. Tengo una serie de WebServices escritos en PHP en un hosting. A estos WebServices hacen llamadas clientes "Arduino" y "RaspberryPI".

El tema es que me gustaría limitar el acceso a alguno de ellos, es decir, que exista algún tipo de autenticación que solo permita hacer llamadas HTTP de forma satisfactoria a los clientes que yo elija, ya que el hecho de que se puedan hacer llamadas HTTP desde cualquier tipo de cliente compromete la seguridad general del sistema.

¡Muchas gracias!


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: engel lex en 9 Abril 2015, 14:21 pm
arma un login y listo... solo entra quien tú quieras... a demás desconocemos como está armado tu sistema y dudo que con tan poca info se pueda ayudar más

recomiendo aportar más info y tal vez leer estos 2 temas
10 pasos para plantear una duda informática (http://foro.elhacker.net/index.php/topic,159345.msg751417.html#msg751417)
FAQ : Como hacer preguntas "inteligentes" (http://foro.elhacker.net/index.php/topic,7122.0.html)



Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: MinusFour en 9 Abril 2015, 20:03 pm
Puedes limitar el acceso de varias formas... Yo creo que lo mas facil seria delimitar por IP si tienes un rango en especifico al que quieras servir. Si no, deberias poder establecer una contraseña para cada uno de tus servicios.


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: pbtete en 10 Abril 2015, 13:17 pm
arma un login y listo... solo entra quien tú quieras... a demás desconocemos como está armado tu sistema y dudo que con tan poca info se pueda ayudar más

recomiendo aportar más info y tal vez leer estos 2 temas
10 pasos para plantear una duda informática (http://foro.elhacker.net/index.php/topic,159345.msg751417.html#msg751417)
FAQ : Como hacer preguntas "inteligentes" (http://foro.elhacker.net/index.php/topic,7122.0.html)


No puedo montar un login debido a que no es un usuario físico (el cual puede meter un usuario y una contraseña) el que se conecta al sistema. Es un cliente Arduino o RaspberryPI, el cual accede cuando se pulsa un botón. Ahí está el problema...

Puedes limitar el acceso de varias formas... Yo creo que lo mas facil seria delimitar por IP si tienes un rango en especifico al que quieras servir. Si no, deberias poder establecer una contraseña para cada uno de tus servicios.
Lo del rango de IP va a estar dificil... Una contraseña?? En el Arduino bueno... pues el código es compilado pero con la RaspberryPI no...

Gracias a ambos. Un saludo.


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: T. Collins en 10 Abril 2015, 14:31 pm
No hace falta ser una persona física para conectarse mediante un login, ni el código tiene por qué ser compilado para poner una contraseña :-\ Arduino no sé, pero en RPI puedes utilizar tanto un programa en C, C++, etc... (compilado)  como un script para para hacer lo que quieres.


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: MinusFour en 10 Abril 2015, 15:11 pm
¿Y como distribuyes el cliente, un compilado? ¿Es codigo cerrado?


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: pbtete en 11 Abril 2015, 23:03 pm
No hace falta ser una persona física para conectarse mediante un login, ni el código tiene por qué ser compilado para poner una contraseña :-\ Arduino no sé, pero en RPI puedes utilizar tanto un programa en C, C++, etc... (compilado)  como un script para para hacer lo que quieres.
Correcto, pero si tengo que hacer un login para un cliente que no es una persona física significa que he de poner la contraseña en el código... no sé si esto podría suponer un problema de seguridad importante. En Arduino el código se compila, pero en RPI estoy trabajando con Python (si fuese necesario cambiaría a otro lenguaje como C)... también desconozco hasta que punto ese código podría ser descompilado (creo que es verdaderamente complicado), teniendo acceso de esta forma al los datos de acceso.

Muchas gracias gente, son cosas nuevas para mi y estoy un poco perdido jeje


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: LaThortilla (Effort) en 22 Abril 2015, 22:00 pm
para poder ayudarte mejor tienes que saber como identificas los clientes a los que tu quieres dar acceso...

- podrías usar su dirección mac... para autenticarse-.. aun que esto no es muy fiable

-podrías usar su ip... pero esto requeriría que su ip fuera estática...

-si usas conexión desde un moden 3G podrías usar su imei

- Ò lo que ya te sugerían compilar algún tipo de contraseña que se incluya en el codigo

-Podrias hacer algo mas complejo y seria que el cliente pida autenticación y tu tengas que darle acceso o no a ese cliente desde un backend y ps o bien crear una variable de session o lo que tu prefieras (imaginación)


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: daryo en 22 Abril 2015, 22:21 pm
bueno talves te paresca algo complicado pero recuerda que no hay que reinvertar la rueda y que las herramientas ya existen:

mmm me parece que lo que buscas es cifrado asimetrico y talves firmas digitales ...
http://www.genbetadev.com/seguridad-informatica/que-son-y-para-que-sirven-los-hash-funciones-de-resumen-y-firmas-digitales(lo podrias hacer usando por ejemplo https para evitar que sniffeen el trafico)

la parte sobre decompilar y demas hay varias herramientas(a lo mejor solo tienes que usarlas asi te evitas tener que aprender todo eso) y practicas que dificultan el proceso de ingenieria inversa(ver que hay dentro del programa) pero eso es mejor que lo preguntes en su respectiva sección.

http://foro.elhacker.net/ingenieria_inversa/como_proteger_tu_programa-t222129.0.html
http://foro.elhacker.net/ingenieria_inversa-b26.0/


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: LaThortilla (Effort) en 23 Abril 2015, 00:42 am
bueno talves te paresca algo complicado pero recuerda que no hay que reinvertar la rueda y que las herramientas ya existen:

mmm me parece que lo que buscas es cifrado asimetrico y talves firmas digitales ...
http://www.genbetadev.com/seguridad-informatica/que-son-y-para-que-sirven-los-hash-funciones-de-resumen-y-firmas-digitales(lo podrias hacer usando por ejemplo https para evitar que sniffeen el trafico)

la parte sobre decompilar y demas hay varias herramientas(a lo mejor solo tienes que usarlas asi te evitas tener que aprender todo eso) y practicas que dificultan el proceso de ingenieria inversa(ver que hay dentro del programa) pero eso es mejor que lo preguntes en su respectiva sección.

http://foro.elhacker.net/ingenieria_inversa/como_proteger_tu_programa-t222129.0.html
http://foro.elhacker.net/ingenieria_inversa-b26.0/

no creo que lo que busca es cifrar el trafico... si no mas bien limitar quien se conecta


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: daryo en 23 Abril 2015, 02:56 am
la cuestion  es que con un cifrado asimetrico puedes reconocera las personas por medio de firmas digitales


Título: Re: PHP WebService + clientes Arduino y RaspberryPI
Publicado por: JorgeEMX en 30 Abril 2015, 07:14 am
Sencillo y rápido, usa Oauth para el acceso ya sea general o a ciertos procesos. http://bshaffer.github.io/oauth2-server-php-docs/

Saludos