SECURITY La seguridad va a garantizar seguridad a la comunidad de usuarios de cierta aplicación. Para ello es necesario contar con especialistas en TI (Tecnologías de la Información), Administradores del sistema o DBA (Administradores de bases de datos), de tal forma que haya un grupo de seguridad, ya que la seguridad es de suma importancia. Por lo que se deben revisar continuamente las amenazas de seguridad, las políticas, la configuración, los niveles de parches, los archivos de registro, etc. Las amenazas contra su red, servidor y aplicación evolucionan continuamente, y sus respuestas también deben evolucionar. CUENTAS DE USUARIOS Cualquier profesional de seguridad informática, está de acuerdo en que las personas son la mayor amenaza para la seguridad de los sistemas informáticos. Sus acciones u omisiones pueden no ser maliciosas, pero con frecuencia exponen los sistemas y las aplicaciones a amenazas externas. El equipo de seguridad debe educar a los usuarios sobre la importancia de las políticas de seguridad de la organización. De tal manera que los usuarios deben comprender las amenazas que existen contra su organización, la red y la aplicación que normalmente usan. Al igual que la seguridad, la educación es un proceso continuo en lugar de un solo evento. Por lo que debe asegurarse de que el curso de capacitación cubra los temas de seguridad necesarios para mantener la aplicación segura. Para tener mayor seguridad dentro de las aplicaciones y poder obtener acceso a ellas, es necesario hacer uso de la autenticación que es el proceso de confirmar la identidad del usuario que solicita acceso. Para ello hay tres formas de autenticación: por contraseña, por tarjeta inteligente y por huella digital o escaneo de retina. El software que realiza la autenticación puede integrarse en la aplicación o ser externo a la aplicación. Dos formas alternativas de autenticación, es decir, autenticación externa, son Lightweight Directory Access Protocol (LDAP) y Single Sign On (SSO). Estos métodos facilitan que los usuarios inicien sesión en las aplicaciones. El autor considera que la autenticación LDAP le brinda el mejor retorno por el esfuerzo. A pesar de que resulta tedioso que los usuarios tienen que iniciar sesión en cada aplicación, pero no necesitan recordar inicios de sesión y contraseñas únicos y es mucho más fácil configurar aplicaciones para usar autenticación LDAP que SSO. LDAP se usa con frecuencia como un depósito central de información para todos los usuarios. Cuando LDAP se usa para autenticar a los usuarios, la aplicación le solicita al usuario un inicio de sesión y una contraseña como de costumbre. Después de recibir estos valores del usuario, la aplicación los pasa a un módulo LDAP que los valida en una base de datos centralizada. Si se utiliza LDAP (o SSO) para autenticar a los usuarios, el administrador de la aplicación aún necesita crear una cuenta dentro de la aplicación y asignarle los derechos de acceso apropiados, la pantalla de inicio, etc. Lo que es diferente es que la cuenta está etiquetada como usando LDAP o Autenticación SSO en lugar de autenticación nativa. Por lo tanto, esta cuenta debe existir y estar activa tanto en LDAP (o SSO) como en la aplicación. Si está deshabilitado en cualquiera de estas ubicaciones, el usuario no podrá iniciar sesión en la aplicación. SSO es un método que permite a los usuarios iniciar sesión en la red de la organización y, a partir de ese momento, pueden acceder automáticamente a otras aplicaciones sin necesidad de iniciar sesión en cada una. La persona solo tiene que abrir la aplicación, pero nunca se le presenta una pantalla de inicio de sesión. Dentro de las ventajas de implementar LDAP o SSO como método de autenticación para su aplicación son: Cuando se utilizan credenciales de red, los usuarios no necesitan memorizar inicios de sesión y contraseñas por separado para cada aplicación que utilizan. Si el usuario abandona la organización y la aplicación usa LDAP o SSO, deshabilitar su cuenta en AD es fácil, se puede bloquear de todas las aplicaciones en una sola acción. Si un usuario olvida su contraseña de red, el servicio de asistencia funciona las 24 horas, los 7 días de la semana, por lo que es probable que los usuarios restablezcan su contraseña mucho más rápido. LDAP y SSO permiten controles de contraseña más estrictos que algunas aplicaciones. Por otra parte, dentro de las desventajas de LDAP y SSO son: Si la base de datos centralizada utilizada para la autenticación no está disponible por algún motivo, entonces cualquier aplicación que se base en LDAP o SSO no podrá autenticar a los usuarios. No todas las aplicaciones de terceros están diseñadas para funcionar con autenticación LDAP o SSO. Si la contraseña de la red de un usuario se descifra o se conoce de otra manera, todas las aplicaciones que usan autenticación LDAP o SSO se ven comprometidas. La conversión de la autenticación nativa a la autenticación LDAP o SSO puede requerir que se actualice el perfil de cada usuario en su aplicación. No todas las implementaciones permiten que los usuarios de diferentes dominios, sean compatibles con LDAP o SSO. Si un usuario específico no tiene una cuenta de red la autenticación LDAP o SSO podría no funcionar para este usuario. La implementación de cualquiera de ellos requiere cambios de configuración dentro de la aplicación. Si elige utilizar SSO, es posible que necesite adquirir e instalar software adicional. Cuando se da por terminada la relación de un trabajador con la organización, ya sea que se retire, renuncie, sea despedido, cambie de trabajo o incluso muera. En cualquiera que sea el caso, su acceso a la aplicación debe terminarse, por lo tanto la responsabilidad de quién deshabilitará su acceso debe ser clara para todos. El hecho de que un ex empleado ya no pase por la puerta no significa que ya no pueda acceder a la aplicación. Todas sus cuentas deben deshabilitarse lo más rápido posible. La palabra "todos" en la oración anterior no es un error tipográfico ya que los usuarios pueden tener varias cuentas para una aplicación determinada. Sin embargo, el trabajo no se detiene con solo deshabilitar sus cuentas personales. Debe cambiar de inmediato las contraseñas en todas las cuentas que el usuario saliente podría haber conocido. Es mejor ser demasiado cauteloso y cambiar demasiadas contraseñas que no suficientes. Para crear grupos de seguridad y usuarios en una computadora con Windows, los usuarios tienen acceso a la máquina al agregarlos a un grupo de seguridad en la utilidad Administración de computadoras. Para agregar un usuario, haga clic derecho en la carpeta "Usuarios" y seleccione la opción de menú "Nuevo usuario". Una vez que se ha creado la cuenta, debe otorgarle el acceso que necesita para hacer cosas. Hay muchas ventajas en crear grupos con ciertos conjuntos de privilegios y luego asignarles usuarios en lugar de otorgar esos mismos privilegios a usuarios individuales. El acceso de establecer una conexión con el servidor físico en el que se ejecuta la aplicación debe limitarse al Administrador de aplicaciones y otros profesionales de TI que necesitan acceso a él para mantenerlo. El número de personas con acceso al servidor de aplicaciones debe mantenerse lo más limitado posible. Cuantas más personas puedan acceder al servidor de forma remota, es más probable que alguien modifique algo sin darse cuenta o desconecte el servidor. Si se permite la administración remota, entonces el acceso debe hacerse de la manera más segura posible, de ser así se recomienda lo siguiente: Incluir un método de autenticación fuerte como un par de claves pública / privada o autenticación de dos factores. Restringir quién puede acceder remotamente al servidor a usuarios autorizados o direcciones IP con nombre. Solo se deben usar los protocolos que proporcionan cifrado de contraseñas y datos. Las cuentas utilizadas para acceder al sistema de forma remota deben tener aplicado el principio de autorización mínima. Las cuentas y contraseñas predeterminadas se deben cambiar para las utilidades y aplicaciones de autorización remota. El acceso VPN (Red privada virtual), para usuarios remotos, es una tecnología que se usa comúnmente para permitir a los usuarios remotos conectarse de forma segura a la red de una organización a través de Internet. Una vez que la VPN esté instalada en su computadora, usarla para conectarse de manera segura a su sitio de trabajo es relativamente fácil de hacer. Con el objetivo de tener una seguridad efectiva es necesario proporcionar el menor privilegio para los usuarios, de tal forma que con los privilegios otorgados puedan realizar su trabajo de manera eficiente, pero sin ir más allá. El propósito de hacer esto es minimizar los cambios que dañarán, deliberada o inadvertidamente, la aplicación, sus datos o la organización. Otra razón para implementar una política de privilegios mínimos es minimizar el daño que pueden hacer los piratas informáticos, el malware y otros actores malos. El concepto de privilegios mínimos va dirigido también para el administrador. MEJORES PRÁCTICAS PARA LAS CUENTAS DE USUARIOS Configurar adecuadamente las cuentas que otorgan acceso a la aplicación tiene un impacto significativo en la seguridad de la aplicación. Si el manejo de las cuentas no se realiza correctamente desde el principio, la seguridad se verá comprometida desde el día 1. No se debe permitir compartir cuentas: El uso compartido de cuentas conduce a situaciones en las que los usuarios no son responsables de sus acciones. Se debe enfatizar repetidamente a sus usuarios que nunca deben compartir sus cuentas con nadie más. Eliminar o deshabilitar todas las cuentas innecesarias: Las aplicaciones frecuentemente vienen con cuentas predeterminadas. Puede que los necesite o no. Si necesita mantener una cuenta, asegúrese de cambiar la contraseña. Definir grupos de usuarios: Debe definir un conjunto de funciones de usuario que sus usuarios realizarán dentro de la aplicación. Cuentas de prueba: Periódicamente, deberá iniciar sesión en la aplicación y verla como la ve un usuario. Esto podría significar tener significativamente menos derechos que la cuenta de administrador o incluso su cuenta personal. Cuentas administrativas del servidor: La lista de personas que deberían tener derechos de administrador en el servidor de aplicaciones debería ser breve. El administrador de la aplicación y su copia de seguridad deben ser administradores en el servidor. Los demás dependerán de qué tipos de equipos técnicos tenga su organización. Contraseñas: Estas son fundamentales para mantener las cuentas seguras. Para ayudar a garantizar este nivel de seguridad, su organización necesita desarrollar políticas que establezcan las contraseñas aceptables. Cuenta de administrador: La regla general para una cuenta de superusuario es usarla solo cuando sea absolutamente necesario. Hacer cosas como instalar una actualización, hacer cambios dirigidos por el proveedor, restaurar desde una copia de seguridad, etc. Para actividades como aprender la aplicación o probar, un problema debe usarse en una cuenta "normal". Las posibilidades de causar daños generalizados con la cuenta de administrador hacen que el riesgo de usarlo regularmente sea demasiado alto. SEGURIDAD DE APLICACIÓN Algunos pasos que se deben realizar al instalar una aplicación para ayudar a proteger son: Confirmar que la versión del software que se está cargando no tiene vulnerabilidades conocidas. Aplicar parches o actualizaciones para abordar cualquier vulnerabilidad conocida. Eliminar o deshabilitar todas las cuentas de usuario predeterminadas innecesarias creadas por el software de la aplicación. Si se necesita alguna cuenta predeterminada para modificar, la contraseña para que no se use la predeterminada. Eliminar toda la documentación del fabricante del servidor. Eliminar todos los ejemplos o archivos de prueba del servidor. Eliminar los compiladores, utilidades, bibliotecas, etc. innecesarios del servidor. Para servidores externos, modificar los banners de bienvenida para eliminar cualquier detalle específico. Exhibir pancartas de advertencia que indiquen que este es un sistema seguro y que cualquier persona no autorizada que inicie sesión será procesada en toda la ley. Dentro de las vulnerabilidades más comunes que existen en el software de aplicación son: scripting entre sitios, inyección SQL, algoritmos criptográficos inseguros, falsificación de solicitudes entre sitios y desbordamiento de búfer y entero. Averiguar si las aplicaciones de las que depende su organización contienen vulnerabilidades no es algo fácil de hacer. Hay varios recursos disponibles y todos deben verificarse para obtener esta información crítica. Algunas herramientas para verificar vulnerabilidades son: el sitio web, http://nvd.nist.gov, le permite buscar paquetes de software que tienen vulnerabilidades; se puede preguntar directamente al proveedor sobre las vulnerabilidades de la aplicación, pero no espere recibir una lista de las deficiencias de su producto; si hay un grupo de usuarios dedicado a la aplicación, actívela; de ser posible asistir a las conferencias de usuarios configuradas para la aplicación; un último método para aprender sobre fallas en el software es adquirir y ejecutar herramientas de escaneo de vulnerabilidades en su servidor. También se puede recurrir a hacer referencia al sitio web del proveedor para obtener una lista de parches que deben aplicarse para proteger la aplicación de vulnerabilidades conocidas. La mayoría del software de aplicación se instala en directorios ampliamente conocidos y predecibles, nombres ejecutables, etc. Los piratas informáticos conocen estos detalles o pueden aprenderlos en cuestión de minutos. Para evitar sondeos que buscan ubicaciones conocidas, considere instalar el software de la aplicación con nombres de directorio y ejecutables no estándar. Es muy común que las aplicaciones se instalan frecuentemente con cuentas predeterminadas. Si no los está utilizando, entonces deberían desactivarse o eliminarse por completo. De la misma manera si no está utilizando una función en la aplicación y se puede desactivar, hágalo. Hacer esto reduce las características que un intruso puede explotar potencialmente. Por último, las sesiones de aplicaciones desatendidas representan una amenaza de seguridad. Si un usuario legítimo se aleja de su estación de trabajo y deja la aplicación en ejecución, entonces cualquiera podría caminar y causar travesuras. Como mínimo, hacer esto les daría acceso a cualquier información confidencial que el usuario pueda sacar. SERVIDORES Los servidores son las joyas de la corona del centro de datos. Si un hacker puede acceder a uno de ellos, la cantidad de daño que puede hacerse es casi ilimitada. Como son tan valiosos, deben protegerse en la mayor medida posible. Como administrador de la aplicación, probablemente no estará a cargo exclusivamente de la seguridad de su servidor, pero querrá hacer todo lo posible para ayudar a protegerlos. La forma más básica de seguridad es proporcionar protección física para sus servidores. Si un intruso puede obtener acceso físico a su servidor, entonces es dueño de la caja. Suponiendo que se haya implementado la seguridad física para el centro de datos y los servidores, la siguiente preocupación es el acceso remoto a los servidores. No es coherente con la "mejor política" permitir a los usuarios tener la capacidad de acceder de forma remota a los servidores de aplicaciones. Si tienen acceso a los servidores, entonces no tiene control sobre lo que podrían hacer. Por otra parte, los parches de mantenimiento pueden referirse a cambios en el software de la aplicación o el software de soporte en el servidor. Muchos parches para el software de soporte corrigen vulnerabilidades identificadas por el proveedor. Una vez que se ha lanzado un parche, todos, incluidos los malos, saben que existe la vulnerabilidad. Los parches de software de aplicación generalmente abordan otros problemas además de la seguridad, tales como solucionar un problema en la aplicación, mejorar el rendimiento de la aplicación, agregar funcionalidad a la aplicación, permitir que la aplicación funcione con bases de datos adicionales, aplicaciones de servidor web, etc., soporta idiomas adicionales que los usuarios hablan, apoyar nuevos formularios que requiere una agencia gubernamental y manejar cambios a las reglas o regulaciones gubernamentales. Por su parte, la ACL (lista de control de acceso) es un método para restringir el acceso a objetos, típicamente archivos, al mantener una lista de los usuarios y procesos que tienen permitido acceder a ellos. Las entradas de ACL especifican el tipo de acceso permitido, por ejemplo, leer, escribir, crear, eliminar. A pesar de lo expuesto anteriormente, todas las computadoras están sujetas a ataques de virus informáticos, troyanos, rootkits y otro malware. Existen herramientas para detectar y eliminar software malicioso. Estas herramientas de detección deben instalarse y mantenerse en los servidores de aplicaciones. Es muy importante mantener estas herramientas actualizadas. El software antimalware que no es actual puede proporcionar una falsa sensación de seguridad que puede ser peligrosa. Un sistema de prevención de intrusiones (IPS) monitorea el sistema y / o la red en busca de actividades que puedan ser maliciosas. Si se detecta actividad no válida, se registrará. El IPS también puede enviar alertas al personal de seguridad o de aplicaciones para alertar sobre actividades sospechosas. El registro es un componente importante de la seguridad del servidor. La mayoría de las aplicaciones generan archivos de registro y documentan problemas y eventos inusuales. El sistema operativo en el servidor de aplicaciones crea un archivo de registro y escribe entradas que reflejan la actividad del sistema, tanto normal como anormal. Si un atacante o una persona interna malintencionada obtienen acceso a su servidor de aplicaciones, puede acceder a los archivos de las unidades. Una técnica de seguridad que podría frustrar tal amenaza es cifrar el contenido de todos los archivos en las unidades. Implementar el cifrado no es algo que deba hacerse a la ligera. Tampoco es algo que deba desarrollarse localmente. La adquisición de un producto de cifrado de grado profesional es definitivamente la ruta que debe tomarse. También debe confirmar con el proveedor de la aplicación que su paquete es capaz de funcionar con un entorno encriptado. Una vez que se hayan aplicado todas las actualizaciones y parches al sistema operativo, el administrador del servidor debe tomar medidas adicionales para fortalecer el servidor. Tal como reducir el software en el servidor al mínimo absoluto necesario para hacer el trabajo. Otra posibilidad es deshabilitar servicios innecesarios integrados en el sistema operativo. El propósito de esto es minimizar las oportunidades para que los atacantes exploten vulnerabilidades en el servidor. FIREWALLS Un servidor de seguridad basado en host ayuda a proteger el servidor del acceso no autorizado. Lo hace controlando el tráfico entrante y saliente entre la red y el servidor. Se examina cada paquete en un mensaje y si se determina que su contenido es potencialmente peligroso, se bloqueará. Se utiliza un conjunto de reglas para determinar si cada mensaje debe permitirse a través del firewall o no. Por ejemplo: bloquear todo el tráfico de una dirección IP específica o bloquee las direcciones IP, permitir tráfico de solo un conjunto de nombres de dominio conocidos, siempre permitir el tráfico de dominios con ciertas extensiones, permitir o bloquear protocolos específicos, el tráfico hacia o desde puertos específicos se puede permitir o bloquear, • Se pueden buscar mensajes para palabras clave específicas. Si se encuentran, el mensaje se bloqueará. Configurar las reglas para cualquier firewall puede ser complicado y requiere atención continua. A menos que el administrador de la aplicación tenga una experiencia significativa en el manejo de firewalls, esta responsabilidad debe asignarse al equipo de seguridad. En el mundo de las computadoras, el término puerto se refiere a una interfaz que puede existir entre una computadora y otro dispositivo. El dispositivo puede ser interno o externo. Ejemplos de dispositivos internos incluyen discos duros, unidades de DVD y dispositivos USB como unidades de memoria USB. Los dispositivos externos incluyen otros servidores en el otro lado de una red. Para que una computadora use un puerto para comunicarse con un dispositivo externo, el puerto debe estar abierto. Esto significa que si existe un firewall en la arquitectura de su red, entonces el firewall sabe que se esperan paquetes de comunicación en el puerto y se deben pasar. Los paquetes pueden enviarse desde la computadora al dispositivo externo y desde el dispositivo externo a la computadora. La mayoría de las aplicaciones usan al menos algunos puertos. Para determinar qué puertos deben estar abiertos para que su aplicación se ejecute, necesita obtener la lista de puertos que utiliza. Esta información se puede encontrar en la guía de instalación, la Guía del administrador de la aplicación o los archivos de configuración. Los puertos que no se usan deben cerrarse para evitar que se usen incorrectamente. Una vez que haya identificado los puertos que utiliza su aplicación y todo el software de soporte, puede cerrar cualquier otro puerto. Ejecutar un escaneo de puertos puede decirle qué puertos están abiertos y cuáles están bloqueados. Una herramienta que escanea puertos en una computadora basada en Windows es "netstat". Al ingresar el comando “netstat –v –n” en una ventana de comandos, se enumerarán todos los puertos y cómo se están utiliza. ¿DÓNDE ESTÁ UBICADO SU SERVIDOR? Esta pregunta no se refiere a su ubicación física. Significa dónde está ubicado en relación con Internet, la red interna de su organización y el firewall de su organización. Las dos posibilidades son que el servidor de aplicaciones esté en la DMZ, es decir, el área entre Internet y la red interna, o que esté ubicado en la red interna de la organización. NAVEGADORES WEB Un navegador web es una aplicación de software que se escribió para presentar páginas de la World Wide Web a un usuario de computadora. Las aplicaciones de terceros que se basan en la web requieren que los usuarios accedan a su aplicación a través de un navegador web. Las principales ventajas de esto son: Al usar un navegador, el proveedor no tiene que codificar el componente de presentación El usuario típico de la computadora ya está muy familiarizado con el uso de un navegador Por su parte, Secure Sockets Layer (SSL) es un protocolo que gestiona la seguridad de los mensajes transmitidos en Internet. SSL utiliza un sistema de cifrado que utiliza claves públicas y privadas para mantener la seguridad de las transmisiones. Para implementar SSL, se debe obtener un certificado SSL de una autoridad de certificación. Este certificado contiene las claves públicas y privadas necesarias para cifrar los mensajes que se transmitirán. Los certificados son válidos por entre 1 y 3 años. Un sitio web con una URL que comienza con "HTTPS" (protocolo de transferencia de hipertexto seguro) está utilizando SSL para asegurar las transmisiones entre este y el navegador. Es posible que su aplicación pueda utilizar SSL para aumentar la seguridad. Para determinar si puede o no, consulte la Guía de instalación o la Guía del administrador. Un "sitio de confianza" es un sitio web que ha determinado que se puede acceder y que no causará daños a su computadora. Si el nivel de seguridad en el navegador está configurado en un nivel alto, entonces se necesitará identificar sitios confiables para acceder a ellos. Si la aplicación está basada en la web, es posible que los usuarios necesiten agregar la URL de la aplicación a la lista de sitios de confianza para que puedan visitarla. Hay muchas situaciones en las que no desea que una conexión permanezca activa indefinidamente. Si la conexión se mantuviera activa para siempre, podría representar un riesgo de seguridad. En la mayoría de los casos, si la conexión no se usa durante un período de tiempo configurable, se terminará. Muchos navegadores de Internet le permiten bloquear la publicidad en línea que "aparece" durante una sesión de Internet. Esta habilidad se conoce como un "bloqueador de ventanas emergentes". Es posible que su aplicación cree pantallas adicionales para mostrar la información que el usuario ha solicitado. Si esto ocurre, el navegador podría pensar que estas nuevas pantallas son anuncios y tratar de bloquearlas. Si esto sucede, el usuario deberá especificar en los navegadores que se permitirán las ventanas emergentes del sitio web de la aplicación. Las cookies son pequeños archivos creados por navegadores web para registrar información sobre sesiones de usuarios. Los navegadores web se pueden configurar para deshabilitar las cookies. Si su aplicación requiere que se creen cookies en la máquina de escritorio del usuario, entonces los usuarios deben configurar sus navegadores para permitirlos. HACKING La piratería es la actividad de encontrar debilidades en software, redes o sistemas informáticos. Cada computadora que está conectada a una red es un objetivo potencial de piratería. Si su aplicación se ejecuta en un servidor que está conectado a una red, entonces también es un objetivo potencial. Si su organización tiene un equipo de seguridad, la protección de su servidor será su responsabilidad. Dentro de los principales tipos de ataques se encuentran: inyección SQL, desbordamiento de búfer, suplantación de identidad, spear phishing, botnets, kit de raíz, virus, caballos de Troya, gusano, denegación de servicio (DOS) y denegación de servicio distribuida (DDOS). Por otra parte, un ataque de ingeniería social generalmente no tiene que involucrar alta tecnología. Es el arte de manipular a las personas para que den información que no debe revelarse. Por ejemplo cuando un hacker llama o envía un correo electrónico a un usuario y le dice que su cuenta tiene un problema y necesita ser corregida. La persona que llama solicita el ID y la contraseña del usuario para "solucionar" el problema. Los usuarios deben ser educados sobre lo que es la ingeniería social y cómo se podría utilizar para engañarlos y revelar información confidencial. Se les debe enseñar que los administradores de sistemas o aplicaciones no necesitan una contraseña de usuario para probar el sistema. Los administradores pueden crear cuentas de prueba o usar sus propias cuentas para fines de prueba. Esta capacitación debe repetirse periódicamente para garantizar que no se olvide. PRUEBAS No puede saber si su servidor de aplicaciones nuevo o existente es seguro si nunca se ha probado. Sería mejor someter a un servidor de control de calidad a pruebas de seguridad. Tenga en cuenta que incluso si el sistema de control de calidad es idéntico al sistema de producción, es casi seguro que haya algunas diferencias. Es difícil decir si esas diferencias representan una vulnerabilidad adicional. Las pruebas de penetración son "pruebas de seguridad en las que los evaluadores intentan eludir las características de seguridad de un sistema en función de su comprensión del diseño y la implementación del sistema". Los servidores que contienen información crítica deben ser probados por penetración. Las pruebas de pluma (penetración) no pueden relegarse a un nuevo empleado o pasante de verano. Debe hacerlo un profesional de TI capacitado con la experiencia y, lo que es más importante, la mentalidad de un hacker. Las pruebas de vulnerabilidad corresponden a hacer un escaneo que es realizado por una herramienta que ha diseñado para identificar vulnerabilidades conocidas en los servidores. Estas herramientas, llamadas Herramientas de Evaluación de Vulnerabilidad, automatizan los pasos que tomaría un hacker para explotar vulnerabilidades en un servidor. Las ventajas de crear una herramienta para automatizar estos pasos es que puede hacerlo más rápido, de manera más consistente y en múltiples servidores automáticamente. Los escaneos de vulnerabilidad deben realizarse en sus servidores en puntos específicos de sus vidas y a intervalos regulares. El resultado de un escaneo de vulnerabilidades no es una lista de verificación que le dice qué hacer para asegurar el servidor. Sus resultados requieren un examen intensivo en mano de obra por parte de un profesional de TI calificado para comprender completamente las vulnerabilidades que pueden existir o no. Los resultados generalmente incluyen numerosos falsos positivos, es decir, vulnerabilidades que realmente no existen. Si va a someter a sus servidores de aplicaciones a pruebas de penetración y / o vulnerabilidad. Las pruebas no anunciadas son más realistas, ya que la mayoría de los piratas informáticos no llaman a las organizaciones por adelantado y brindan advertencias de que están a punto de ser atacadas.