|
|
Este documento está disponible en los siguientes idiomas: English Castellano ChineseGB Deutsch Francais Italiano Nederlands Portugues Russian Turkce |
por Georges Tarbouriech <georges.t(at)linuxfocus.org> Sobre el autor: Georges es un viejo usuario de Unix. El agradece a la comunidad del Software Libre por proporcionarnos muchas valiosas herramientas de seguridad. Taducido al español por: Leo Trujillo (homepage) Contenidos: |
Resumen:
Este artículo fue publicado primeramente en una publicación especial de Linux Magazine France enfocada en la seguridad. El editor, los autores, y traductores amablemente permitieron que LinuxFocus publique cada artículo de esta edición especial. Como consecuencia, LinuxFocus le brindará a usted dichos artículos tan pronto como estén disponibles en Inglés. Gracias a toda la gente involucrada en este trabajo. Este resumen se reproducirá por cada artículo que tenga el mismo origen.
La seguridad en las redes de computadoras es probablemente uno de los más
grandes retos de este siglo 21.
Sin embargo, como en muchos temas de interes, todo mundo habla sobre esto, pero
los que deberían de sentirse más afectados no parecen haber detectado la escala
potencial de desastre. Los "más afectados" naturalmente, son los principales
editores de software o de sistemas. El mejor ejemplo, de nuevo, viene de
Redmond, donde la seguridad parece ser un mundo, por lo menos mucho menos "bajo
control" que el marketing, por ejemplo.
Afortunadamente, en las dos últimas décadas del siglo 20 hemos visto el
nacimiento del Software Libre (Free Software) y la filosofía que viene con él.
Si usted "desea" mejorar la seguridad de sus máquinas, sus sistemas, sus
redes... aqui es donde usted tendrá que buscar. La comunidad del Software Libre
ha hecho mucho más acerca de la seguridad que todos los grandes editores juntos.
Ya se ha dicho, las herramientas no lo hacen todo, y la seguridad de una red,
por ejemplo, es casi un trabajo permanente : ¡ todo cambia en todo momento !
Esto significa que usted nunca será capaz de decir que una red es 100% segura.
Puede solamente reducir los riegos. Lo que mostramos aquí, es solamente una
pequeña parte de lo que puede hacer para reducir los riesgos. Después de leer
esta edición especial (Nota del Autor : recuerde, este artículo era parte de la
edición especial de Linux Magazine France enfocada a la seguridad), conocerá un
poco más acerca de la seguridad, pero de ninguna manera podrá decir que su red
es segura. Usted ya está advertido.
Por último pero no menos importante : un artículo jamás será exhaustivo. Hay
mucha literatura sobre el tema y se está lejos de tener resuelto el problema.
Por tanto, no espere que este artículo mencione todo, en relación a Sistemas
Operativos, herramientas, configuración, uso... que son de interés.
Para finalizar esta introducción, añadimos que algunas partes de este artículo
son prestados de LinuxFocus, pero no se preocupe, con el consentimiento de los
autores.
Primero, hablaremos acerca de la estructura de una red muy heterogenea,
conteniendo sistemas más o menos extendidos. Mientras más Sistemas Operativos,
mayor es la complejidad, ya que estos sistemas no son iguales al frente de la
adversidad... Además, las máquinas usadas como servidores deberían tener
distintas funciones en la red : trataremos de diversificar sus asignaciones.
Siguiente, trataremos un rango de herramientas esenciales para mejorar la
seguridad. La elección será arbitraria : hay demasiadas herramientas para
siquiera mencionarlas a todas ellas.
Obviamente, explicaremos cómo asegurar las máquinas y las redes con estas
herramientas.
El siguiente capítulo repasará las características de diferentes sistemas
durante la etapa de seguridad.
La conclusión tratará de explicar la "relatividad" de los procesos de seguridad,
para mostrar cómo el camino es largo, sin "sumergirse" dentro de la futurología.
Como una primer ventaja, el protocolo TCP/IP es "hablado" por todos los
Sistemas Operativos en la Tierra.
Así, cada sistema diferente es capaz de comunicarse con otros, para
intercambiar. Conforme a la red que usaremos como ejemplo, TCP/IP siempre estará
presente. En otras palabras, no mencionaremos los protocolos propietarios, los
menos extendidos u obsoletos. Ni hablaremos de la estructura física, es decir el
tipo de conección, la categoría, etc.
Entonces, en esta red, pondremos un poco de todo. Claro esta, encontraremos
Unix, proprietario o Libre : por ejemplo, un poco de Solaris 2.6, o SunOS 5.6,
si prefiere, un poco de Irix 6.5, Linux (RH 6.2), MacOS X. Podriamos agregar un
poquito de QNX o NeXTSTEP, NetBSD o OpenBSD. Del lado "convencional"
incluiremos el único y solitario No Terminado 4.0 (Not Terminated) (no, no es
cualquier otro, pero son los peores). Aquí también, podríamos agregar OS2 el
cual es el menos peor. Por último, agregaremos un poco de esos "no
convencionales", digamos que BeOS y AmigaOS (sí, aún existen... bueno, ¡ no
muchos realmente !)
Como no, algunos de ustedes se quejarán : y, ¿ no hay AIX, ni HP-UX ? ¡ No !
Si nosotros pudieramos mencionar cada Unix, tendríamos un artículo de 10
volúmenes.
No obstante, las reglas de la seguridad básica son aplicables a todos los
sistemas.
Ahora, ¿ qué indagaremos acerca de ellos ?
Por ejemplo, diremos que Solaris será un servidor de aplicaciones. Irix
administrará los respaldos. NT será otro servidor de aplicaciones. Linux sera un
gateway.
Otra instalación Linux será un servidor http o un servidor de base de datos. Y
todas las demás máquinas serán clientes. Consideraremos que esta red contiene
cerca de 30 máquinas usando autentificación de archivos. Podriamos haber
seleccionado una autentificación más sofisticada : NIS (páginas amarillas) o
LDAP o Kerberos...
¡ Hagamos las cosas simples ! Tampoco usaremos NFS. Aún si pudiera ser útil,
cuando la seguridad es una preocupación, lo mejor es olvidarlo, a pesar de
algunas mejoras.
En Francia, la gente mayor, acostumbra decir "no pongas todos los huevos en la
misma cesta". Luego, los "inciertos" pero necesarios, servicios o protocolos
estarán presentes una única vez, en máquinas que no hacen nada más que eso...
Por ejemplo, un único servidor ftp, un servidor http, preferentemente en
máquinas Unix. Algunas máquinas Unix serán servidores SSH mientras que otras
serán clientes SSH. Retornaremos a esto más tarde. Usaremos direcciones IP
estáticas : y no DHCP. En otras palabras, ¡ nos quedaremos en lo básico !
Esto, claro esta, puede ser aplicado a una red de 50 máquinas : con muchas más
máquinas, esto podría ser una pesadilla.
Como es usual, siempre hay más de una manera de hacerlo (TIMTOWDI). El caso ideal sería iniciar desde cero, con máquinas para instalar y una red para configurar. Pero ¡ esto solo es cierto en las películas ! Consecuentemente, consideraremos una red ya existente, con máquinas que se mueven de un lugar a otro, la llegada de otra nuevas, etc. Debido a la "velocidad" en Mhz, por ejemplo, hoy las máuinas Intel no duran mucho. Después de cerca de 3 años, es muy dificil encontrar piezas de repuesto. De esta manera, usted puede reciclar las máquinas a la sucursal o logra deshacerse de ellas : ¡ esto es triste pero es verdad ! Afortunadamente, algunas otras merecen ser mejoradas. No crea que esto en un off topic : un administrador debe mantener en alto la disponibilidad.
Las bases
Podríamos llamarle "generalidades" al primer paso de el trabajo. Consiste de
eliminar todo lo inútil de cada máquina : lo cual no es una tarea "ligera" !
Cada Sistema operativo, incluido Unix, instalan un increible número de
servicios, protocolos, que nuca usará. La palabra maestra es : ¡ echelos a todos
fuera ! Bajo Unix, un simple... una forma es comentar cada cosa en
/etc/inetd.conf. Esto hace tener un poco menos de servicios.
Naturalmente, esto es un poco exagerado, pero en muchas máquinas esto es
perfectamente aceptable. Dependiendo de sus necesidades. Bajo Linux y algunos
and otros usted puede también usar el comando chkconfig para
desactivar algunos servicios.
También revise en los archivos los SUID/SGID y no vacile en quitar el
bit "culpable" o en desactivar el programa. Un comando como :
find / -user root -a \( -perm -4000 -o -perm -2000 \) -print le dará
la lista de esos archivos. Para remover el bit "s", escriba chmod a-s
nombreprograma.
Remueva los programas "peligrosos" o los que se conozca su "riesgo" : los comandos remotos
tales como rsh, rlogin, rcp... por ejemplo. SSH los reemplazará perfectamente a estos.
Revise los permisos de los directorios como /etc, /var... Entre más restrictivo mejor.
Por ejemplo, un comando como chmod -R 700 en el directorio que contiene
los archivos de inicio (/etc/rc.d/init.d en muchos Unixes) no es mala idea.
Las mismas reglas se aplican a todos los sistemas que son parte de la red : elimine lo que no use
o, al menos, desactivelo. Para NT, sientase libre de detener un máximo de
servicios desde el panel de control. Hya muchas "cosas" básicas por hacer
y hay mucha literatura sobre el tema.
Iniciemos con Unix, dado que aqui hay que tomar encuenta reales problemas de seguridad. Segundo, Hay una gran cantidad de software libre de calidad y muchas de ellas trabajan en varios sabores de Unix.
Por ahora, trabajaremos en las máquinas individuales dado que la seguridad de una red significa, después de todo, asegurar estos elementos. La instalación de estas herramientas es muy básica, por lo que no perderemos mucho tiempo en este asunto. Sus parámetros también dependen de los sistemas, lo necesario... Verá como aplicar esto a su propio caso. La primer herramienta requerida es llamada shadow utils. Esto significa encriptacón de passwords. Afortunadamente, es parte de muchas distribuciones Unix. El archivo /etc/shadow es entonces "creado" desde /etc/passwd.
Aún mejor, PAM (Pluggable Authentication Modules) permite reestringir a los usarios por servicio. Todo es administrado desde el directorio que contiene los archivos de configuración para cada servicio concerniente, usualmente /etc/pam.d. Muchos servicios pueden ser "manejados" por PAM, tales como ftp, login, xdm, etc, permitiendo al administrador elegir que derechos para hacer qué.
La siguiente herramienta que es un deber tener : TCPWrapper . También trabaja en cada sabor de Unix o casi. Para hacerlo breve, permite reestringir el acceso a los servicios a algunos hosts. Estos hosts son permitidos o denegados usando estos archivos : /etc/hosts.allow y /etc/hosts.deny. TCPWrapper puede ser configurado de dos maneras : ya sea como demonio o selecionandolo en el archivo /etc/inetd.conf. Después, veremos que TCPWrapper trabajará bien en conjunción con otras herramientas. Usted encontrará TCPWrapper en ftp://ftp.porcupine.org/pub/security
Otra interesante herramienta es xinetd. Otra vez, expliquemos brevemente, xinetd es un reemplazo para inetd. Según lo sobre dicho sobre inetd, nosotros no insistiremos. Si está interesado, lo encontrará en http://www.xinetd.org.
Bajo Linux, hay una herramienta sin la que usted no puede vivir : es llamada Bastille-Linux. La encontrará en http://www.bastille-linux.org. Esta herramienta, escrita en Perl, no solamente es didactica sino que también muy eficiente. Después de ejecutar un script, usted contesta a muchas preguntas y Bastille-Linux actúa por consiguiente. Cada pregunta esta explicada y respuestas por defecto son proporcionadas. Usted puede deshacer los cambios, iniciar una nueva configuración, revisar que se ha hecho... ¡ Eso es todo ! También ofrece una configuración del firewall : regresaremos a esto más tarde. Al momento de escribir esto, Bastille-Linux está en su versión 1.1.1, pero la versión 1.2.0 también esta disponible como versión candidato. Ha mejorado mucho, y provee una GUI basada en Tk y su módulo Perl. (Nota del autor : este artículo fue escrito hace muchos meses. Y naturalmente, la presente versión de Bastille-Linux es la 1.3.0).
Los sistemas de detección de intrusos también son esenciales. Los dos "heavywheight" son llamados snort y portsentry. El primero puede ser descargado desde http://www.snort.org y el segundo de uno de los sitios web de Abacus, http://www.psionic.com. Dichas herramientas no pueden ser comparadas : la primera es un NIDS (Network Intrusion Detection System - sistema de detección de intrusos) principalmente proporciona información, mientras la segunda puede ser considerada como orientada a la máquina y más activa. snort tiene muchísimas opciones que permiten supervisar el tráfico en la red. Puede listar todo lo que desee : entradas, salidas, dentro y fuera del firewall. Naturalmente, ¡ puede crear registros enormes, pero usted debe saber lo que desea ! Una versión para Win 32, lo que es importante si consideramos el número de herraminetas libres disponibles en estos "sistemas".
portsentry tiene una característica interesante : puede bloquear los puertos escaneados a su elección. redireccionar al atacante a una dirección inusitada de la red o redirigiro al cortafuego. Ciertamente, usted uede seleccionar que bloquear y que no. Ahora podemos regresar al tema de TCPWrapper : portsentry es capaz de escribir dentro del archivo /etc/hosts.deny si asi lo desea. Así, portsentry llega a ser absolutamente eficiente. No entraremos en debate acerca de la filosofía de portsentry que consiste en el enlace de puerto. Pruebelo : haga su elección después de profundizar en el tema. También se le advierte que portsentry puede hacer a una máquina "invisible", lo cual no es nada malo ! Por último, portsentry puede usar diferentes modos de operación, el más avanzado será "reservado" para Linux (al menos por ahora).
No podemos hablar acerca de la seguridad sin mencionar la encriptación.
Sin embargo, la ley al respecto, es diferente de un país a otro y alguna veces
es completamente prohibido.
Nota del autor : la siguinete sección ha sido eliminada de la versión en inglés
del artículo ya que solamente concierne a las leyes de Francia.
Conclusión : si en su país se permite la encriptación, instale clientes y servidores ssh
en sus máquinas Unix (bueno, según sus necesidades !).
Para finalizar con las herramientas Unix, mencionemos las que pertenecen
a los Unixes propietarios. Bajo Solaris, usted tiene ndd, aset; bajo Irix, puede usar ipfilterd.
MacOS X provee sus propias herramientas libres : ssh, ipfwadm...
Regresaremos a esto después.
Ahora, vamos hablar del primero y único (afortunadamente!) No terminado 4.0 Aquí no podemos hablar sobre herramientas libres... sin embargo, el hombre de Redmond nos provee de material "libre" para mejorar las características del sistema (nada que hacer con la corrección de bugs puesto que no hay bugs!). Referente a seguridad, el NT 4,0 es un modelo... de incongruencia. ¡Es un poco como un tamiz! Nada en mente. Por consiguiente, usted apenas tiene que descargar el paquete más reciente del servicio (6 a la hora de esta escritura) y el HotFixes... que son remiendos de la seguridad. ... usted puede conseguir después algunas herramientas libres (en el significado libre de disponible y sin el código fuente). Ése es todo.
Para otras herramientas usted tendrá que buscar. Para AmigaOS,
el desarrollo no parece motivar a mucha gente y la capa de TCP/IP es un poco vieja.
Sin embargo, el Dominio Público sigue allí manteniendose ocupado.
Referente a BeOS, las cosas no son mejores: este gran OS que parece tener un futuro
muy comprometido y la capa de red llamada Bone todavía está siendo trabaja.
(Nota del autor : desafortunadamente, ahora BeOS no existe más.
Algunas personas intentan mantenerlo vivo como un producto de software libre...
y ellos hacen un trabajo muy bueno.)
Pero allí también, usted encontrará algunas herramientas del mundo de Unix para
mejorar las cosas.
Ahora, ¡ usted tendrá que configurar todo esto ! Una vez más, considere que cada máquina Unix esta "equipada" con shadow-utils, PAM, TCPWrapper, y que cada servicio no necesario ha sido detenido o eliminado, que los permisos han sido endurecidos en los directorios "sensibles", etc.
En las máquinas Linux, es tiempo de iniciar Bastille-Linux. (Esta herramienta debería
funcionar en muchas distribuciones Linux, sin embargo, originalmente ha sido diseñada
para RedHat y Mandrake). Sientase libre de responder la preguntas de una manera muy
restrictiva.
En una maqúina Linux usada como un gateway, el sistema debería ser "minimalista".
Usted puede eliminar muchos de los servicios : http, ftp, etc. Elimine X11 : ¡ No es
necesario !
Remueva el software no necesario... esto es, casi todo. Detenga los demonios no
utilizados. Usted debería obtener un sistema donde un comando ps ax
podría no sentir la pantalla de la consola. Si usa Enmascaramiento de IP,
el comando lsof -i deberia desplegar una línea :
la concerniente alistado del servidor (supnemos que es una conección no permanente).
Arbitrariamente, instalaremos portsentry en las máquinas Linux y será lanzada
en el tiempo de inicio, usando el modo "avanzado" (reservado para Linux, esto es las
opciones -atcp y -audp options). Esto implica que TCPWrapper y un firewall han
sido instalados. Regresaremos a estos más tarde.
Para Solaris, usaremos los comandos aset y ndd. Más de esto después. portsentry será instalado también. Podemos agregar IP Filter y reemplazar la versión estándar de RPCbind con la versión 2.1 disponible en porcupine.org. Para Irix, selecionaremos ipfilterd para filtro de paquetes como el nombre lo indica. Es parte de las distribuciones Irix pero no se instala por defecto.
Concerniente a NT, las cosas se tornan más complicadas... La solución "fascista" consiste en bloquear los puertos 137 y 139, que es el famoso NetBIOS (o aún mejor removiendo NetBIOS)... but there is no network left (esa es la red Windos) ¡ puede ser un pequeño problema cuando se refiere a un servidor de aplicaciones ! Usted puede instalar snort pero no evitará que esas máquinas sean como tamices. Por consiguiente, tendrá que ser muy restrictivo sobre el acceso de la partición, acceso de directorio... tan pronto como trabaje con las particiones NTFS, por supuesto. Hay un programa disponible libremente para salir librado de la cuenta huésped pero el código de fuente no está disponible. ¡Entonces, instale todos los remiendos de la seguridad que usted puede encontrar! Por último pero no menos importante, pliegue sus mangas e intente hacer esa cosa menos vulnerable. Es un poco como ir un curso de asalto pero es obligatorio.
Para los "exóticos" Sistemas Operativos, tendrá que buscar y elegir. Como es usual, y después de todo, las reglas básicas deberían aplicarse : mientras menos número de servicios activos, mejor.
Si los hosts han sido "preparados" correctamente, usted esta a la mitad del camino. Pero necesitará ir más lejos. Puesto que estamos hablando de software libre, elegiremos un firewall libre para el gateway: bien, es la máquina que permitiendo que usted tenga acceso al mundo "salvaje". Arbitrariamente (otra vez!) utilizamos una caja de Linux: podemos utilizar el cortafuego de Bastille-Linux. Trabaja con ipchains o ipfwadm de acuerdo a su versión del núcleo. Si utiliza un núcleo 2,4, trabajará con iptables.
Una pequeña digresión: no es una buena idea tener todos los problemas iniciales a tolerar, cuando la seguridad es una preocupación. La "raza" de la última versión del núcleo puede conducir a una situación muy negativa. Esto no significa que el trabajo sobre el nuevo núcleo no es bueno, sin embargo, la "unión" con las herramientas existentes, no diseñadas para trabajar sobre el nuevo kernel puede ser un error grande. Un consejo: ¡sea paciente! La herramienta nueva del cortafuego, parte del núcleo 2,4 es muy prometedora pero probablemente un poco "joven"...
Luego, el firewall Bastille-Linux es tanto sencillo como eficiente. Sin embargo, hay muchas herramientas muy elaboradas, un poco asi como una "fabrica de gasolina", llamada T.REX. Está disponible desde http://www.opensourcefirewall.com. Si busca una herramienta sofisticada y libre, ese es el lugar.
Otras soluciones existen, por ejemplo proxys, no obstante no son siempre mejores. Otra digresión: los proxys a menudo se llaman "cortafuegos". Sin embargo, son dos cosas muy diversas. Con los cortafuegos estamos hablando del paquete de uso de filtrado de paquetes y no proporciona método de la autentificación. Hay dos tipos de servidores poxy: aplicaciones o sockets. En breve, una aplicación proxy trabaja para usted administrando la comunicación y premitiendo a usuarios la autentificación. Esta es la razón por la cual necesita mucho más recursos que un cortafuego. Pero, repetidas veces, esta clase de herramientas protegen solamente un lapso de tiempo corto. Un cortafuego puede ser "agrietado" en cerca de 15 minutos. ¿Es bueno saberlo, no? Por lo tanto la necesidad de asegurar correctamente los hosts en su red: ¡el decidir asegurar una red que confía solamente en un cortafuego o un proxy es un error!
Otro medio para reducir los riesgos en una red es el cifrado. Por ejemplo, usar telnet es como hacer caminos a los crakers en una alfombra roja. Es una manera de darles las llaves de la tienda. Pueden ver no sólo los datos que circulan, sino que incluso mejor, consiguen la contraseña en texto claro: ¿agradable, no? Por consiguiente, siéntase libre de utilizar ssh con los protocolos "inciertos" (o en vez de). Si usted DEBE (?) utilizar telnet, envíe los datos a través de una conexión segura. Es decir vuelva a dirigir telnet seguro. Encontrará más de esto en el artículo titulado "a través del túnel" ( English/May2001/article202.shtml). (¡ Comerciales gratis !)
Bien, nosotros tratamos de mejorar la seguridad, pero ahora debemos comprobar nuestro trabajo. Para hacer esto, seamos "crakers": utilizaremos sus herramientas. ¿Muy Feo, no? En esta área también, hay una colección agradable de programas, después, otra vez arbitrariamente, elegiremos dos de ellos: nmap y nessus. No hay redundancia, puesto que, por ejemplo, el segundo requiere al primero. Estas herramientas son exploradores de puertos, incluso si nessus es mucho más que esto. Este último le informa sobre las vulnerabilidades del sistema, comparando los resultados de exploración a su base de datos de las vulnerabilidades. El funcionamiento de estas herramientas en una red permitirá que usted descubra debilidades de cada host, aún del OS. Los resultados son muy reveladores así que son herramientas que debe tener. Usted encontrará el nmap http://www.insecure.org and nessus at http://www.nessus.org.
Desde el principio de este artículo estamos hablando acerca de la seguridad de una red local en la cual algunas máquinas se abrirán al mundo externo. Una caja del Proveedor de Servicios de Internet (Internet Service Provider) sería obviamente diferente y no conseguiremos muchos detalles del tema. Vamos a decir que todo lo que mencionamos todavía está disponible pero usted tendrá que utilizar mucho más métodos elaborados, tales como VPN (red privada virtual), LDAP para la autentificación (por ejemplo), etc. Es casi otro tema puesto que los apremios son mucho más numerosos según el caso. No hablamos de sitios de e-negocio, donde las cosas son imprudentes. ¡ Sitios seguros ellos ! No me diga... ¿Usted envía su número de la tarjeta de crédito a través de Internet? Si sí, usted es muy valeroso. Sugerencia: si usted puede leer francés de una mirada en este website http://www.kitetoa.com, it is worth it.
Según lo mencionado ya, los sistemas no son iguales delante del enemigo. Algunos tienen capacidades muy buenas mientras que otros son tamices. Paradójico (bueno, ¡ realmente no !), los OS libres está entre lo mejor. Los diversos BSDs (OpenBSD, NetBSD, FreeBSD...), los diversos Linuxes son mejor cuando la seguridad es una preocupación. Una vez más es el resultado del gran trabajo de la comunidad del software libre. Los otros, incluso los etiquetados como Unix, son un poco menos avanzados. ¡Cuando no son Unix, es mucho peor!
Todas las herramientas mencionadas en este artículo se han desarrollado
para OS libres. La mayoría de los sistemas propietarios Unix pueden beneficiarse
de ellos. Sin embargo, estos OS propietarios tienen a menudo sus propias
herramientas. Por ejemplo, referente a Solaris, mencionamos ndd y aset.
A pesar de una idea extensa, los sistemas de Sun no son modelos de seguridad.
Una herramienta tal como aset, permite mejorar las cosas por lo que a los
derechos de acceso se refiere. aset ofrece tres niveles de protección: bajo,
medio y alto. Usted puede ejecutarlos desde un shell o de una tarea cron. En una
red que era real a las 5pm puede llegar a ser falso a las 5.30pm. por lo tanto
el interés en comandos corrientes de una manera cíclica de guardar una cierta
homogeneidad. Esta es la razón por la cual aset tiene la capacidad de administración
de cron. Así, comprobará cada 30 minutos o cada hora, o lo que usted desea,
los permisos de los directorios, los archivos...
ndd, permite cambiar los parámetros del stack. Por ejemplo, puede ser utilizado
para ocultar las huellas digitales del sistema. Un sistema identificado es
más vulnerable, puesto que los crakers saben mejor dónde "pulsar".
Con ndd, usted puede cambiar el tamaño máximo del segmento de TCP (MSS).
Por defecto, este tamaño de id es de 536 bajo Solaris 2,6. El comando
ndd -set /dev/tcp tcp_mss_def 546 lo cambia a 546. El MSS más alto es,
el mejor (¡no demasiado!). Nmap, por ejemplo puede encontrar esta debilidad.
Usando ndd, usted cortó la tierra inferior de sus pies.
Si usted tiene máquinas ejecutando Solaris, siéntase libre de utilizar ndd.
Hay muchas opciones: compruebe la página man.
Puede también usar IP Filter, un paquete de herramientas de filtrado. Esta disponible
desde
ftp://coombs.anu.edu/pub/net/ip-filter.
Referente a Irix, hay aún más. En defensa de SGI (ex Silicon Graphics), como
dice el nombre, su sistema el primero diseñado para gráficos.
La seguridad no era la preocupación principal. Sin Necesidad de saber ninguna ley,
llegó a ser obligatorio proporcionar maneras de reducir los riesgos.
ipfilterd entonces fue proporcionado en las distribuciones de Irix, pero no es
instalado por defecto: ¡usted tendrá que buscarlo! ipfilterd, por supuesto se
utiliza para el filtrado de paquetes, así permitiendo negar el acceso a quién usted
desea. Confía en un archivo de configuración llamado ipfilterd.conf y aquí es
donde las cosas se hacen un poco difícil. La sintaxis de este archivo es algo
peculiar y no tiene gusto de espacios inesperados o de líneas vacías.
Así, para permitir a la máquina llamada "Marte" hablar con la máquina llamada
"Júpiter" (que es el sitio de trabajo de SGI), usted tendrá que mecanografiar
una línea que se parece a:
accept -i ec0 between jupiter mars.
Las máquinas no enumeradas en este archivo no podrán tener acceso a Júpiter.
Peor : ¡si usted no cambia el parámetro de
ipfilterd_inactive_behavior usando el systune, nadie tendrá acceso a la
máquina! ¿Eficiente, no? Este parámetro omite 1, y usted necesitará cambiarlo a 0
usando systune -i ipfilterd_inactive_behavior 0
Otra cosa bien conocida, mejor recordar, Irix tiene una "gran" vulnerabilidad,
llamada fam (monitor de la alteración de archivo). Este programa está a cargo de
una característica muy agradable, la comunicación entre los varios demonios.
Por ejemplo, permite obtener iconos hermosos en la carga del archivo.
Sin embargo, hay solamente una cosa que hacer: ¡desactívela! Triste, pero es así.
Para finalizar con los sistemas Unix, menionemos que QNX es muy vulnerable pero puede beneficiarse de las herramientas libres. Mac OS X ya provee algunas de estas herramientas.
Debemos hablar un poco de la absoluta referencia entre los sistemas de la red:
el primero y único NT 4.0. Asegurar esa cosa es una visión utópica, a pesar de
qué dice el Rey de Redmond (y de muchos otros). La simulación de un ataque con
nessus, por ejemplo, será una pesadilla. Por lo que si NetBIOS está activo,
nessus le proveerá a usted los nombres de cada máquina en el dominio con sus
usuarios correspondientes, incluyendo administradores. La respuesta es:
¡librese de NetBIOS! refuerce, pero según lo mencionado ya, ningún NetBIOS,
ninguna red... Usted tendrá que elegir su lado.
nessus le informará amablemente que puede registrarse como el guest con una sesión
NULA (que es con un nombre de usuario NULO y una contraseña NULA).
¡Quítelo, entonces! ¿Sí, pero cómo?
Así pues, reduzca el acceso a las particiones (NTFS), a los directorios.
Para la partición FAT... ninguna solución. Sin embargo, según el software que
usted utiliza puede necesitar particiones FAT: un cierto software no trabajará en
el extremo de NTFS. Para terminar, evita que funcione el gran IIS, especialmente
como ftp server. De hecho, no lo instale. Si hoy, muchas ISP son bastante
molestas de utilizar esa cosa, solo sugerir utilizar Apache en lugar de otro,
pero... No pasamos mucho tiempo en IIS, existe mucha de literatura en el tema.
De hecho, hay una manera de hacer que el tamiz se convierta en un filtro
(los agujeros son más pequeños!). El problema es que es una manera algo larga y
el compartimiento entero no sería suficiente. Mencionemos solamente el más
importante. Obviamente, el punto no es asegurar con software libre:
¡estamos hablando del mundo de Microsoft! La primera sugerencia es utilizar
MSCE (Editor de Configuración de Seguridad Microsoft) disponible en el ServicePack 4
con MMC (consola de administración Microsoft).
¡Sin embargo, tenga extremado cuidado! Puede incurrir en una equivocación.
Por supuesto, este software es una versión inglesa. Si usted utiliza una vesrión
extranjera (no inglés), del sistema será advertido que la mezcla de idiomas
nunca da resultados muy buenos en el mundo de Redmond.
Le han advertido. Después, entre las medidas requeridas, usted debe
"segurar" la cuenta del administrador, o aún desactivarla. Tome una mirada en
passprop disponible desde el SP 3.
También puede reforzar el uso de claves usando el dll passfilt a través del
regitro (Yo simepre creo que la gente que invento esa cosa fue bajo la influencia de LSD...).
Desactive la famosa cuenta guest. No es muy útil (ver más abajo),
pero hace que las cosas sean menos peores. Aún, puede restringir sus accesos
a los logs del registro. En "HKEY_LOCAL_MACHINE", cree las llaves
System\CurrentControlSet\Services\EventLog\Application, de Seguridad
y Sistema (estas dos últimas deberían reemplazar Application). Su nombre es
"RestrictGuestAccess", el tipo es REG_SZ y el valor es 1.
Puede encriptar el password con syskey. Cuidado, ¡ esta operación es
irreversible !
Por último buenas noticias : puede restringir el acceso guest. Otra vez,
esta relacionado con el registro, aún en "HKEY_LOCAL_MACHINE". Esta vez la llave es
llamada
System\CurrentControlSet\Control\Lsa. El nombre es
"RestrictAnonymous", el tipo "REG_DWORD" y el valor es 1.
Sin embargo, el mundo de Microsoft es bromista: aconseja que este cambio puede
alterar algunos servicios de red...
Entre las cosas importantes, usted puede restringir el acceso a algunos puertos,
usando el uso de la red en el panel de la configuración. De las características de
TCP/IP, selecione "avanzado" y marque "Activar la Seguridad"
(creo que este es su nombre, pero yo no tengo esta clase de cosas en casa
para poder comprobar). De la ventana de la "seguridad", marque "permitir solamente"
y selecciona los puertos que desea activar. Aquí también, tenga cuidado.
Usted debe saber lo que usted está haciendo, si no algunos servicios no trabajarán
más.
Se puede hacer mucho más, pero esto es lo esencial. Para aprender más, puede visitar
sans.org : ciento de documentos disponibles.
Bien, usted ha hecho todo esto. Ejecute nessus para explorar la red entera y
encontrará los agujeros de seguridad. ¡No diremos de dónde vienen... nosotros
lo sabemos ya! Intente engañar essos substitutos del sistema. No quitará los
agujeros "proporcionados" por NetBIOS, sino que limitará el daño.
Cree los subdominios. No registre como administrador. Aplique los remiendos.
Refuerce, intente ocultar todo el esto detrás de las máquinas de Unix usadas
como gateways. Desafortunadamente, la relatividad de la seguridad viene no
solamente de los productos hechos en Redmond. Una red está viva: hay siempre algo
que se enciende. Un buen administrador es un "paranoide" uno, comprueba por c
onsiguiente a menudo el "inventario de accesorios". Escriba scripts para automatizar
las revisiones. Por ejemplo para controlar sobre una base regular los programas
de SUID/SGID, los archivos críticos, los registros...
Para obtener a algunos amigos, trabe el disco floppy de los usuarios o los
dispositivos de CDROM. No acepte que los usuarios descargan software sin su
consentimiento, especialmente cuando este software es ejecutable como siempre
en el mundo de Microsoft. No acepte que los usuarios abran documentos adjuntos
como ésos de formato Word o Excel usando un sistema de filtración de correo.
Sí, lo sé soy como el fascismo, pero ¿qué puede usted hacer contra macro-virus?
No utilice los productos tales como Outlook. ¡De nuevo, usted debe saber lo que
desea! Sé, qué lo que digo es inútil, pero ¿puede usted hablar de seguridad con
tales productos? El famoso "I love you" no enseñó ninguna lección.
Concerniente a Unix, las descargas pueden ser controladas también.
Los Checksums no son proporcionados por accidente.
Tenga el hábito de controlar su red bajo una base regular de logs, scripts,
scaners... Habrá notado : las cosas cambian tan rápido y no precisamente
de la mejor manera.
Finalmente, no dijimos una palabra sobre ella, sino no nos olvidamos de reservas.
La estrategia es unchanging: diario, semanal y mensual. Una máquina de Unix puede
también tener problemas, incluso si es inusual. Y, los usuarios incurren a veces
en equivocaciones... pero no muy a menudo. Es bien sabido que los problemas vienen
de las máquinas o del departamento a cargo de ellas:- (
Si usted llegó a esta sección es que usted es valeroso. ¡El problema es que solo nadamos solamente sobre el tema! La seguridad no tiene ningún extremo y se refiere no solamente a redes. Los usos vulnerables pueden comprometer una red. Un cortafuego mal configurado es gravemente más peligroso que ningún cortafuego. Una máquina de Unix contiene a menudo millares de archivos. ¿Quién puede estar seguro que ninguno de ellos es vulnerable? ¿Quién piensa que un craker intentará romper una llave de 128 bits? No se engañe: él intentará encontrar una puerta detrás de la casa. Repetidas veces, usted puede instalar todas las herramientas de seguridad disponibles, si deja un agujero muy pequeño, esto es por donde irá el "malo".
La seguridad es también un comportamiento: Por ejemplo, visite los sitios web sobre una base regular, igual para los sitios web de los editores de sus Sistemas Operativos... Por ejemplo, Sun publica remiendos recomendados cada mes. SGI lanza una nueva versión de Irix cada tres meses. Microsoft proporciona con frecuencia ServicePacks o HotFixes. Las distribuidores de Linux publican las erratas para cada vulnerabilidad nueva descubierta. Iguales para los diversos BSDs. Si usted no utiliza los productos que corresponden a un remiendo los quita de su disco duro. Etcétera: la lista de las cosas que se harán es muy, muy larga. En breve, este trabajo no debe conover despidos.
Finalmente, vamos decirlo otra vez, todo esto contribuirá solamente para hacer su red un poco menos vulnerable. No cuente con conseguir una red 100% segura, incluso en un momento dado (bien, puede ser, si se paran todas las máquinas). Un dicho, ¡ no es un requisito ser paranoide para hacer este trabajo... pero ayuda! Pero no sea algo comun en su vida diaria, será mucho más agradable para la gente alrededor de usted...
http://www.linuxsecurity.com
http://www.sans.org
http://www.infosyssec.org
http://www.securityfocus.com
http://www.cs.purdue.edu/coast/hotlist/
Life is sad : let's have some fun !
Another way to do the job ;-)