Seguridad en Windows NT Cómo defender tu sistema ante ataques externos os riesgos relativos a la seguridad son, en cualquier sistema operativo, una asignatura pendiente. Desafortunadamente, en un sistema como Windows NT, que está en rápida y continua evolución, estos riesgos se incrementan debido a que no se deja el tiempo necesario para que una versión se asiente, es decir, para que aparezcan todos los bugs que escaparon al análisis inicial. El peligro llega a su punto culminante cuando estamos usando NT como servidor conectado a Internet, una ventana abierta a millones de usuarios bienintencionados y unos pocos miles que no lo son tanto. Sería demasiado pretencioso el intentar, en estas pocas páginas, dar un repaso completo al asunto de la seguridad en NT; lo que sí podemos hacer es abordar las cuestiones generales. Algo así como el «abc» de lo que un administrador de NT tiene que considerar a la hora de plantearse la seguridad de su sistema. L Para empezar, deberíamos pararnos un momento y plantearnos las siguientes cuestiones: 1. Quién está autorizado a utilizar el sistema. 2. Cuándo y dónde (o más bien, desde dónde) se puede usar. 3. Qué están acreditados a hacer los usuarios, gru pos y procesos. 4. Qué reglas tenemos en NT para autorizar el acceso. 5. Qué procedimientos existen en NT para controlar o, en algunos casos, impedir el acceso. 6. Qué métodos hay para el acceso, tanto local como remoto. 7. Qué procedimientos y herramientas tenemos para monitorizar el sistema. 8. Qué protocolos están funcionando en nuestro sistema, qué servicios están dando y por qué puertos sirven los requerimientos. Una vez hecho esto, tendremos un prediseño de nuestra política de seguridad y podremos pasar a una fase más activa. Una buena manera sería comenzar por acciones como las siguientes: 1. Limitar el número de cuentas de usuario en el sistema. Borrar usuarios inactivos. 2. Asegurarse de que al menos los usuarios con privilegios eligen bien sus passwords y las cambian frecuentemente. 3. En la lista que proporciona el Service Manager, desactivar todos los servicios que no se vayan a utilizar. 4. Analizar los logs del sistema y de los servicios con asiduidad. 5. Servirnos de herramientas que nos faciliten esta tarea, como el Internet Security Scanner (www.iss.com). 6. Mantenerse al tanto, a través de Internet, de novedades en herramientas, bugs, etc. rativo no está centralizada, sino distribuida entre los objetos que lo componen. NT gestiona la seguridad de estos a través de las funciones integradas en la Win32API, que establece cinco tipos de objetos diferentes: 1. Objetos del sistema de ficheros: Comprende los archivos y directorios que se encuentran almacenados sobre particiones NTFS. 2. Objetos de la sesión: Son los objetos de escritorio y las ventanas, cuya gestión se realiza exclusivamente en la memoria y nunca son almacenados en el sistema de ficheros. 3. Objetos del núcleo: Son los procesos, hilos, semáforos, etc. que existen en modo kernel. No son accesibles desde modo usuario y, al igual que los objetos de sesión, se gestionan exclusivamente en memoria. 4. Objetos de los servicios: También se gestionan en la memoria y su administrador es el SMC (Service Control Manager). Los objetos de servicio en nuestro sistema están accesibles a través del icono «Services» desde el «Control Panel». Seguridad de los objetos Un objeto en NT es cada uno de los componentes del sistema: ficheros, directorios, dispositivos, etc., de tal forma que la seguridad en este sistema ope - 5. Objetos de las aplicaciones: Son los que vienen implementados con las aplicaciones instaladas en nuestro sistema. Pueden implementar sus propios sistemas de seguridad o utilizar los de Windows Seguridad en Windows NT Cómo defender tu sistema ante ataques externos NT a través de la Win32API. Su información sobre seguridad se guarda en el Registro ( registry). Cada uno de los objetos está asignado a un usuario, y es el propietario el que puede cambiar los permisos de uno de ellos. La información sobre los permisos y la seguridad se almacena con el propio objeto. Los objetos a los que podemos acceder directamente y que son de igual forma modificables son los del sistema de ficheros. Para visualizarlos y cambiarlos podemos acceder a «Permisos/seguridad» desde el menú que aparece al pulsar con el botón derecho del ratón sobre el fichero, en el «Administrador de Archivos». Normalmente, un filesystem contiene un gran número de archivos, lo que hace impracticable examinar los permisos de ficheros y directorios uno a uno. Las causas por las que uno de ellos puede tener un conjunto de permisos erróneo pueden ser tan simples como que haya sido copiado a un directorio, lo que hace que herede los per misos de éste. Pongámonos en el tan habitual caso de hacer una copia de un fichero a un directorio tempo ral para trabajar con él. El motivo de hacer esto es asegurarse de que si ocurre cualquier acci dente se pueda estropear la copia, pero no el fichero original. El directorio temporal tendrá, probablemente, permisos de control total para el grupo Everyone, que es cualquier usuario del sistema. Para controlar el manejo de permisos al realizar estas operaciones, hay que tener en cuenta que «copia» implica que el fichero hereda los permisos del directorio destino, mientras que «mover» los conserva. Seguridad en servicios Internet Windows NT es un sistema bastante cómodo de administrar como servidor Internet. Si lo utilizamos con, por ejemplo, Internet Information Server para dar servicio de Web a través de Internet, hay una serie de puntos que pueden aumentar la seguridad del sistema: 1. Desactivar la creación de recursos compartidos. 2. Utilizar sistemas de ficheros NTFS y borrar el acceso E v e r y o n e, e x c e p t o p a r a l o s d i r e c t o r i o s y f i c h eros que forman parte de los documentos web. Para esos ficheros y directorios, establecer permisos de sólo lectura. 3. Deshabilitar todos los puertos que no vayan a dar servicio. Si sólo vamos a dar servicio de Web, el único puerto necesario es el 80. 4. Utilizar máquinas de seguridad ( f i r e w a l l s, p r o x i e s, r o u t e r s) , s o b r e t o d o s i e l s e r v i d o r e s p a r t e d e nuestra intranet. Algunos de estos productos software disponibles para Windows NT, junto con las URLs donde se puede encontrar información sobre los mismos, son los siguientes: FireWall/Plus www.network-1.com Interware www.consensys.com KyberPASS www.kyberpass.com Open Sesame www.csm-usa.com/sesame.htm SessionWall www.AbirNet.com Firewall-1 www.checkpoint.com Firewall for NT www.securecomputing.com Guardian www.ntguard.com AltaVista FireWall http://altavista.software.digital.com/firewall/index.htm Microsoft Proxy Server 2.0 www.microsoft.com/proxy/default.asp WinGate www.wingate.com 5. Utilizar las últimas versiones de Service Pack. Si Windows NT es nuestro servidor de Web, de FTP o de cualquier otro servicio Internet, la recomendación, siempre que nos sea posible, es utilizarlo exclu sivamente para eso. Sería demasiado arriesgado tener usuarios en esa máquina o datos a los que no queremos que se acceda desde fuera de nuestra organización. Para saber si un usuario tiene acceso a un fiche ro, miraremos si en la lista de permisos aparece el nombre del usuario o alguno de los grupos a los que pertenezca marcado como «Sin acceso». En este caso, el usuario no podrá acceder al fichero aunque alguna de las otras reglas se lo permitan. Para saber el tipo de acceso que tiene un usuario sobre un fichero es necesario sumar sus permisos sobre el mismo a los que tenga sobre el de cada uno de los grupos a los que pertenezca. Los tipos de acceso sobre ficheros son los siguientes: 1. Sin acceso: El usuario no podrá acceder al fichero. 2. Lectura (R): El usuario podrá leer el fichero. 3. Escritura (W): El usuario podrá modificar el fichero. 4. Ejecución (X): El usuario podrá ejecutar el fichero en el caso de que éste sea ejecutable. 5. Borrado (D): El usuario podrá eliminar el fichero. 6. Cambio de permisos (P): El usuario podrá modificar los permisos del fichero. 7. Toma de propiedad (O): El usuario podrá hacerse propietario del fichero. Con las opciones «No access», «Read», «Change», «Full control» y «Special access» del menú de per misos, podemos establecer el conjunto de autorizaciones de los usuarios sobre un determinado fichero. En los permisos sobre directorios, debemos tener en cuenta el acceso sobre los elementos (ficheros y subdirectorios) que se encuentran en él. Los tipos de acceso sobre directorios son los siguientes: 1. Sin acceso: El usuario no podrá acceder al directorio. 2. Lectura (R): El usuario podrá listar el contenido del directorio. 3. Escritura (W): El usuario podrá añadir ficheros y subdirectorios. 4. Ejecución (X): El usuario podrá cambiar a los subdirectorios. 5. Borrado (D): El usuario podrá eliminar ficheros y subdirectorios. 6. Cambio de permisos (P): El usuario podrá modificar los permisos de ficheros y subdirectorios. 7. Toma de propiedad (O): El usuario podrá hacerse propietario de ficheros y subdirectorios. Con las opciones «No access», «List», «Read», «Add», «Add & Read», «Change», «Full control», «Special directory access» y «Special file access» del menú de permisos, podemos establecer el con junto de autorizaciones que tienen los usuarios sobre un determinado directorio y sobre los fiche ros y subdirectorios que contiene. Seguridad en Windows NT Cómo defender tu sistema ante ataques externos También algunos visualizadores de documentos PostScript o los ficheros de Help de Windows pueden realizar estas acciones, así como los browsers de páginas HTML. Todo esto confiere a las aplicaciones y al sistema operativo en general una indudable potencia, pero también es una vía de entrada muy cómoda para los denominados caballos de Troya, es decir, programas que se ejecutan sin conocimiento del usuario, y que realizan operaciones no requeridas explícitamente por éste. Respecto a la propiedad de los objetos en general, hay que señalar que no existe un mecanismo para hacer propietario a otro usuario. La forma de ceder la propiedad implica cambiar los permisos de un objeto a «Full Control» y que sea el usuario el que se haga propietario. Las macros Existen muchos programas de aplicación del estilo del Microsoft Word, Excel, Access, etc., que con tienen lenguajes de construcción de macros muy potentes capaces, entre otras cosas, de realizar operaciones de entrada/salida con ficheros, hacer llamadas a funciones de Win32API, etc. Además, esta característica se puede configurar para que sea automática y, por ejemplo, hacer que las macros se ejecuten en el momento en que se abra el documento. —Encriptar los datos en disco: existen drivers que hacen que una sola instalación de Windows NT posea la clave para poder descifrar los datos en disco. 2. A través de la red. La red es un medio de comunicación fácilmen te accesible y difícilmente controlable. Por ella viajan datos de todo tipo entre las máquinas conectadas. Para preservar la seguridad en la red podemos implementar mecanismos como los siguientes: El acceso físico a los datos Los datos confidenciales cuya visualización está permitida sólo a un número reducido de usuarios, pueden ser protegidos por el administrador o por los usuarios con acceso utilizando las herramientas del propio Windows NT o de las aplicaciones (contraseñas, permisos, etc.). Pero, naturalmente, esta protección es efectiva mientras están siendo controlados por el sistema operativo. No hay que olvidar que los datos están ahí, y que pueden ser accedidos a espaldas del mismo con métodos tan sencillos como los siguientes: 1. Arrancando la máquina desde una unidad distinta de la del sistema. El propietario de esa unidad es el titular del sistema operativo contenido en ella y de todas las uni dades locales accesibles desde la misma. Para combatir este posible agujero en la seguridad, se pueden tomar diversas medidas, entre las que se cuentan: —Mantener los servidores en un lugar físicamente seguro, no accesible a personas sin autorización. —Eliminar, bien a nivel de BIOS o de hardware, la posibilidad de arranque desde disquete o CD-ROM. Seguridad en conexiones a Internet Microsoft contribuye a la seguridad en las conexiones vía Internet. Junto con otras empresas y organi zaciones, se ha creado en los últimos años todo un conjunto de protocolos seguros agrupados bajo la d e n o m i n a c i ó n I S F ( I n t e r n e t S e c u r i t y F r a m e w o r k). Dentro de los protocolos ISF, podemos reseñar los siguientes: 1. SET (S e c u r e E l e c t r o n i c T r a n s a c t i o n): Este protocolo fue creado para garantizar las transacciones seguras entre clientes y vendedores cuando se utilizan tarjetas de crédito. Está provisto de fuertes medidas de autentificación y confidencialidad. 2. SSL (S e c u r e S o c k e t s L a y e r ): Es un protocolo utilizado para conectarse a los denominados «servido res seguros». Implementa sistemas de autentificación de máquinas así como mecanismos de encrip tación e integridad de los datos. 3. PPTP (Point to Point Tunneling Protocol ): Mediante la creación de conexiones virtuales, se usa para implementar la seguridad sobre líneas públicas no protegidas. 4. PFX (P e r s o n a l I n f o r m a t i o n e X c h a n g e) : D i s e ñ a d o p a r a p e r m i t i r e l i n t e r c a m b i o d e i n f o r m a c i ó n d e autentificación (claves, certificados, etc.) entre una plataforma y otra. —Llevar una buena política de passwords, es decir, que no sean fáciles de adivinar y que se cam bien frecuentemente. —Usar hardware o software de encriptación de comunicaciones para que no puedan ser captu radas leyendo directamente la red con un anali zador. —Usar software de monitorización de la red capaz de detectar la presencia de elementos no controlados conectados a ella. 3. Accediendo a copias externas de los datos. Volcados, backups y salidas de impresora pue den proveer de información a personas no auto rizadas. Para controlarlo, algunas acciones a tomar serían: —Guardar en sitio seguro el resultado de backups y volcados. —Destruir las copias impresas cuando se vuel ven inservibles. —Controlar las unidades de backup. Si la unidad donde se realiza éste es utilizada por los usua rios, éstos pueden acceder a los backups en los períodos anteriores y posteriores a la realiza ción del mismo. Autentificación de sesiones Ciñéndonos a lo que es puramente NT, el proceso de logon al sistema lleva implícito su mecanismo de validación de usuarios. Un dominio NT es tratado como un conjunto de máquinas que comparten una única base de datos de seguridad, que se administra desde el PDC (Primary Domain Controller). Dicha base Seguridad en Windows NT Ataques externos de datos guarda toda la información relativa a los usuarios y grupos del dominio. La herramienta que Windows NT proporcio na para la gestión de usuarios, tanto de máquinas como de dominios, es «usrmgr.exe». Esta aplicación gestiona a los usuarios basándose en su SID ( Security Identifier) que es un valor único para cada usua rio del sistema. Conéctat e Conclusión La seguridad en Windows NT se traduce en un conjunto de técnicas orientadas a alcanzar un nivel de protección razonable en tres vertientes: red, sistema operativo y datos. Esta protección intenta prevenir dos cosas: accesos no deseados y accidentes. En dichas técnicas intervienen muchos más factores de los que se podrían atribuir directa mente a Windows NT, y el punto de partida será siempre la seguridad física de las máqui nas, elementos de red y soportes de datos, tan to magnéticos como de otro tipo. www.pc-actual.com El responsable de seguridad del sistema debe ocuparse no sólo de diseñar e implantar el régimen de seguridad, sino de mante nerlo al día informándose de las nuevas herramientas y técnicas que aparecen perió dicamente. Probablemente, el método más rápido y directo para estar al día en cuestiones de seguridad nos lo proporciona Internet, conectándonos vía http a URL tales como www.microsoft.com/security o w w w . n t s e c u❑ rity.net.