Download Sistemas operativos Windows/Windows server, Solaris, UNIX, Linux

Document related concepts

Nmap wikipedia , lookup

File Transfer Protocol wikipedia , lookup

Samba (programa) wikipedia , lookup

Metasploit wikipedia , lookup

Malware en Linux wikipedia , lookup

Transcript
Sistemas operativos Windows/Windows server, Solaris, UNIX, Linux, Mac
Os X
SEBASTIAN CUARTAS ARISTIZABAL
907014
AUDITORIA DE SISTEMAS 2
CARLOS HERNAN GOMEZ GOMEZ
20 DE NOVIEMBRE DE 2010
MANIZALES
Introduccion
La auditoría a sistemas operativos es una herramienta muy importante para poder hacer un buen
seguimiento a nuestro sistema de información implementado en nuestro negocio, ya que los
sistemas operativos son los que administran todos mis archivos y mi funcionamiento en las
terminales usadas por nuestros usuarios, como lo pueden ser un computador de escritorio, un
computador portátil, un dispositivo móvil o todo aparato que tenga que tener una administración
de recursos de hardware y software. De este programa tan importante y crítico depende todo,
nuestra seguridad, nuestra agilidad para modificar, almacenar, crear archivos, nos administra la
seguridad y acceso a la información, asi también hace que se administren los recursos como son la
memoria principal, el acceso al procesador, el orden de tareas y la agilidad con la que los procesos
de mayor criticidad se administran y se ejecutan. De esta manera vemos que un sistema
operativos es crucial para el funcionamiento de nuestro sistema de información, si este falla existe
una gran posibilidad de que puedan haber brechas de inseguridad y vulnerabilidad para que
puedan acceder a documentos e información clasificada, o que simplemente haga que el sistema
esté tan insostenible y poco integro que me genere problemas de consistencia. En este orden de
ideas, una auditoria de sistemas no puede dejar a un lado el control de estos programas, los cuales
son utilizados en diferentes arquitecturas y son desarrollados por diferentes casas de software. En
este trabajo se abordaran algunos sistemas operativos importantes y los posibles tratos y
procedimientos que se deben llevar para hacer una auditoria de sistemas bien hecha.
Auditoria en sistemas operativos SOLARIS
Una auditoria profunda requiere de la utilización de herramientas automáticas, manuales, revisión
de políticas, y pruebas de penetración de seguridad para asegurar la mayor cantidad de posibles
vulnerabilidades, no solo desde afuera del sistema, sino también desde el interior de este.
Una vista desde el interior:
Para poder hacer la auditoria desde adentro es recomendable utilizar herramientas que se
encuentran en el CIS (Center of Internet Security).
Cuando se hace una revisión de la vulnerabilidad hecha desde el host que no se ha hecho
previamente puede arrojar una gran cantidad de problemas y puertos abiertos disponibles para
que cualquier persona que sepa de sistemas pueda entrar y hacer cosas no permitidas. Todas
estas vulnerabilidades pueden ser explotadas por alguien pero también se hace inmanejable por
los profesionales de la información hacer esto de una forma muy manual, por ellos existen varias
herramientas informáticas que harán el trabajo mucho más rápido y con una eficacia y con
resultados bastantes altos.
Hay muchas herramientas de esta índole para hacer auditoria y revisión a sistemas Solaris. Existen
herramientas basadas en el host al igual que herramientas basadas en la red, pero las
herramientas basadas en host pueden mostrar una vista mucho más amplia que la de red. Puede
arrojar datos como permisos de acceso a archivos, desenmascarados, directorios, permisos,
parámetros de la red, configuración de auditoria, configuración de relojes, servicios y muchos más
elementos importantes en estos sistemas. Todas estas herramientas pueden ser un buen
componente para estrategias de defensa profunda en caso de ataques ayudando a hacer una
buena auditoria en profundidad.
Una de estas herramientas es Titan (sigla abreviada) y es disponible a los usuarios gratuitamente
en el link www.fish.com/titan/ . Sun Microsistems también ofrece su herramienta, denominada
Automated Security Enhancement Tool (ASET) como parte de la distribución del paquete Sunwast
para distribuciones Solaris. Sun también provee JumpStart Arquitecture and Security Scripts toolkit
(JASS), la cual también está disponible sin ningún costo en la página
http://wwws.sun.com/software/security/jass.
Sistem Scanner es otra herramienta comercial disponible para informarnos de problemas
potenciales
disponible
en
http://www.iss.net/products_services/enterprise_protection/rsserver/index.php que trabaja en
diferentes plataformas. Como en las herramientas CIS, el usuario asume la responsabilidad de
mejorar su sistema con el System Scanner.
Pero a pesar de que existen tantas herramientas disponibles, la que mas sobresale es la
herramienta CIS, ya que es muy compatible con el sistema operativo Solaris. La herramienta CIS
verifica la configuración del sistema en relación con las benchmarks desarrollado por un consenso
de profesionales en el área y en la industria de las TICS.
El nivel CIS 1 Benchmarck es definido como: el nivel prudente mínimo para un buen cuidado. Este
puede ser utilizado para como el sistema esta medido con relación a la industria y a los estándares
de buenas prácticas. La herramienta CIS Benchmarck and Scoring son gratis desde el sitio:
http://www.cisecurity.org/bench_solaris.html. Para utilizar esta herramienta su compañía debe
estar inscrita a CIS, ser miembro.
A través de Security Consensus Operational Readiness Evaluation (SCORE), los profesionales SANS1
son capaces de contribuir al desarrollo de las herramientas y benchmarks de CIS, y CIS es el
distribuidor de las benchmarks y las herramientas. SANS describe a SCORE de la siguiente manera:
“SCORE es el esfuerzo cooperativo entre SANS y CIA. SCORE es la comunidad de profesionales en
la seguridad de una amplia gama de organizaciones y backgrounds trabajando para desarrollar
consensos con respecto a los estándares mínimos y las mejores prácticas de la información,
esencialmente actuando como el motor de investigación de CIS.
Usando las herramientas CIS
Se debe descargar el archivo cis.tar.Z. También está la opción de descargarse un PGP o un MD5.
Los siguientes pasos son para instalar la herramienta:
1.
2.
3.
4.
5.
6.
Escriba cp cis.tar.Z /tmp
Escriba cd /tmp
Escriba uncompress cis.tar.Z
Escriba tar xvf cis.tar
Escriba cd cis
Escriba ls. Los siguientes son 3 archivos presentes: CISscan, README, y
SolarisBenchmark.pdf. Note que SolarisBenchmark.pdf explica todas las verificaciones
hechas por la herramienta, y contiene pasos para mejorar su sistema con cada paso.
7. Escriba pkgadd –d ./CISscan
8. Escriba 1 para seleccionar el paquete e instalarlo. La instalación continuara y el paquete
será instalado.
9. El paquete deberá estar instalado en /opt/CIS.
Correr la herramienta es tan fácil como cambiar de directorio a /opt/CIS y escribir ./cis-scan. La
herramienta califica el sistema de uno a diez siendo 10 el mayor nivel de seguridad. Un sistema
con una calificación de 10 no debe tener mucha funcionalidad, y un sistema alcanzando una
calificación de 1 seria horriblemente inseguro. Las validaciones entre 7 y más pueden ser
alcanzadas en sistemas de producción sin funcionalidad de impacto adverso. Desafortunadamente
muchos sistemas de producción se encuentran entre 1,60 y 3,20 cuando son escaneados la
primera vez.
1
http://www.sans.org/ es una organización para el entrenamiento de la seguridad computacional y de la
información, es una posibilidad para que un profesional aprenda a hacer buenas estrategias para su
implementación de seguridad.
El nuevo Solaris 8 instalado en un Sun Blade 100 ha sido seleccionado para proveer un mayor
ejemplo de la herramienta CIS y el uso de benchmark. La única cosa hecha para aumentar la
seguridad de esta caja para correr la herramienta fue la instalación de la última versión
recomendada
y
parches
de
seguridad
de
http://au.sunsolve.sun.com/pubcgi/show.pl?target=patchpage.
Una vista desde el exterior:
De esta manera se pueden vislumbrar la importancia de auditar la seguridad usando los escáneres
de vulnerabilidad. Las recomendaciones generales para el escaneo de la vulnerabilidad son
proveídos por estas herramientas.
Es importante auditar la postura de la seguridad del sistema utilizando escáneres de vulnerabilidad
basados en la red. La red es donde los atacantes externos están. Los escáneres de vulnerabilidad
escanean su red para identificar servicios disponibles, y luego compararlos con la base de datos de
las vulnerabilidades bien conocidas para determinar si podrían ser explotadas. Examinando el
sistema desde la red puede proveer muchas perspectivas de su postura frente a la seguridad
incluyendo la vista de la LAN corporativa, una vista del DMZ, y una vista del perímetro externo del
firewall.
Los escáneres basados en la red so como detectar algunas cosas que los escáneres basados en el
host olvidan.
SANS ofrece las siguientes recomendaciones para escanear sistemas y redes:
 Obtener permiso del nivel más alto posible.
 Solo escanee sistemas o redes que sean de su propiedad.
 Escanee una subred o un grupo de trabajo a la vez.
 Este disponible en la oficina en caso de que algo salga mal.
 Manifiéstese antes del tiempo de hacer el escaneo.
 No permita exámenes de Negación del servicio en el primer escaneo.
 Arregle los problemas de mayor prioridad primero.
