Archivo

Archivo para la categoría ‘Seguridad Informática’

GoblinSoft

Jueves, 26 de diciembre de 2013 Sin comentarios

Hola!

En esta ocasión no les traigo un tutorial ni ninguna de esas guías de traumas que me fueron quedando de buscar y buscar configuraciones.

Les vengo a hablar de GoblinSoft, que no es ni más ni menos que un proyecto propio el cual arrancamos con un amigo. Ese proyecto tuvo como idea facilitar funciones para relevar información de dominios y demás tareas de redes. Principalmente la idea es relevar para con esa información aplicar las políticas de seguridad correspondientes a la red y al sistema.

De esa manera nació El proyecto Mamushka que centraliza escaneos de nmap, consultas de DNS, relevamiento de puertos, logins de usuarios servicios y archivos sin dueño, todas tareas resumidas en un menú que agiliza el trabajo.

Por este motivo, los invito a descargar el Software, visitar la WEB y ayudarnos con tan solo un Me Gusta o Twiteandolo.

Facebook: https://www.facebook.com/Goblinsoft

Twitter: https://twitter.com/goblinsoft

Nos vemos la semana que viene con algún tutorial o instructivo de uso de la herramienta.

Gracias por la ayuda y espero disfruten el programa y de los próximos que iremos sacando en breve.

How to Install Zimbra on Ubuntu 12.04

Martes, 10 de diciembre de 2013 Sin comentarios

Para la instalación de Zimbra 8.0.5 sobre Ubuntu 12.04, deberemos seguir los pasos descritos a continuación con el usuario root.

Eliminando paquetes

 

Antes de comenzar con la descarga e instalación, vamos a eliminar cualquiera de estos paquetes:

apt-get remove –purge apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common bind9 bind9-host bind9utils sendmail sendmail-base sendmail-bin sendmail-cf sendmail-doc sensible-mda bsd-mailx rmail samba

El motivo para eliminarlos es que interfieren con la instalación, generando problemas ya sea en la instalación de Zimbra como así también en su posterior uso.

Preparando el Sistema

 

  • Primero vamos a instalar los paquetes necesarios para que las dependencias de Zimbra se cumplan:

apt-get install netcat libidn11 libpcre3 libgmp3c2 libexpat1 libstdc++6 libperl5.14 sysstat sqlite3 pax

  • Configurar el archivo /etc/hosts para que apunte al nombre/dominio como muestra el siguiente ejemplo:

hosts-zimbra

La configuración del archivo /etc/hosts deberá ser efectuada pura y exlusivamente si no poseemos un DNS configurado con el registro A y el MX. Al instalar si no tenemos el MX con un DNS configurado marcara un error con los mismos.

  • Editar /etc/hostname y cargar nombre.dominio (correo.midominio.com)
  • En el caso de tener firewall verificar que se pueda acceder a los puertos:

zimbra-ports

Descarga de Zimbra

 

La descarga podemos ejecutarla desde la web o por linea de comando con el comando:

wget -c http://files2.zimbra.com/downloads/8.0.5_GA/zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz

Desempaquetar el archivo:

tar xzvf zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz cd zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038

 

Instalando Zimbra

 

Dentro del directorio veremos un archivo install.sh el cual vamos a ejecutar:

./install.sh

Veremos lo siguiente:

root@correo:~/zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038# ./install.sh

Operations logged to /tmp/install.log.2251 Checking for existing installation…

  zimbra-ldap...NOT FOUND
  zimbra-logger...NOT FOUND
  zimbra-mta...NOT FOUND
  zimbra-snmp...NOT FOUND
  zimbra-store...NOT FOUND
  zimbra-apache...NOT FOUND
  zimbra-spell...NOT FOUND
  zimbra-convertd...NOT FOUND
  zimbra-memcached...NOT FOUND
  zimbra-proxy...NOT FOUND
  zimbra-archiving...NOT FOUND
  zimbra-cluster...NOT FOUND
  zimbra-core...NOT FOUND

PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE. ZIMBRA, INC. (“ZIMBRA”) WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:

http://www.zimbra.com/license/zimbra_public_eula_2.4.html

Do you agree with the terms of the software license agreement? [N]

 

