8.6 Excepciones y Errores Seguros.
Es necesario prever errores y excepciones que puedan ocurrir durante la ejecución del código. En caso de
producirse una condición de error, no se debe revelar a usuarios información del funcionamiento interno del
sistema.
Se deberá deshabilitar mensajes de debugging y stack-traces del lenguaje, librerías, frameworks y servicios en
entornos productivos.
Esta recomendación resuelve los problemas vinculados a la revelación de información sobre la
arquitectura interna de la aplicación.
8.7 Carga de Archivos
Esta funcionalidad es de alto riesgo, debe limitarse estrictamente los tipos de archivos que se permite cargar al
servidor y correr un análisis de malware sobre su contenido. Deben almacenarse en ambientes aislados o al
menos particiones de disco separadas.
Esta recomendación resuelve los problemas vinculados a ataques de ejecución de código, carga de
malware y defacements, entre otros.
8.8 Existencia de backdoors administrativas
Las backdoors administrativas son relativamente inofensivas en entornos de desarrollo que no contienen bases
de datos productivas. Pero pueden comprometer información privada o la disponibilidad del servicio en caso de
llegar a sistemas productivos.
Si son detectadas en sistemas productivos, pueden resultar en robo y modificaciones de datos, perjudicando la
reputación de la organización. En el peor de los casos, un atacante puede descubrirlas y utilizarlas. Las auditorías
y revisiones de código entre pares ayudan a detectarlas. Debe documentarse su existencia y garantizarse su
eliminación de entornos productivos.
if( parámetro_get() == “admin1234” )
conceder_privilegios_administrador()
// Pone en peligro la seguridad de sistemas productivos.
Esta recomendación resuelve los problemas vinculados a casos de abuso con privilegios elevados.
8.9 Recomendaciones generales
Se debería estudiar en detalle la documentación de seguridad específica publicada por el fabricante y referentes
del lenguaje de programación, librerías, frameworks, servicios y sistema operativo.
Se recomienda utilizar componentes preexistentes ya comprobados en vez de crear código nuevo para tareas
comunes. Validar la seguridad de los componentes elegidos mediante revisiones de código y alertas de
seguridad publicadas.
Utilizar controles de integridad sobre el código, librerías, ejecutables y archivos de configuración.
IF-2021-76718462-APN-DNCIB#JGM
Página 20 de 35
Select target paragraph3
Connect to a paragraph
Connect to an entity
Disable highlights
Add to table of contents