Archivo

Archivo para septiembre, 2011

Primeros pasos en pfSense

Jueves, 15 de septiembre de 2011 Sin comentarios

Antes de empezar con cualquier tipo de explicación, vamos a ver un poco de que se trata pfSense.

pfSense es un sistema basado en FreeBSD de código abierto, el cual cumple las funciones de Firewall y Router. Este sistema, permite una gran variedad de paquetes los cuales complementan sus funcionalidades y permiten que sea sumamente versátil. Para ver un poco más de dicho sistema, pueden ingresar a la web oficial http://www.pfsense.org/. En la misma figuran diferentes en laces con documentación, el foro de soporte, etc.

¿Qué requisitos mínimos de Hardware se necesitan para pfSense?

  • CPU – 100 Mhz Pentium
  • RAM – 128 MB
  • Lectora de CD o puerto USB
  • 1 GB de espacio en Disco

Para efectuar la descarga del LiveCD podemos recurrir al siguiente link el cual además nos permite descargar una imagen ya armada de VMware con el pfSense instalado.

Nosotros vamos a centrarnos en la instalación y configuración inicial del LiveCD. Mejor que muchas palabras confusas es mejor un video, por lo que paso a dejarles el mismo a continuación.

Una de las utilidades que siempre buscamos a la hora de instalar este tipo de sistemas, es la de control, poder brindar un nivel más amplio de seguridad, ya sea en nuestras casas para impedir que los integrantes de la familia naveguen por lugares prohibidos o bien en las empresas efectuar la misma acción para con los empleados.
Para ello pfSense posee dentro de sus paquetes el squid y squidGuard, quienes actúan como proxy y filtrado de contenidos.

¿Como funciona esta herramienta? Vamos con otro video-tutorial.

Por el momento eso es todo, les recomiendo navegar un poco más por la web oficial y el foro de soporte para buscar más funcionalidades que se adapten a sus necesidades. Posee además un manual el cual se puede adquirir en Amazon como complemento.

Un saludo y espero sea de su agrado!

Compilar Kernel de Linux

Martes, 13 de septiembre de 2011 Sin comentarios

Linux Kernel

 

¿Qué es el Kernel?

Como su nombre lo indica, es el núcleo del sistema. El Sistema Operativo es un programa que gestiona y administra a todos los demás programas llamados Software. El Sistema Operativo es el intermediario entre el Software y el Hardware. Muchas personas creen que Linux es el Sistema Operativo, lo cual es una idea errónea, Linux es solo el Kernel, el Sistema Operativo es Debian, RedHat, OpenSUSE, etc, quienes utilizan a Linux como su Kernel, quien junto a otras aplicaciones GNU hacen que todo funcione.

Para poder verificar las versiones del Kernel y efectuar las descargas para actualizarlo, podemos dirigirnos a la siguiente página web “http://www.kernel.org/

Existen dos tipos de Kernel en Linux los cuales veremos a continuación:

1.    Monolítico: Este tipo de Kernel engloba todos los servicios del sistema, posee un rendimiento mayor que el de un micronucleo. Esto es posible porque todas las funcionalidades posibles están integradas con el sistema. Cualquier cambio efectuado sobre cualquier servicio requiere la re-compilación del Kernel y el reinicio del sistema para aplicar los cambios.
2.    Modular: Un Kernel modular tiene compilados archivos como objetos, los cuales el Kernel puede cargar o remover bajo demanda. Estos modulos se encuentran en /lib/modules. Lo positivo del Kernel Modular es que no hace falta reiniciarlo al efectuar algún cambio. No tiene sentido que el Kernel se comunique con todos los periféricos, por lo cual lo que en otros Sistemas Operativos se llaman drivers, pero en Linux se desarrollo una interface adecuada para crear los módulos que cumplan las mismas funciones, pudiendo estos ser añadidos en tiempo de ejecución.

IMPORTANTE: La parte monolítica se carga en el arranque y está activa en todo momento, sin embargo los módulos únicamente se activan cuando se requiere utilizar ese dispositivo en concreto.

Para poder administrar los diferentes módulos, tenemos un paquete llamado modutils, las aplicaciones contenidas dentro de este paquete son:

•    lsmod: Lista los módulos cargados
•    rmmod: Elimina un modulo.
•    insmod: Inserta un modulo.
•    modprobe: Inserta los módulos y las dependencias listadas en modules.dep.
•    modinfo: Lista información del autor, tipo de licencia y parámetros de los módulos.

Algunos módulos son dependientes de otros módulos. Estas dependencias se sitúan en una base de datos plana situada en /lib/modules/<versión de Kernel>/modules.dep.  Este archivo es generado por el comando depmod, el cual es lanzado al iniciar la PC.

Para cargar cualquier modulo listado en modules.dep o modules.conf podemos utilizar el comando modprobe. El archivo modules.conf es consultado por los IRQ y los IO ports, pero generalmente se encarga de almacenar los alias de los dispositivos, así en lugar de referirnos al dispositivo por el nombre genérico, podemos utilizar el alias.