Confirmando con Y esto nos mostrará la licencia a la cual deberemos darle Y nuevamente. Al hacer esto, se hará una comprobación sobre el software de Zimbra:

zimbra-checking

Posterior a esto vamos a dejar todas las opciones por default:

zimbra-install-packages

Al aceptar comenzará la instalación y de no tener bien configurados los MX nos pasará un mensaje de error solicitando el cambio de dominio, al cual le diremos que No.

mx-zimbra

Seleccionado el No, vamos a ingresar al menu principal.

zimbra-main-menu

Para terminar la configuración en la cual deberemos seleccionar las opciones en el orden descrito a continuación:

  • Seleccionamos la opción 3.
  • Luego la opción 4 (Admin password).
  • El sistema nos propone una clave default, aquí deberemos escribir la clave deseada.
  • Presionamos enter para volver al menu anterior.
  • Presionamos la “a” para aplicar los cambios.
  • Al aplicar va a solicitar guardar a un archivo, dejamos el nombre por default, luego avisa que el sistema será modificado y seleccionamos Yes.

Terminados estos pasos podremos acceder a la web https://IP:7071 que es la consola de administración con el usuario admin@hostname.midominio.com y clave que hayamos cargado en el paso anterior.

 

 

 

 

 

Arquitectura en GNU/Linux

Viernes, 10 de agosto de 2012 Sin comentarios

CONFIGURACIÓN DE HARDWARE

Para entender la arquitectura del sistema GNU/Linux, deberemos primero familiarizarnos con los dispositivos y sus configuraciones. Si bien las configuraciones iniciales de Hardware se hacen en el BIOS, podremos desde el propio OS hacer asignaciones y modificaciones a placas de sonido, usb, adaptadores SCSI, puertos seriales, Discos Rígidos, etc.

¿Qué es el BIOS?

BIOS es un apócope que proviene de Basic Input/Output System. Es un firmware que prepara al Hardware para ser administrado por el OS. La preparación y verificación del Hardware la efectúa mediante el POST, (Power On Self Test), programa encargado de verificar el correcto funcionamiento de las piezas implicadas en el proceso de arranque. Una de las configuraciones más básicas de este sistema es el poder seleccionar de qué forma queremos que haga el inicio de la máquina.

En resumen, podemos decir que el BIOS, posee un software de bajo nivel, que permite efectuar configuraciones del hardware, antes que el Sistema Operativo inicie, brindando opciones de bootstrapping, día y hora, seguridad, etc. La forma que cada fabricante lo configura para el ingreso a su configuración puede variar, por cada fabricante y tipo de hardware, junto a las opciones que permite configurar.

Dispositivos de bootstrapping:

Dentro de estos dispositivos el BIOS buscara un gestor de arranque, un “OS Loader”, desde el cual pueda iniciar el Sistema, como pueden ser Linux Loader, (LILO), o GRUB, (Grand Unified Bootloader). Este dato se encuentra alojado en la MBR, (Master Boot Record), quien almacena las Tablas de Particiones junto con el bootloader o gestor de arranque. Dentro de las configuraciones, respetara el orden asignado, el cual suele ser CDROM, Hard Disk, USB, Network.

  • Unidad de CD/DVD
  • Disco Rígido
  • Red
  • Dispositivo de almacenamiento externo

Canales de Comunicación

Para que los dispositivos puedan comunicarse directamente con los recursos del sistema, el sistema almacena diversos canales de comunicación los cuales describiremos a continuación:

  • IRQ: Interrupt Request Lines, (Líneas de Solicitud de Interrupción), los cuales envían solicitudes de interrupción al CPU, generando que el mismo deje las tareas que está efectuando de lado para procesar la acción solicitada por el dispositivo. El número de IRQ va del 0 al 15.
  • I/O address: Dirección de Entrada/Salida, representa una dirección específica en la memoria, cada dispositivo tiene una dirección única asignada sobre la cual lee y escribe.
  • DMA: Direct Memory Access, (Acceso Directo a Memoria), Algunos dispositivos pueden ganar acceso directo a la memoria sin intervención del CPU mediante los canales DMA, lo cual permite liberar carga al procesador, proporcionando una mayor performance.