Considerando el estado del objetivo es otra importante consideración durante el escaneo de
vulnerabilidades, el cual es usualmente pasado por alto. Escaneando un sistema Solaris en modo
usuario simple es de poco uso, porque la mayoría de los servicios no están ni siquiera corriendo. El
sistema objetivo deberá ser booteado al nivel apropiado de ejecución para una operación normal.
Un administrador del sistema inescrupuloso puede hacer que su sistema se vea seguro mediante
booteo arrancando a modo de usuario único antes de que le permita ser escaneado el sistema.
Escaneando un sistema sin ningún usuario logeado puede también proveer resultados
incompletos. Suponga que una aplicación tipo servidor del sistema inicia algunas aplicaciones
cuando los usuarios están logeados. Algunos servicios deben iniciar sobre el usuario logeado, o por
la acción del usuario. Si este sistema es escaneado sin ningún usuario logeado los resultados
podrían estar sesgados por como máximo el 100%. El cuidado debe ser tomado para asegurar que
el objetivo este en su estado de operación normal antes del escaneo de vulnerabilidad.
Los escaneos de vulnerabilidad e inclusive los escaneos de los puertos pueden hacer caer el
sistema. Asegúrese de anticiparse al peor escenario posible antes de conducir cualquier examen
de vulnerabilidad. Una de las peores cosas que puede hacer es colapsar el sistema en un punto
donde los backups son necesarios para recuperarse. La persona que conduzca los exámenes puede
verse en problemas si el examen es hecho sin los permisos necesarios.
“La diferencia entre una persona que quiere penetrar y la que quiere atacar es el permiso” (COLE,
725).
Muchas opciones para exámenes de vulnerabilidad basados en red existen. Algunos de los
productos comerciales disponibles están en Security Systems Internet Scanner (disponible en
http://www.iss.net/products_services/enterprise_protection/vulnerability_assessment/scanner_i
nternet.php),
Vigilante
Secure
ScanNX
(disponible
en
http://www.vigilante.com/securescan/index.htm), Network Associates CyberCop ASaP (disponible
en
http://www.networkassociates.com/us/products/mcafee/managed_services/cybercop_asap.htm)
, y Eeye Retina (disponible en http://www.eeye.com/html/Products/Retina/index.html). Un
escáner gratis efectivo es Security Auditors Research Assistant (SARA) (disponible en http://wwwarc.com/sara/sara.html).
Hay muchas razones por las que Nessus está cubierto en detalle sobre sus contrapartes. Nessus es
gratis y viene con todos los beneficios de un open-source. Nessus es actualizado frecuentemente,
y tiene una gran base de datos de vulnerabilidades. Nessus es flexible, y no hay problemas con
licencias de restricciones de IP para preocuparse. Referencie a los siguientes links para estudios y
comparaciones de escáneres de vulnerabilidades:
http://www.networkcomputing.com/1201/1201f1b1.html.
http://www.infosecuritymag.com/2003/mar/comparisonchart.shtml
http://www.infosecuritymag.com/2003/mar/cover.shtml
Algunas de las características que Nessus incluye en su arquitectura cliente/servidor, soporte SSL,
soporte Nmap, compatibilidad CVE, soporte Whisker, soporte Nikto, soporte Hydra, escaneo
inteligente, Nessus Attack Scripting Language (NASL), y arquitectura plug-in con habilidad
inherente para escribir plug-ins comunes (Nessus, Datasheet). Si necesita más características de
Nessus se encuentran en el siguiente enlace: http://www.nessus.org/documentation.html
Auditoria en sistemas operativos UNIX
A continuación voy a poner un checklist en donde se busca hacer auditoria en un sistema
operativo Unix. Para poder hacer una buena auditoria y hacer este checklist de la mejor manera
es necesario que se consideren estos elementos antes de proceder a la revisión de los puntos
definidos por el checklist:

Otros sistemas operativos realizando algunas funciones: este checklist necesita ser medido
con las diferentes circunstancias del ambiente de la red especialmente cuando no hay
sistemas operativos en la red dentro de la arquitectura realizando actividades especificas.
Ejemplo: cuando un sistema operativo NT realiza la autenticación de usuarios y la aplicación
está residiendo en la Solaris Box.




Resultados y sensibilidad de los datos: cuando reportan cualquier resultado el auditor debería
tomar en cuenta el elemento de riesgo, eje: es el resultado tan sustancial para directamente
afectar la disponibilidad, confidencialidad e integridad de información sensible. Por lo tanto,
antes de realizar la auditoria es importante determinar qué datos/aplicaciones son
almacenados en el Solaris Box. El departamento/comité en riesgo puede darle al auditor
indicaciones del riesgo perteneciente a ciertos datos. En algunas instancias los resultados
pueden ser significativos, sin embargo podría no afectar a la organización gracias al riesgo
asociado con los datos. Eje: Asegurar las extensiones de teléfono de la organización.
Controles de mitigación: la revisión de Solaris no puede ser hecha en el vacío sin considerar los
controles de bases de datos y de aplicaciones. Por ejemplo si una aplicación llama al servidor
de Solaris usando el identificador raíz. Este parece ser un resultado significativo. Sin embargo,
los controles de acceso lógico para la aplicación pueden ser tan granulares que este riesgo es
mitigado y por lo tanto no es un resultado significativo. Este es un control de mitigación.
Dispositivos periféricos: este checklist no ha hecho provisión para ambientes donde otros
dispositivos como módems hayan sido conectados a la Solaris Box.
Viabilidad del checklist: el checklist destaca una lista de configuraciones de seguridad para
alcanzar la configuración mas segura disponible. Sin embargo estas son buenas para los que
tienen no podrían ser factible en el mundo real. La administración puede considerar ciertas
configuraciones de seguridad para no costear efectivamente y por lo tanto omitirlas a
propósito. El costo puede no relacionarse a términos monetarios pero si a ineficiencias
creadas por pobres tiempos de respuesta a una configuración en particular. El auditor debe sin
embargo estar seguro que las omisiones de ciertas configuraciones de seguridad son
conmensuradas con el propósito y el riesgo asociado con el servidor Solaris en cuestión.
No.
Control
1.
Determinar si los últimos parches del sistema operativo están instalados.
Determinar procedimientos para actualizar los parches:


2.
Si fue descargado determinar si fue de un sitio seguro.
Determinar si los parches fueron actualizados aun cuando hay una nueva
vulnerabilidad
 Determinar si el parche fue probado en ambientes de prueba antes de ser
puesto en marcha en un ambiente real.
 Determinar si el software mínimo está instalado para disminuir los exploits.
Determinar la cantidad de espacio asignado a las diferentes particiones. La
cantidad de espacio asignado depende del propósito del servidor e.g. un servidor
de logeo tendrá mas especio alojado en /var.
/opt and /usr – application installation
/ - root partition
No. Control
3.
Removiendo servicios innecesarios:
Revisar el archivo inetd.conf para revisar que servicios estan activos. Los servicios
son estan desactivados por el signo (#) en frente de la linea. Otra vez el auditor
necesita determinar si es necesario que los servicios tengan de hecho ser
comentados.
Dependiendo de la function del servidor comentar los siguientes servicios: ftp
4.
 tftp
 systat
 rexd
 ypupdated
 netstat
 rstatd
 rusersd
 sprayd
 walld
 exec
 talk
 comsat
 rquotad
 name
 uucp
Scripts de inicio







telnet
imap
pop3
dtspc
fs
kcms
all rpc services








sadmind
login
finger
chargen
echo
time
daytime
discard
Revisar los archivos /etc/rc2.d y /etc/rc3.d para asegurar que los scripts
innecesarios al inicio han sido finalizados de su ejecucion (las minusculas k o s
detienen el script). Again depending on the role of the server the following should
be stopped:






automounter /etc/rc2.d/S74autofs
Sendmail /etc/rc2.d/S88sendmail and /etc/rc1.d/K57sendamil
RPC /etc/rc2.d/ S71rpc
SNMP /etc/rc2.d/S76snmpdx
NFS server /etc/rc3.d/S15nfs.server
NFS client /etc/rc2/S73nfs.client
No.
Control
5.
Logeo
En ambientes con multiples Solaris Boxes, asegurar que hay un servidor central de
logeo. Revisar el archivo /etc/hosts en ambos para ser logeado y el servidor syslog
para asegurar que contiene las entradas correctas de servidor syslog/host.
Si usando un servidor centras syslog para logear remotamente los incidentes de
máquina, asegurar que el trafico enviado al servidor syslog esta encriptado usando
ppp rpm
Asegurar que suficiente espacio ha sido asignado al archivo /var si el servidor es
syslog o inclusive si no hay un servidor en el ambiente en el caso de logear a
usuarios de forma local.
Asegurar que los siguientes items han sido logeados:
 SU attempts
 Failed login attempts
 Last command – who logged in, when and from where
 System events
Revisar el archive /etc/syslog.conf para asegurar que un mínimo de errores
de prioridad y los demás son logeados con todas las facilidades.
Asegurar que el permiso al archivo /var/adm/loginlog son de 600 y son adquiridos
por la raiz y el groupsys.
Asegurar que un monitoreo apropiado estan en lugar para notificar a los
administradores del sistema de actividades no autorizadas. Herramientas tales
como Swatch y Logcheck pueden ser usadas para este propósito y puede mandar
alertas anticipadas via e-mail.
Asegurar que los permisos a utmp son puestos como –rw-r- - r- - .
Verificar la existencia del archivo wtmp usando el commando ls - la.
Asegurar que los permisos en wtmp son puestos como 644.
Asegurar que el archivo btmp exista.
6.
SSH:
Revisar los archivos /etc/hosts.allow y /etc/hosts.deny para asegurar que las
relaciones autorizadas son establecidas.
Asegurar que el archivo .ssh/identity tiene permiso de 600 y adquirido por root.
Asegurar que todos los programas r han sido removidos y que ssh han sido
configurados para reemplazar programas r.
Revisar procedimientos de seguridad para mantener la seguridad de las frases clave
en el servidor y en las estaciones de trabajo.
7.
TCPWrapper
Revisar el archivo /etc/hosts.allow para asegurar que está configurado para no
permitir a todos y luego permitir a los usuarios autorizados.
Determinar el proceso para cambiar las reglas en TCP Wrapper y si las
herrameintas como tcpdchk (confirmer configuracion y reporte de problemas) y
tcpdmatch (lo que pasa cuando las reglas son desplegadas) estén usandose.
Asegurar que el mensaje de baner de TCP Wrapperhaya sido creado con las
palabras legalmente apropiadas.
Asegurar que la opcion –DPARANOID esta activada.
Asegurar que el TCP Wrapper ha sido configurado para consultar el servidor IDENT
de cliente.
Asegurar que el Makefile ha sido editado para incluir -DKILL_IP_OPTIONS.
Asegurar que los permisos para todos los archivos TCP Wrapper son leer, leer y
ejecutar con solo acceso (modos 755 &555).
Auditoria para el sistema operativo Mac OS X
Una de las áreas más importantes para fortalecer de este sistema operativo, que a pesar que es
uno de los más seguros con respecto a otros sistemas operativos, son las siguientes:
1. Parches y mantenimiento: estrategias para realizar chequeos regulares para
actualizaciones de seguridad y parches para mitigar riesgos en el sistema operativo y del
software en el momento oportuno.
2. Controles de acceso físico: pasos para hacer el sistema operativo huésped X resistente a
un atacante con un acceso de consola físico.
3. Keychain: asegurando el repositorio central de autenticación, o keychain, para reducir el
riesgo de acceso no autorizado.
4. Encriptación de datos: uso de usuario y encriptación basada en disco para prevenir acceso
no autorizado a datos sensibles, y para proveer garantía organizacional a los datos.
5. Soluciones de antivirus: soluciones para mitigar el riesgo de virus u otros malware
afectando a los OS X 10uésped.
6. Controlar el acceso administrativo: una explicación de privilegio administrativo sobre el OS
X y como mejorar el acceso de la mejor manera.
7. Firewall: detalles del servidor de seguridad prevista y cómo utilizar su funcionalidad.
8. Servicios de red: información sobre los servicios disponibles y como desplegarlos de una
forma más segura.
9. Compartir archivos: como compartir archivos de forma segura.
10. Sistema de detección de intrusiones (IDS): soluciones IDS disponibles basados en red y en
host.
1. Parches y mantenimiento:
a. GUI: Mac OS utiliza un software para descargar e instalar las aplicaciones y los
parches. Es recomendado que este configurado para revisar por nuevas
actualizaciones diariamente y puede ser configurado para realizar descargas en
segundo plano y avisar al usuario cuando la actualización esta lista para
instalación.
b. Línea de comando: las actualizaciones también pueden ser listadas y aplicadas a
través de la herramienta de línea de comando: /usr/sbin/softwareupdate. Esta hace
posible instalar actualizaciones en los scripts de la Shell, o invocarlos a través del SSH. Por
ejemplo el siguiente comando debería ser ejecutado para que automáticamente instale
todos las actualizaciones requeridas y lo ponga en el archivo: sudo /usr/sbin/softwareupdate
–i –r 2>&1 >> /Library/Logs/auto-softwareupdate.log
2. Controles de acceso físico: en ambientes donde los atacantes pueden ganar acceso físico
al sistema, es importante que la seguridad adicional están ubicados para proteger a los
sistemas de acceso no autorizado. Si el atacante gana acceso físico al sistema, puede
hacerle booteo al sistema operativo y leer datos almacenados en el disco duro del sistema,
o activar una contraseña de firmware que puede convertir al sistema en inoperable. La
mejor solución es controlar el acceso físico al sistema poniéndoles seguros y llaves pero a
veces es imposible, especialmente para dispositivos móviles o usuarios de escritorio con
ambientes compartidos.
a. Seguridad de Firmware abierta: el firmware abierto es la BIOS usada por la
mayoría de los sistemas Apple, y es usada para proveer bajo nivel de control a
algunas partes del harware. El firmware abierto usa una línea de comando
manejada por interface similar a lo que uso Sun microsystems que al BIOS grafico
usado por las pcs x86. Para el propósito de la seguridad del sistema, dos
operaciones necesitan ser realizadas en el Firmware abierto: poner una
contraseña, y cambiar el nivel de seguridad. Estas características están solamente
disponibles en el Firmware abierto de la versión 4.1.7 o posterior.
i. Advertencias: la seguridad del firmware abierto puede ser solucionada de
varias maneras por lo tanto no provee completa protección de un
atacante con acceso físico. Si lo tiene, sin embargo, provee mayor
protección que las configuraciones por defecto y lo hará más difícil para
que el atacante gane acceso a datos.
ii. Estableciendo la contraseña del firmware: desde la línea de comando de
Open Firmare escriba: password, cuando se le solicite, ingrese y reingrese
la clave elegida. La contraseña deberá cumplir con las políticas de
seguridad de la organización. Una vez este configurada, es necesario
configurar un modo de seguridad con uno de los tres valores: ninguno,
comando o completo. Una vez este seleccionado el modo de seguridad, se
puede establecer ingresando el comando: setenv security-mode full. Para
guardar y reiniciar se debe ingresar: reset-all.
b. Login
i. Banner: un banner de login informa a los usuarios que acceden al sistema
sobre la funcionalidad del sistema, propiedad y consecuencias de acceso
no autorizado. Esta información deberá ser desplegada en todos los
puntos de entrada del sistema, usualmente cuando se solicita login en el
escritorio, login de la Shell y las solicitudes de acceso ftp. Un banner
apropiado de logeo deberá ser definido, después de la consulta con el
equipo legal de la organización si aplica.
ii. Login automático: el login automático deberá ser desactivado para todos
los usuarios del sistema; asegurando que cada usuario tenga que ingresar
si usuario y contraseña antes de concederle el acceso. Esto podrá ser
activado desde la parte de Seguridad localizado en el las preferencias del
sistema.
iii. Usuarios desplegados: por defecto, OS X despliega una lista de usuarios
con acompañamiento grafico en la consola cuando se solicita logeo. Este
provee mucha información para los atacantes entrantes así que debe ser
desactivado, solicitando a los usuarios a ingresar sus cuentas y
contraseñas. Para desactivar esto vaya a: preferencias del sistema,
opciones de logeo, desplegar ventana de logeo: nombre y contraseña.
iv. Sugerencias de contraseña: las sugerencias de contraseña permite a los
usuarios poner sugerencias o recordatorios si olvidaron sus contraseñas.
Mientas esto es una herramienta muy útil para algunos usuarios caseros
quienes no se logean muy a menudo, esto es típicamente no apropiado
para ambientes corporativos, porque aumenta el riesgo de que un
atacante tenga más probabilidad de adivinar la contraseña. No hay una
configuración global para asegurar que todos los usuarios hayan
desactivado estas sugerencias de contraseña, de este modo cada usuario
tendrá que ser verificado. Desde preferencias del sistema, cuentas,
seleccione cada usuario y asegúrese que el text box de sugerencias de
contraseña está en blanco.
v. Protector de pantallas: un salvapantallas debe ser activado después de
cierta inactividad del sistema, y debería requerir una contraseña para
desactivar la estación de trabajo. Este previene acceso no autorizado de
quienes acceden a una estación de trabajo que estaba anteriormente
logeada. Un periodo de 10 min de inactividad antes de que el protector de
pantallas se active debe ser implementado en la mayoría de las
organizaciones. El protector de pantallas puede ser activado desde
preferencias del sistema, escritorio y protector de pantalla. Para activar la
protección por contraseña sobre el protector de pantalla deberá ser
seleccionada en la pestaña de seguridad de las preferencias del sistema.
vi. Encriptación de datos: OS X provee encriptación de datos usando el
algoritmo AES con encriptación de 128 bits. Esto permite a los usuarios a
encriptar datos con fortaleza militar.
Entre otras: Cabe resaltar que se debe hacer un control muy intensivo sobre las soluciones que se
le da al manejo de antivirus, los controles administrativos al sistema, el manejo de excepciones del
firewall de modo que se puedan permitir algunos servicios, los servicios de red ya que por este
medio es donde se presenta la mayoría de los ataques a nuestro sistema, controles de acceso al
usuario, la administración del protocolo de transferencia de archivos(ftp) y la administración de
archivos compartidos como podría ser con el Apache o los diferentes programas ofrecidos en el
mercado.
Auditoria para el sistema operativo Windows
Como los anteriores sistemas operativos hay que garantizar que todas las puertas posibles dejadas
abiertas por defecto, o que son menospreciadas por los administradores del sistema, tengan la
mayor cobertura de modo que se minimice la probabilidad de que algún atacante externo o una
vulnerabilidad interna origine inconsistencias y problemas en el sistema. De esta manera los
siguientes puntos deberán ser revisados en su sistema de modo que la vulnerabilidad sea
disminuida:
1. Banneres de login:
Para implementar un banner en Windows 2000/xp, realice los siguientes pasos:
a) Abra el panel de control y doble click a herramientas administrativas
b) Seleccione políticas de seguridad local, opciones de seguridad y siga los pasos para
aplicar en la versión que tenga:
Paso 1 : para Windows xp, click en logo interactivo: título de mensaje para usuarios intentando
logearse y luego introduzca el encabezado deseado.
Paso 2: para Windows xp, click en logo interactivo: texto de mensaje para usuarios intentando
logearse, y luego introduzca el texto especificado en el paso 1.
2. Restringir el booteo por acceso de dispositivos y desactivar el acceso (requiriendo
autenticación) al BIOS/PROM del sistema
a. Para prevenir el intento de acceso no autorizado de dispositivos alternativos de
booteo en el sistema, tenemos que configurar el BIOS del sistema (o PROM) para
prevenir el booteo de todos los dispositivos (otros de los discos aprobados del
sistema). El booteo desde una interfaz de red debe desactivarse también. Una
contraseña a la BIOS debe ser configurada y activada para prevenir que un usuario
cambie las configuraciones.
3. Configurar los permisos de archivos del sistema:
a. Verifique que el sistema de archivos sea NTFS (convierta si es necesario).
En el ambiente del sistema operativo Windows, un archivo del sistema debe estar
en formato NTFS para auditar efectivamente el acceso a archivos del sistema e
instalar la seguridad.
b. Asegure los archivos del sistema operativo Windows y habilite la auditoria:
i. Abra Windows explorer y dele doble click en el directorio que contiene el
sistema operativo Windows (usualmente en C:/Windows).
ii. Seleccione propiedades y click en la pestaña de seguridad
iii. Verifique que los permisos concuerden con los siguiente:
Administrators (Group)
SYSTEM (Group)
Administrator (User)
Authenticated Users (Group)
- Full Control
- Full Control
- Full Control
- Read/Execute (ONLY)
iv. Click en la pestaña de avanzados, click sobre Permisos
v. Asegurese que la casilla de verificación “Reestablecer permisos
en todos los objetos hijos y activar la propagación de permisos
heredados” este chuleada.
vi. Aplique los cambios cliqueando ok seguido de si.
vii. Para prevenir dificultades para imprimir en usuarios no
administrativos,
edite
los
permisos
en
“C:\windows\system32\spool”
y
“C:\windows\temp
directories”.
viii. Active la auditoria para el directorio del sistema operativo
Windows
c. Active la seguridad y la auditoria para la base de datos SAM
i. Navegue a la base de datos SAM vía Windows Explorer (la base
de datos SAM reside en dos directorios c:\winnt\repair and
c:\winnt\system32\config.
ii. Click derecho en el archivo sam y luego click en propiedades
iii. Click en la pestaña seguridad
iv. Asegurese de que que las configuraciones desplegadas cuando
los dos archivos son examinados concuerden con que la última
casilla no este chuleada, el resto debe estar chuleada.
d. Seguridad de la carpeta auditar archivo.
La carpeta “auditar archivo” debería ser creada en el escritorio
de la persona elegida para hacer la auditoria del sistema.
Logeese como el usuario auditor, click derecho en su escritorio
y seleccione nuevo, carpeta, nombre de la carpeta “auditar
archivo”.
Limite los permisos en esta carpeta al auditor y las cuentas del
sistema.
Click derecho en la carpeta “auditar archivo”, click en
propiedades y seleccione la pestaña de seguridad.
Remueva todo el acceso para el grupo administrativo. El único
permiso garantizado para la carpeta “auditar archivo” debe ser
el usuario auditor y el sistema.
Auditoria para el sistema operativo Linux
La facilidad con la que Linux puede ser implementado a menudo causa un postpensamiento. A continuación se pretende mostrar un checklist que ofrezca una guía en
el sistema Linux a los administradores del sistema para crear una maquina segura con
Linux. La seguridad es compleja y constantemente debe cambiar. Adicional a esto se
debe mirar la documentación que provee la página de Linux, ya que allí hacen
actualizaciones constantemente.
Cuando se implementa un sistema de seguridad, hay conceptos fundamentales que
pueden ir con su sistema para mantenerlo seguro. Administracion de Parches
(mantener el software con las actualizaciones del dia), y endurecimiento del sistema
(desactivando servicios innecesarios) es vital, pero también es necesario las políticas de
seguridad, administración del cambio, y auditoria de logeo a archivos. Un buen
acercamiento para la seguridad en Linux es establecer una línea de puntos base para
una instalación segura y el endurecimiento del sistema, seguido de políticas y
procedimientos para asegurar que sus sistema se mantenga seguro.
La seguridad es sobre reducir el riesgo. A continuación estarán los puntos clave para
que su sistema pueda tener unos buenos servicios y procedimientos para que el riesgo
de sufrir dolores de cabeza con su sistema sean los minimos posibles:


Hacer una buena unidad de backup y de booteo.
Mantener su sistema al dia.















Desactivar servicios innecesarios.
Verificar seguridad en archivos claves
Política de contraseña por defecto.
Modificar archivos “problema” al punto /dev/null
Autorizar solo a root acceso a cron
Banners de aviso
Configuraciones básicas SSH
Iptables
Xinetd y inetd.config
Tcpwrappers
Logeo al sistema
Backups
Integridad en revisar software
Apache
Herramientas de vulnerabilidad.
1. Hacer una buena unidad de backup y de booteo.
Normalmente se descargan CDS de una distribución libre de Linux, que incluye un CD
booteable. Si usted instalo Linux de una descarga o sobre una red, puede hacer un disco
booteable manualmente. El comando ‘mkbootdisk’ está incluido en la mayoría de los
sistemas. Este es el mismo comando que es utilizado durante la instalación para crear
un disco booteable. Una completa instrucción sobre este comando se encuentra en la
página: http://www.linuxgeek.net/beginners/node55.html
Los siguientes comandos pueden ayudarle a hacer esto:
#~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0
#~ rdev /dev/fd0 /dev/hda2
# usa su imagen de kernel
# su particion raiz de Linux
También, haga varios discos de backup listos.
2. Mantener su sistema al dia.
La mayoría de los sistemas Linux trabajan con rpm (RedHat Package Manager, también
usados por Mandrake y Suse) o apt/dpkg (Debian Package Manager). Puede actualizar
software especifico individualmente usando estos comandos. RedHat tiene una opción
de soporte administrada a través de la red RedHat que puede ayudarle a administrar los
servidores de RedHat. La opción de soporte administrado usa el comando up2date, el
cual automáticamente resolverá las dependencias.
3. Desactivar servicios innecesarios.
Fortaleciendo su sistema mediante la eliminación innecesaria de servicios puede
mejorar la seguridad y aumentar todo el rendimiento en conjunto de su sistema. Para
empezar, necesita saber cual de los servicios están en ejecución en su sistema. Desde
que varios servicios vayan en diferentes caminos, hay muchos lugares a donde revisar:
# ps –ax  listará todos los procesos actualmente ejecutándose
# ls –l /etc/rc.d/rc3.d/S*  mostrará todos los scripts de inicio (sis u boot esta en modo grafico,
reemplace rc3.d con rc5.d)
# netstat –a  listará todos los puertos abiertos
Para desactivar los servicios, puede remover los scripts de inicio, o usar un comando como
chkconfig:
Para detener el servicio:
# service stop nfs
Para detener el servicio a la hora de inicio, use el comando chkconfig o remueva el script de inicio.
Para usar chkconfig:
# /sbin/chkconfig –levels 2345 netfs off
Para remover el script de inicio:
# /bin/mv /etc/rc.d/rc5.d/S25netfs /etc/rc.d/rc5.d/K25netfs
Algunos servicios necesitaran ser removidos desde /etc/inetd.conf o /etc/xinetd.d.
4. Verificar seguridad en archivos claves
o
o
o
o
/etc/fstab: aseguran que el propietario & grupo son establecidos en root.root y los
permisos son establecidos en 0644 (-rw-r--r--)
Verificar que /etc/passwd, /etc/shadow & /etc/group son todos adquiridos por
'root'
Verificar que los permisos sobre /etc/passwd & /etc/group son rw-r--r-- (644)
Verificar que los permisos en /etc/shadow son r-------- (400)
5. Política de contraseña por defecto.
/etc/login.defs debera contener minimamente configuraciones par alas siguientes (conjunto
de valores que deberan ajustarse a la politica de contraseñas de su organizacion). Para una
mayor completa lista de detalles:
http://www.tin.org/bin/man.cgi?section=5&topic=login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_MIN_LEN 14
PASS_WARN_AGE 7
6. Modificar archivos “problema” al punto /dev/null
Acá hay un script rápido que reemplazara varios archivos rsh con null. Cuando este
configurado, estos archivos establecerán relaciones “seguras” entre sistemas y pueden
permitir shell remotas con logeo sin requerir contraseña – un acercamiento que es
generalmente mal visto hoy día.
for file in /root/.rhosts /root/.shosts /etc/hosts.equiv /etc/shosts.equiv ;
do
/bin/rm -f $file
ln -s /dev/null $file
done
BIBLIOGRAFIA













http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO14.htm
auditingindepthforsolaris.pdf
Securing Solaris, Angela Orebaugh, October 2000
Secure Backups on Solaris Internet Servers, Richard Cove, November 2000
http://www.microsoft.com/technet/security/prodtech/win2000/secwin2k/09detect.mspx
http://www.sans.org/rr/
http://www.sans.org/score/
http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/security-guide/.
Auditingunix.doc
Linuxchecklist.pdf
Securing_MAC_OS_X.pdf
Unix_os.doc
Win2k_XP_checklist.doc