Cita: “El único sistema seguro es aquél que está apagado en el interior de un bloque de hormigón protegido en una habitación sellada rodeada por guardias armados”
– Gene Spafford
Más allá de eso, alguos consejos desde el punto de vista de las bases de datos:
- No hagas consultas directas desde los scripts. Usa stored procedures. Como los SP son parametrizados, todo sqlinjection que entre por parámetro genera un error de ejecución o bien devuelve datos nulos.
- No uses un user genérico para las conexiones, y menos aun el mismo que usas para administrar una base.
- No envíes claves y usuarios sin encriptar. Y menos aún los almacenes sin encriptarlas.
- Nunca envíes sentencias DDL por script. La base nunca debe cambiar dinamicamente, porque eso significa que el user tiene exceso de privilegios.