Ejemplo: si tenemos una placa de red que se llama Realtec RTL8100B(L), mediante el modules.conf, le podremos asignar el nombre eth0 y llamarla por el mismo lo cual es más fácil de memorizar.

Versiones del Kernel:

Cada versión posee 3 dígitos los cuales sirven para saber con qué tipo de Kernel se está trabajando.
-    El primer número siempre indica la versión principal, solo cambia cuando se produce un cambio significativo en el núcleo.
-    El segundo número hace referencia a cambios menos significativos y si la versión es estable o de desarrollo. Si el número es par es estable y si es impar es de desarrollo.
-    La tercera y última marca nuevas versiones dentro de otra versión, pero solo muestra que se han corregido errores de programación llamados bugs.

Cómo y por qué compilar un Kernel:

Compilar el Kernel es algo bastante habitual, es el mecanismo por el cual los archivos fuente, escritos en modo texto a un lenguaje de programación que el procesador pueda leer llamados binarios. Como el Kernel es un programa, como cualquier programa primero debe compilarce para crear los binarios que permitan la ejecución del programa. Para esto es necesario un compilador, que en el caso de Linux es utilizado el llamado gcc, quien chequea la sintaxis del código.
Compilar el Kernel sirve para tener un buen rendimiento entre el Software y el Hardware.

Pasos para la compilación del Kernel:

Lo primero que deberemos hacer es ingresar a la web mencionada anteriormente para descargar la última versión del Kernel disponible http://www.kernel.org/.  Debemos descomprimir los archivos fuente en el directorio “/usr/src/” que es donde se debe hacer el proceso de compilación. Luego de descomprimido el Kernel, creamos un enlace simbólico a /usr/src/linux ya que algunas aplicaciones se referencian a este directorio. Luego de acceder al nuevo directorio y modificamos las opciones que debe llevar el nuevo Kernel. Para esto tenemos 3 opciones, las cuales voy a enumerar, cada una es más visual que la anterior:
1.    make config: esto maneja las configuraciones en modo texto y funciona en base a preguntas que se van efectuando y que nos permiten 3 opciones para responder a las mismas “y” para compilar como parte del Kernel, “m” para compilar como módulo y para no compilar deberemos contestar “n”.
2.    make menuconfig (recomendada): Basado en modo texto, funciona en base a una ventana de menúes bastante gráfica y con ayudas.
3.    make xconfig: Basado plenamente en una interface gráfica.

Ejecutando el comando recomendado se desplegará un menú de opciones en las cuales podremos modificar la compilación de nuestro Kernel. Las mismas son:

-    []: Significa que puede ser agregado o no al Kernel.
-    <>: Que se puede agregar  M como módulo o * incluirlo en el Kernel.

Luego de marcar todo lo que necesitemos, vamos a compilar dicha selección, ejecutando los siguientes comandos:

•    make dep: Este comando es necesario pues crea las dependencias para los módulos marcados.
•    make clean: Borra todas las configuraciones anteriores.
•    make bzImage: Este comando lo que hace es comprimir el Kernel que creamos.

Ya realizados estos pasos solo queda compilar los módulos que hemos definido.
•    make modules
•    make modules_install: Crea los directorios e instala los módulos del paso anterior

Con todos estos pasos realizados solo queda copiar el Kernel al directorio correspondiente y editar el gestor de arranque. Para copiar el Kernel en el directorio correcto, debemos saber que el lugar en el cual queda la imagen del nuevo Kernel compilado es “/usr/src/linux/arch/i386/boot/” con el nombre bzImage. Por lo tanto debemos ejecutar el comando “cp bzImage /boot/vmlinuz-x.x.x-1”, deberemos reemplazar las x por la versión correspondiente y el -1 hace referencia a que es el nuevo Kernel en el caso que el anterior posea el mismo nombre. Eso se debe hacer para no pisar el Kernel anterior el cual se encuentra funcional y puede servirnos en caso de que algo falle.
Ahora para editar el gestor de arranque, vamos a añadir la siguiente entrada:

En el caso de LILO: Archivo de configuración : /etc/lilo.conf

image=/boot/vmlinuz-2.6.8-1
label=linuxnuevo # aquí va el nombre que quiera ponerle.
read-only
initrd=/boot/initrd-2.6.8-1.img
append=opciones # aquí van las opciones que necesiten. Por ejemplo:
append=”hdc=ide-scsi” (esto sería para una grabadora)

Si se construyo una imagen nueva initrd hay que informarle a LILO que la utilice. Ejecutar el comando lilo sin ninguna opción y esto hará que el programa lea la configuración del archivo de configuración. Si hay un error será indicado.

En el caso de GRUB: Archivo de configuración: /boot/grub/menu.lst

boot=/dev/hda
default=0
timeout=10

title Debian GNU/Linux (2.6.8)
root (hd0,1)
kernel /boot/vmlinuz-2.6.8 ro root=LABEL=/
initrd /boot/initrd-2.6.8.img

title Debian GNU/Linux (2.6.8-1)
root (hd0,1)
kernel /boot/vmlinuz-2.6.8-1 ro root=LABEL=/
initrd /boot/initrd-2.6.8-1.img