Cada uno de estos canales, posee su espacio dentro del directorio /proc dentro del filesystem. Este directorio contiene una jerarquía de archivos que muestran como esta funcionando el kernel en tiempo real, permitiendo ver como esta interactuando el Hardware con el Sistema. Veamos en detalle como interactuar mediante este directorio con los canales de comunicación mencionados anteriormente:

 

/proc/interrupts:

Dentro de este archivo, podremos notar las piezas de Hardware y que IRQ tienen asignado. Por ejemplo el 10 tiene asignada la interface de red eth1, el 11 usb, 14 y 15 asignados a los Hard Disk, etc. En la columna CPU0 vamos a ver la cantidad de interrupciones de cada pieza y esta columna será individual para cada núcleo, por lo tanto, podremos ver CPU0, CPU1, etc.

Los IRQ más comunes son:

/proc/dma:


Podremos ir viendo la información que este archivo tenga, ya que dependiendo de que pieza necesite tener el acceso directo a memoria.

/proc/cpuinfo:

Muestra información detallada sobre nuestro microprocesador.

/proc/devices:

Muestra los diferentes tipos de dispositivos de carácter y de bloque que tengamos cargados en el sistema, la mayor diferencia entre los de carácter y de bloque es:

 

  • Los dispositivos de carácter no requieren buffering. Los dispositivos de bloque disponen de una memoria intermedia o buffer que les permite ordenar las peticiones antes de tratar con ellas. Esto es muy importante para los dispositivos diseñados para guardar información, porque la habilidad de ordenar la información antes de escribirla en el dispositivo permite que ésta se almacene de forma más eficiente.
  • Los dispositivos de carácteres envían datos sin un tamaño preconfigurado. Los dispositivos de bloque pueden enviar y recibir información en bloques de un tamaño particular, configurable por dispositivo.

/proc/ioports:

En resumen, el directorio /proc es un sistema de archivo virtual que provee una interface directa con el Kernel.

USB, (Universal Serial Bus):

