jueves, 21 de octubre de 2010

VMware - ESX cambiando de tarjetas fisicas en los switchs virtuales

Una de las tareas o que es necesario hacer cuando se instala el Vmware ESX  por primera vez, ya que  se selecciono  la interfaz de red equivocada.

Para arreglar la configuración y poner la interfaz de red correcta es necesario seguir los siguientes pasos:

Cambiando de tarjetas físicas en los switch's virtuales.
Primero es necesario revisar que configuración tiene  el siguiente comoando muestra un resumen:
esxcfg-vswitch –l

Para agrega una interfaz  es con la opción –L especificando la interfaz y el switch al que se va agregar.
esxcfg-vswitch -L vmnic3 vSwitch0
Posteriormente es necesario quietar la interfaz que cambiamos.
esxcfg-vswitch -U vmnic0 vSwitch0

Revisamos que tenga la configuración que deceamos.

esxcfg-vswitch –l

Reiniciamos la red.

service mgmt-vmware restart

Listo, se realizo el cambio de interfaz.

Seguridad - SELinux CentOS 5

Introducción.
SELinux es una arquitectura de seguridad integrada en el kernel 2.6.x mediante los módulos de seguridad de Linux (LMS). Es un proyecto de la Agencia Nacional de Seguridad de los Estados Unidos (NSA) y de la comunidad de Linux. Las razones por las cuales la NSA decide publicar una distribución de Linux es porque de acuerdo a la política de aseguramiento de información de la NSA es buscar un sistema operativo que separe la información confidencial de la información pública.Para poder realizar esto, SELinux implementa un mecanismo para establecer
en cada archivo y proceso el contexto en el que está siendo utilizado.
Mediante la utilización de un módulo del sistema operativo, es posible
establecer reglas para permitir o denegar el acceso a cualquier archivo
del sistema.

SELinux también permite implementar un modelo adicional de seguridad
(Multi-Level Security, MLS) en el que además de lo indicado hasta ahora es
posible, para cada objeto, un nivel de seguridad (Top Secret, Secret, Classified, Unclassified).

SELinux construye otra capa de control de acceso en la parte superior de DAC, esta capa es el control de acceso obligatorio (MAC). La comprobación de privilegios de SELinux se verifica primero en DAC y, a continuación, MAC. Si DAC le deniega el acceso, ya no se verifica MAC.

1.- Configuracion
Antes de iniciar la implementación de políticas, es recomendable trabajar en modo “permissive”.  Para asegurarnos de que todos los archivos estén etiquetados se puede marcar un "autorelabel".

Para el desarrollo de esta práctica se utilizaron las diferentes categorías y niveles, las siguientes categorías se editaron  directamente en el archivo setrans.conf:




# Secret level with compartments
s2=Secret
s2:c3=Marketing
s2:c4=Finanzas
s2:c2=RH

s3=TopSecret
s3:c1=CEO


Para la creación de usuarios con específicos niveles



[root@seguridad ~]# semanage user -a -L s2 -r s2:c3 -R user_home_t -P user s2_Marketing
[root@seguridad ~]# semanage user -a -L s2 -r s2:c4 -R user_r -P user s2_Finanzas
[root@seguridad ~]# semanage user -a -L s2 -r s2:c2 -R user_r -P user s2_RH



Las opciones se explican en la siguiente tabla.


Opciones
Significado
-L, --level
El nivel por para selinux
-R --role
Selinux Roles, este puede user_r
-P
Este es selinux prefix esto es agrego cuando se etiqueta users y home users



Para que pueda ser utilizado el filesystem que se  cifrado, es necesario cambiar el contexto de este para que pueda ser accesado por todo los usuarios con este rol.

 
[root@seguridad ~]# chcon -t user_home_dir_t inf/



Posteriormente son etiquetados los archivos para que este solo pueda ser visto o modificado por los usuarios que cumplan con la política.


[root@seguridad ~]# chcon  -l s2 -u s2_Finanzas  -t  user_home_t  ./Archivo3
[root@seguridad ~]# chcon  -l s3 -u s3_CEO  -t  user_home_t  ./Archivo4
 [root@seguridad ~]# chcon  -l s2 -u s2_RH  -t  user_home_t  ./Archivo2
[root@seguridad ~]#  chcon  -l s2 -u s2_Marketing  -t  user_home_t  ./Archivo1


Para verificar que selinux esta corriendo se puede ejecutar el comando “sestatus”


