¿Es seguro el sistema operativo de alojamiento para piratas informáticos de inyección de SQL ocultando el ID de administrador?

1

Somos 1-3 chicos que mantenemos un sitio web bastante grande pero torpe desarrollado en la empresa. Con alrededor de más de 900 tablas mysql, y una gran cantidad de código de acceso a datos en PHP. Digamos que es una gran cantidad de código para que solo 1 o 2 muchachos parcheen a todos. Así que decidimos arreglar la mayor cantidad de vulnerabilidades posible (declaración preparada) pero al mismo tiempo aceptar el hecho de que es imposible alcanzar el 100% a prueba de inyección.

Tenemos una lista de muchas cosas que podríamos "fácilmente" hacer para reducir el riesgo / daño de los hackers de SQLi. Uno de ellos es un módulo de administración dividido y un servidor interno que no está abierto a Internet. Esto ayudó mucho cuando los hackers lograron descifrar la contraseña de administrador pero no pudieron hacer mucho daño al sistema.

Ahora queremos aún más: ocultar el ID de administrador de la base de datos, el administrador junto con el ID de moderadores se almacenan actualmente en alguna tabla de "Moderadores". Así que creemos que es más fácil para nosotros mover la ID de administrador a algún archivo (configuración), porque rara vez agregamos / eliminamos admin. Sin embargo, el ID de los moderadores todavía se almacena en esa tabla. Ahora los piratas informáticos necesitan adivinar qué usuario entre medio millón de registros de la tabla de "usuarios".

Mi pregunta: si el módulo de administración no está disponible en Internet, ¿está el servidor de alojamiento (Ubuntu) a salvo de ser controlado por los hackers? Mientras tanto, toleramos los ataques al usuario normal / moderador y la intrusión en la base de datos.

P / S:

  1. El propietario del sitio web está reuniendo más $$ para la solución SQLi definitiva.
  2. Parece que incluso las declaraciones preparadas no son 100% seguras: ¿Las declaraciones preparadas son 100% seguras contra la inyección SQL?
  3. Incluso un bebé sabe que la codificación es un gran "no, no", pero es lo mejor que podemos imaginar ...
pregunta Phung D. An 18.07.2018 - 19:52
fuente

1 respuesta

2

Hay una máxima general de que tratar de ocultar información dentro de su base de código (o la estructura de la tabla en este caso) en realidad no ayuda a proteger su software. Se le conoce como seguridad a través de la oscuridad y no se considera una buena práctica.

Siento simpatía por tu situación porque ciertamente me he metido en algunos espaguetis de código en mi tiempo, pero realmente lo mejor es continuar refactorizando el código y reduciendo los vectores de ataque.

Cuando dices "descifrar la contraseña de administrador", ¿quieres decir que alguien ya ha ingresado y ha robado los hashes de contraseña? Si esta es una de sus principales preocupaciones, debe eliminar sus contraseñas si no lo está haciendo, lo que hará que sea más difícil para los atacantes robar contraseñas.

En términos de desarrollar un triage y trabajar en su refactor, recomendaría altamente La Guía 2018 para crear software PHP seguro .

    
respondido por el jsaigle 18.07.2018 - 20:30
fuente

Lea otras preguntas en las etiquetas