Es una arquitectura de comunicación diseñada para conectar dispositivos a la PC. Pueden ser divididos en 5 grandes grupos:

  • HID, (Human Interface Device
  • Communication Device
  • Mass Storage Device
  • Audio Devices
  • Display devices

Los drivers de los controladores USB se separan en 3 categorías:

  • Host Controller Drivers: Los drivers controladores del USB Host incluyen usb-ohci y usb-uhci.
  • Class Drivers: Estos drivers incluyen hid.o, usb-storage, acm.o, printer.o y audio.o.
  • Other Device Drivers: Hay muchos dispositivos que no entran en ninguna categoría, ni funcionan con dichos drivers, por ejemplo pwc.o, que es un driver de Philips para webcam.

Los más importantes de recordar son:

Driver Modulo
OHCI (Compaq) usb-ohci.o
UHCI (Intel) usb-uhci.o
EHCI ( USB 2.0) ehci-hdc.o

Dentro de estos tres grupos, cabe destacar que OHCI y UHCI son USB 1.1, los cuales manejan velocidades de 12 Mbps. EHCI es USB 2.0 y puede manejar un máximo de 480 Mbps.

Para poder ver los módulos que tenemos en uso actualmente, podemos recurrir a /proc/modules o lsmod.

Manipulando Módulos

Un modulo es dinámicamente linkeado al Kernel en funcionamiento cuando es cargado. Mucho de esto se realiza automáticamente. Sin embargo puede que alguna vez se tenga que manipular los módulos manualmente. Por ejemplo si hay alguna incompatibilidad con algún driver en particular y se tiene que bajar el código fuente de uno nuevo, compilar e insertar el nuevo modulo al Kernel en funcionamiento.

Las funciones que vamos a utilizar para manipular los módulos son:

insmod Agrega un módulo
rmmod Remueve módulos
modinfo Muestra información del módulo
modprobe Carga y remueve módulos

Ejemplos:

#Intentar cargar los módulos de red hasta que uno lo consiga

modprobe –t  net

#Intentar cargar los módulos disponibles de red

modprobe –at net

#Con el siguiente comando más el módulo, podremos remover o resolver dependencias

modprobe –r

#Listar los módulos disponibles para su uso

modprobe –l

Controladora SCSI

Existen 2 tipos de interfaces SCSI:

  • Interface de 8 bit, la cual soporta 8 dispositivos incluyendo el controlador, por lo cual solo hay 7 espacios para dispositivos.
  • Interface de 16 bit o WIDE, que soporta 16 dispositivos incluyendo el controlador, por lo cual posee disponibles 15 lugares para dispositivos.

Estos dispositivos son identificados por  un ID que posee SCSI de 3 números:

  1. Canal SCSI: soporta un dispositivo por cada canal y comienza desde el 0 en adelante.
  2. Número de ID del dispositivo: El ID va del rango 0-7 0-15, dependiendo del tipo de interface.
  3. LUN, (Logical Unit Number): Indica las particiones dentro de un mismo dispositivo.

Para ver el ID podemos ejecutar un cat al archivo /proc/scsi/scsi, el cual arrojará los siguientes resultados:

Tarjetas de sonido

Actualmente existen 2 proyectos que gestionan los módulos y controladores para las placas de sonido:

  • OSS (Open Sound System): Fue introducido a partir del Kernel 2.0 y posee soporte para varias plataformas UNIX.
  • ALSA (Advanced Linux Sound Architecture): Introducida desde el Kernel 2.6.

Generalmente la placa de sonido es configurada durante la instalación del sistema, pero en caso de tener algún problema, podremos descargar de las respectivas páginas los módulos y compilarlos.

Puertos Seriales

El modem usa una interface serial para las comunicaciones, toda la información es enviada de forma secuencial sobre 2 cables que manejan la entrada y salida de información. La información que ingresa es trasladada en paralelo con la que sale de la PC. Esta translación es efectuada por el UART, (Universal Asynchronous Receiver/Transmitter).

En GNU/Linux, los dispositivos Serial son nombrados como ttyS, para saber si tenemos un dispositivo Serial en nuestro equipo, podemos ejecutar el siguiente comando:

$dmesg | grep ttyS

La correlación entre Microsoft Windows y GNU/Linux se detalla en la siguiente tabla:

DOS Linux
COM1 /dev/ttyS0
COM2 /dev/ttyS1
COM3 /dev/ttyS2

Para tener la configuración de UART por default, podemos ejecutar el comando setserial. La cadena debe ser de la siguiente manera:

$setserial <device> port <I/O> irq <nº de irq> autoconfig

Ejemplo:

$setserial /dev/ttyS0 port 0x3f8 irq 4 autoconfig

Para configurar la velocidad del Puerto serial, vamos a utilizar nuevamente el commando setserial:

$setserial /dev/ttyS0 spd_shi

Opción de Velocidad Descripción
spd_hi Usa 56kb
Spd_vhi Usa 115kb
Spd_shi Usa 230kb
Spd_warp Usa 460kb

Con esto, ya tenemos, mucho mas que una simple base, para saber como manejarnos con la arquitectura propuesta por el Sistema Operativo.

Espero les sea de utilidad, voy a estar actualizando el Blog nuevamente con informacion, tanto para certificaciones, como datos complementarios de GNU/Linux, Virtualizacion y Seguridad.

Saludos!

Muere Dennis Ritchie Padre de Unix

Jueves, 13 de octubre de 2011 Sin comentarios

A pocos días de la muerte de Steve Jobs, falleció otro genio de la informática Dennis Ritchie. Muchos se preguntarán… ¿quién es este personaje?

Dennis no es ni más ni menos que el CREADOR del Lenguaje de programación C y creador junto con Ken Thompson del Sistema Operativo Unix. Su muerte fué comunicada por Rob Pike en Google+ informando que a los 70 años de edad, había muerto en su hogar por una larga enfermedad

.

Sus aportes junto a Ken Thompson en el campo de los sistemas operativos genéricos y el desarrollo del sistema Unix han sido reconocidas con el Premio NEC C&C en 1979, con el Premio Turing de la ACM en 1983 y con la Medalla Nacional de Tecnología de los Estados Unidos en 1998.


Les dejo los 2 libros escritos por el los cuales les pueden servir para ampliar conocimientos.

  1. Unix Programmer’s Manual
  2. The C Programming Language

Otra mente brillante que nos deja.

Categories: Seguridad Informática Tags:

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!