title windows
root (hd0,0)
chainloader +1
Como pueden ver agregamos lo que figura marcado en negrita. Al reiniciar la PC deberían figurar las 3 opciones que se muestran de arranque.

Con eso ya tenemos el nuevo Kernel completamente funcional.

Espero les sea de utilidad. Les dejo el Link de descarga.

Un saludo.

Categories: Seguridad Informática Tags:

vSphere Creación de máquina virtual

Lunes, 5 de septiembre de 2011 Sin comentarios

Como crear una maquina virtual en vSphere

Introducción:

Para empezar debemos definir que es una maquina virtual. Una maquina virtual es un programa de computadora que, como un equipo físico, corre un sistema operativo y aplicaciones de forma independiente. Todos los procesos que se ejecutan se encuentran limitados por los recursos y abstracciones proporcionados por la misma, y tiene beneficios adicionales en cuanto a movilidad y a seguridad.

Tips a tener en cuenta antes de crear una VM:

Ahora que ya tenemos en claro que es una maquina virtual, vamos a ver algunos items que necesitamos conocer antes de crear una maquina virtual.

1) Saber en que datastore vamos a ubicar la VM
2) Las necesidades del cliente y que utilidad va a darle a dicha Máquina Virtual.
3) Tipo de Sistema Operativo y cantidad de recursos a asignar en base a las prestaciones brindadas por dicha VM.
4) Cantidad y tipo de NIC’s a configurar para compatibilizar con la red.

Iniciando la Creación de la VM:

1. El primer paso de la instalación nos permite optar por una de estas opciones:
• Typical: La cual nos permite configurar el nombre del equipo, ubicación en el Storage, Seleccionar el Sistema Operativo, Configuración de Networking y Tipo de disco.
• Custom: La cual nos permite configurar además de las nombradas anteriormente la Versión de Máquina Virtual, cantidad de CPU’s, Cantidad de Memoria RAM y Tipo de controlador SCSI.
2. Marcamos Custom y para continuar la configuración pulsaremos Next.

Imagen

3. Luego tendremos que definir el Nombre que va a llevar la Máquina Virtual. Una vez ingresado el nombre pulsaremos Next.
4. Ahora tendremos que seleccionar el Storage como muestra la siguiente imagen:

Imagen

¿Qué es el Storage?
El Storage es el lugar en el cual se guardara toda la información de la VM. Es un espacio en el disco rígido el cual es utilizado por vSphere para guardar los contenedores de las máquinas creadas.
5. Ahora tendremos que elegir la versión que tendrá nuestra maquina virtual, en esta ocasión elegiremos la versión 8 ( es la nueva versión que aparece a partir de vSphere 5.0)

Imagen

6. En el paso siguiente nos permite seleccionar una variedad de Sistemas Operativos. En el caso de no encontrar el que vamos a utilizar nos permite seleccionar la opción “Otros”.0
7. Luego de presionado “Next”, nos permite configurar el CPU de la VM. Las limitaciones son directamente proporcionales al Procesador nativo de la PC

Imagen

8. Una vez definida la configuración de los CPU’s, debemos adaptar los valores necesarios de Memoria RAM para el óptimo funcionamiento del equipo.

Imagen

9. Ahora nos aparece la ventana de configuración de networking. En ella debemos seleccionar cuantas NICs tendrá nuestra maquina y qué tipo de adaptador será.

Imagen

NOTA: Para tener una mejor idea de que adaptador seleccionar es recomendable visitar las guías que brinda vmware sobre las mejores prácticas, que se puede ubicar en http://www.vmware.com/support/vsphere4/ … notes.html
10. Una vez efectuada la configuración de la RED, vamos a hacer la configuración SCSI. Si tenemos dicha tecnología integrada en la PC servidor, la mejor opción es seleccionar Vmware Paravirtual y utilizar dichos drivers.

Imagen

11. Configuración del Disco Duro: Debemos especificar si queremos crear un disco nuevo, usar uno existente o no crear un disco. En este caso vamos a seleccionar crear un disco nuevo, luego tendremos que definir el tamaño de nuestro disco y su tipo de aprovisionamiento ( recomiendo Thin Provisioning)

Imagen

12. El último paso para terminar la configuración son las Opciones Avanzadas del disco. En dicha configuración podremos configurar el Nodo del disco y como se comportara al momento de hacer Snapshots. Una vez configurado presionamos Next.

Imagen

13. A continuación nos mostrará un resumen de al configuración de la VM. Si estamos seguros de cada configuración presionamos Finish para terminar.

Imagen

Con esto ya tenemos la VM lista para la instalación del Sistema Operativo y su puesta en producción. La misma podrá ser vista desde el inventario accediendo con el vSphere Client al Host.

Esta guía fue efectuada por un compañero de trabajo Gabriel Diaz y dejo el link al post relacionado. Ese foro está en proceso y será dado de alta a partir de hoy a las 22 hs Argentina. Espero que participen y les guste.

Saludo y nos vemos en el próximo post.