Donde nos mostrara el status de selinux y bajo que políticas está corriendo.
Para demostrar que selinux está configurado se hacen las siguientes prueba, se otorgaron los permisos 777 a los diferentes archivos previamente etiquetados.
Ahora nos conectamos con los diferentes usuarios.
El usuario1 con “s2_Finanzas:user_r:user_t:Finanzas” solo podrá ver el archivo de su nivel, en este caso solo el Archivo3 y Salida que es de un nivel menor,
El usuario 3 puede ver los archivos de su misma categoría y nivel, Es por eso que puede ver el Archivo2 y Archivo3.
                               
Para el usuario 4  Puede ver los archivos de su misma categori y nivel, no puede acceder al Archivo2 ya que este no pertence a la categoría RH.



2. Access Control Lists
Los archivos y directorios tienen conjuntos de permisos para el dueño del archivo, el grupo asociado con el archivo, y todos los demás usuarios del sistema. Sin embargo, estos conjuntos de permisos tienen limitaciones. Por ejemplo, los permisos diferentes no se puede configurar para diferentes usuarios. A continuación se  muestra la implementación y su demostración  Access Control Lists (ACL).

Antes de empezar a poner las reglas de acceso es necesario montar el filesystem en ACL
[root@seguridad ~]# mount –o acl /dev/mapper/secretote /home/inf


En la siguiente imagen el archivo "salida" pertenece a usuario y grupo root y como se ve en la siguiente imagen no puede ser leído por otros,  utilizando ACL se configura para darle permisos a un solo usuario de lectura y escritura.
La instrucción "getfacl" nos muestra el status y los permisos otorgados sobre cierto archivo.


El usuario 4 antes de que se le otorgara los permisos,  por medio de ACL, no podía leer el archivo salida posteriormente de aplicar la regla, el usuario4 puede leer los archivos.
Como se muestra en la siguiente imagen


La información es un recurso vital para toda organización, y el buen manejo de esta puede significar la diferencia entre el éxito o el fracaso para cualquier toma de decisión.

3.- Referencias


Seguridad-Encriptado de disco duro en Centos Linux

Para encriptar discos duros se usan los algoritmos de bloques simétricos (como AES o twofish).

Esos algoritmos toman un bloque de datos como entrada, lo procesan con la llave y lo mandan a la salida con la misma cantidad de datos en forma encriptado.

1.- Tecnología y herramientas
loop_fish2

cryptoloop

dm-crypt
losetup

crypsetup
LUKS

2. Implementación en Centos5
Archivos de configuración
   /etc/crypttab

El archive crypttab contiene información descriptiva acerca de los volúmenes encriptados
 /etc/cryptotab

El archivo  cryptotab  (observe la o) también contiene información acerca de los volúmenes encriptados de forma similar a crypttab
Init Script

 /etc/init.d/boot.crypto

Automáticamente instala todos los volúmenes especificados en /etc/crypttab y /etc/cryptotab durante el arranque.

Procedimiento:
Se prepara el dispositivo, para posteriormente asociarlo con el dispositivo looback.


[root@seguridad ~]# dd of=/dev/sdb  bs=1G count=0 seek=8
[root@seguridad ~]# losetup /dev/loop2 /dev/sdb

Para cifrar el dispositivo con Luks es necesario hacer los siguientes pasos, que pedirá una frase para generar la llave para cifrar:
Se prepara el dispositivo y se llena de ceros,  posteriormente se crea  el filesystem y se verifica,  por último se puede montar.
[root@seguridad ~]# cryptsetup -y luksFormat /dev/loop2
WARNING!
=======
This will overwrite data on /dev/loop2 irrevocably.
Are you sure? (Type uppercase yes): YES
nter LUKS passphrase:
Verify passphrase:
Command successful.
[root@seguridad ~]# cryptsetup  luksOpen /dev/loop2 secreto




[root@seguridad ~]#dd if=/dev/zero of=/dev/mapper/secreto
[root@seguridad ~]#mke2fs -j -O dir_index /dev/mapper/secreto
[root@seguridad ~]# tune2fs -l /dev/mapper/secreto
[root@seguridad ~]#mount /dev/mapper/secreto /home/inf/
El siguiente procedimiento es para desmontar el filesystem y eliminar el mappeo:

[root@seguridad ~]# umount /home/juser/home.back/
[root@seguridad ~]# cryptsetup luksClose secreto
[root@seguridad ~]# losetup -d /dev/loop2

Para volver a montar el FS se muestra en el siguiente cuadro.

[root@seguridad ~]#losetup /dev/loop6 /dev/sdc
[root@seguridad ~]#cryptsetup luksOpen /dev/loop6 secretote
[root@seguridad ~]#mount /dev/mapper/secretote /home/inf

En caso de que se quiera montar el disco sin tener la frase este marcara error “Command failed: No key available with this passphrase.”

El comando “cryptsetup status secretote”  nos muestra  si el dispositivo esta activo, de que tamaño es la llave y que dispositivo loop se esta ocupando.


Referencias