Utilizando un script index.php en mi aplicación iOS, ¿qué debo hacer para asegurarlo?

-2

Soy realmente nuevo usando servidores web y seguridad. Acabo de escribir un backend para mi aplicación iOS en PHP. Está alojado en un servidor de Apache de Linode. El index.php us se encuentra en enlace . Me pregunto qué debo hacer para asegurarlo. Accederé a través de mi aplicación iOS, pero ¿qué pasa con la posibilidad de que alguien ingrese esa URL y acceda a ella o ejecute comandos en Curl? ¿Tengo que implementar la seguridad en el script PHP o en el servidor?

Cualquier puntero sobre esto sería realmente apreciado.

EDIT, mi API realiza operaciones simples de MySQL como INSERT y SELECT, se realizan mediante POST y GET utilizando parámetros. Actualmente no estoy implementando ninguna autorización de usuario. Quiero protegerlo del acceso no autorizado a la base de datos.

    
pregunta Bob 31.07.2015 - 15:03
fuente

1 respuesta

4

Primero, no tienes forma de evitar que las personas que usan Curl para acceder a la API. En la perspectiva del servidor, su aplicación y alguien que usa curl o telnet es exactamente igual.

Debes emplear algunos controles y protecciones en la API que harán más difícil que las personas simplemente activen el enrollamiento y el desorden con tu base de datos. Mientras aprendes, no te daré enlaces, sino las cosas que debes investigar. Algunas opciones vienen a la mente:

  • Codificación segura

    En primer lugar, aprenda cómo proteger el código. PHP es muy fácil de aprender, y al mismo tiempo es muy fácil cometer errores mortales. Aprender a proteger el código es lo primero que debe aprender antes de hacer algo. Escriba el código de seguridad desde el principio, no "haga que funcione" primero e intente protegerlo más tarde. Asegúrate desde el principio.

  • HTTPS

    Debes emplear HTTPS. Le proporciona autenticación, confidencialidad y protección del servidor contra cambios accidentales o intencionales en el tráfico. Combínelo con la fijación de claves públicas y establecerá una barrera alta.

  • Autenticación de usuario

    Si tiene algo privado, debe autenticar a los usuarios. Las contraseñas saladas, las sesiones seguras y las cookies seguras vienen a la mente. Incluso un captcha. También utilice el límite de velocidad en el inicio de sesión, por lo que será más difícil para alguien que fuerza bruscamente el inicio de sesión.

  • Validación de entrada y desinfección

    Esto es muy importante. No importa qué tan seguros sean los controles alrededor de la API, si alguien puede realizar una inyección de SQL, está muerto. Todos tus usuarios están muertos, todos tus datos están muertos. Si alguien puede explotar un archivo remoto incluido, estás incluso más muerto que antes. Por lo tanto, nunca confíe en nada que reciba del cliente, incluso si el cliente está autenticado.

Estudie las OWASP guías y tutoriales, especialmente las 10 principales vulnerabilidades. Trate de no exponer su aplicación a esos riesgos.

    
respondido por el ThoriumBR 31.07.2015 - 16:26
fuente

Lea otras preguntas en las etiquetas