Modo RAID en server HP Blade con controlador P410i

December 29th, 2010

Los nuevos blade 860c i2 de HP vienen con una controladora “HP Smart Array P410i”, la cual viene configurada por defecto en modo HBA, me rebenté un poco la cabeza tratando de configurar el RAID ya que la mayoría de los foros hablaban que era un problema en el firmware desactualizado; la solución era un poco mas sencilla y es cambiar el modo HBA a RAID de la controladora con el commando “saupdate”. Acontinuación los pasos de cómo realizarlo.

1.- Iniciar el sistema ingresando al SHELL EFI, y esto se logra cargando el sistema operativo y estar pendiente a que aparezca el menú de opciones, alli se presiona la letra “S” la cual nos llevará al shell EFI.

2.- Consultar el modo que se encuentra la controladora, esto se hace con el commando
> saupdate get_mode p410i

3.- modificar el modo de la controladora con el comando
> saupdate set_mode p410i raid
Esto tomará no más de un minuto y para que los cambios sean efectivos es necesario reiniciar

4.- reiniciar el sistema, con el comando
> reset

Luego de reiniciado el sistema ya se puede crear el RAID 1+0 del siguiente modo:

1.- cargar el shell EFI

2.- consultar los drivers con el commando:
> drivers
aparecerá un listado y se busca el “Smart Array SAS Driver v.3.xx”, se deberá tener presente el valor de la primera columna, que normalmente es A4

3.- ejecutar el comando “drvcfg” para consultar el listado de dispositivos configurables, alli seguramente aparecerá algo como “Drv[A4]  Ctrl[A3] Lang[eng]”

4. ejecutar el comando “drvcfg -s a4 a3″ para que apareca el ORCA interface.

5.- alli ya se podrá crear el RAID 1+0.

Algunos enlaces:

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=us&prodTypeId=3709945&prodSeriesId=4186428&prodNameId=4204753&swEnvOID=54&swLang=13&mode=2&taskId=135&swItem=MTX-a7c00578488a405f9baa359b3e

http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1293596711857+28353475&threadId=1004437

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareIndex.jsp?lang=en&cc=us&prodNameId=4204753&prodTypeId=3709945&prodSeriesId=4186428&swLang=13&taskId=135&swEnvOID=54

Como construir el módulo oci8 para PHP

July 13th, 2010

Hola, las siguientes son las instrucciones para instalar el módulo oci8, este módulo se utiliza para realizar consultas a una base de datos oracle desde un linux con PHP.

Voy a colocar la información en español/ingles.

Como construir el módulo oci8 para PHP./Howto build oci8 extension module for php

SO Version: openSUSE 11.2 (x86_64)
Linux 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux

  • Instalar el paquete / Install package
# rpm -iv oracle-instantclient-basic-10.2.0.4-1.i386.rpm
# rpm -iv oracle-instantclient-devel-10.2.0.4-1.i386.rpm
  • Listar los archivos instalados / list the install files
# rpm -ql oracle-instantclient-basic-10.2.0.4-1.x86_64
 /usr/lib/oracle/10.2.0.4/client64/bin/genezi
 /usr/lib/oracle/10.2.0.4/client64/lib/libclntsh.so.10.1
 /usr/lib/oracle/10.2.0.4/client64/lib/libnnz10.so
 /usr/lib/oracle/10.2.0.4/client64/lib/libocci.so.10.1
 /usr/lib/oracle/10.2.0.4/client64/lib/libociei.so
 /usr/lib/oracle/10.2.0.4/client64/lib/libocijdbc10.so
 /usr/lib/oracle/10.2.0.4/client64/lib/ojdbc14.jar
  • Instalar el  rpm de php-devel y otras h erramientas desde el yast / install the php5-devel rpm from yast and other devel tools
# yast -i php5-devel gcc make
  • Descargar el paquete PECL OCI8 / download the PECL OCI8 package,
# wget http://pecl.php.net/get/oci8-1.4.1.tgz
  • Extraer el paquete / Extract the package:
# tar -zxvf oci8-1.4.1.tgz
# cd oci8-1.4.1
  • Preparar el paquete / Prepare the package:
# phpize
  • Configurar el paquete, utilizando el path de la instalación del cliente / Configure the package, either using path Instant Client
# ./configure  -with-oci8=shared,instantclient,/usr/lib/oracle/10.2.0.4/client/lib
  • Instalar el paquete / Install the package:
# make install
  • Verificar la instalación / Verify installation
"Installing shared extensions:     /usr/lib64/php5/extensions/"
 > ll /usr/lib64/php5/extensions/
 -rwxr-xr-x 1 root root 486841 Jul 13 11:56 oci8.so
  • Crear un enlace simbólico / Make a symbolic link
# ln -s /usr/lib/oracle/10.2.0.4/client64/lib/libnnz10.so  /usr/lib64/libnnz10.so
  • Despues de la instalación manual, edite su archivo php.ini y adicione la siguiente línea / After either an manual install, edit your php.ini file and add the line:
extension=oci8.so
  • Reinicie el servicio apache / Restart apache server
# /etc/init.d/apache2 restart
  • Dele una mirada a los archivos de logs / check logs files;
# cat /var/log/apache2/error_log | grep 'oci8.so'
  • Y tambien dele un chequeo al phpinfo(); / And check the phpinfo();

“OCI8 Support enabled “

Si no tienen ningun error, la instalación está OK / If don’t have any error, the installation is ok

================================================

Algunos enlaces de interés.

http://www.oracle.com/technology/pub/notes/technote_php_instant.html
http://co.php.net/manual/en/oci8.installation.php
http://rpmfind.net/linux/RPM/opensuse/11.2/x86_64/php5-devel-5.3.0-2.4.3.x86_64.html
http://www.alionet.org/index.php?showtopic=20998
http://download.opensuse.org/repositories/server:/php/server_apache_openSUSE_11.0/

Activando el “Escritorio Remoto” en equipos remotos

October 10th, 2009

La activación del escritorio remoto se hace en la opción de “Propiedades” de “Mi PC” y en la viñeta de “Remoto” y desde allí agregamos los clientes que tienen derechos de la conexión; pero cuando estamos alejados de un computador que no tiene escritorio remoto no hay acceso a esa función.

Para activar el servicio en esa maquina remota hacemos los siguientes pasos:

1.- Abrir el registro remoto: ejecutando regedit y haciendo clic en “Archivo”, “Conectar al Registro de red…” y escribiendo el nombre de la maquina

2.- Bajo la llave de registro “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” se busca un REG_DWORD llamado fDenyTSConnection, y cambiamos el valor DWORD desde 1 (Remote Desktop disabled) a 0 (Remote Desktop enabled).

3.- Para reiniciar el computador remotamente se ejecuta el comando: shutdown -m \\servername –r

Luego de esto ya podemos ejecutar “Conexión a Escritorio remoto” desde “Accesorios” –>  “Comunicaciones” y escribir el nombre del servidor que nos vamos a conectar.

Para estos pasos hay que ser administradores locales de la máquina remota o administradores del dominio.

Verificar las direcciones mac de equipos con ip fija

September 10th, 2009

En mi red tengo algunos equipos que tienen una direccion ip fija, ya sea por que son servidores, impresoras o equipos con navegacion sin restriccion y sin validacion por usuario.

Pero con esos equipos se corre el riesgo que algunos usuarios sin conocimiento de causa o sabiendo lo que hacen se asignan esa direccion ip.

Para chequear que esto no pase hice un script en .php que lee un archivo .txt donde está las informacion de la maquina, la direccion ip y la mac del equipo que tiene direccion ip reservada, esto hace un seguimiento segun una programacion en un crontab.

Requisitos: tener instalado nmap y php.

Pasos a seguir

1.- El archivo chequeosip.php lo guardas en el directorio /etc/

2.- Se crea otro archivo llamado /etc/equiposipunica.txt con el siguiente formato:

En la primera linea colocas tu correo o los correos a quienes les debe llegar la notificacion: micorreo@miempresa.com

En las siguientes lineas debes agregar los equipos a monitorear y lo agregas de la siguiente forma: nombredelamaquina,di.rec.cion.ip,macaddres,comentarios
Ejemplo del archivo:

micorreo@empresa.com,correopersonal@yahoo.com
computadorgerencia,192.168.0.100,aabbccddeeff,este es el computador del gerente!

3.- Creas un crontab con el comando “crontab -e” con la siguiente linea:

0 8,10,12,14,16,18 * * 1-5 /usr/bin/php /etc/chequeosip.php

Esto chequeará cada dos horas.

Y listo! a tener notificaciones de quien utiliza una ip sin solicitarlo.

“Pantallazo azul” (BSOD) en Windows Vista y 7 a través de unidades compartidas

September 8th, 2009

Laurent Gaffié ha detectado un fallo de seguridad en Windows Vista que podría permitir a un atacante provocar un BSOD (pantallazo azul, una denegación de servicio) con solo enviar algunos paquetes de red manipulados a una máquina que tenga activos los servicios de compartición de archivos (protocolo SMB).

El fallo (incomprensiblemente simple) está en el intérprete de las cabeceras SMB, concretamente en el driver srv2.sys. Como los controladores operan en el “ring0″, la capa de abstracción del sistema operativo más cercana al hardware (en contraste con el “ring3″, la capa de usuario que no interactúa directamente con él) un fallo en cualquier driver provoca que el sistema se bloquee por completo, al no poder manejar la excepción correctamente. Se trata del temido pantallazo azul, o BSOD. Los Windows anteriores a Windows 2000 no realizaban esta separación de seguridad entre capas, por lo que todo operaba en el mismo espacio de memoria y los fallos en el espacio de usuario podían causar un bloqueo total del sistema. De ahí que los pantallazos azules fuesen mucho más comunes en Windows 9x y Me.

El ataque es tan sencillo que recuerda a los “pings de la muerte” que hicieron estragos a finales de los 90 en los sistemas Windows. Contenían un fallo en la pila TCP que hacía que, si se enviaba un ping al sistema especialmente manipulado (simplemente especificando con un parámetro, por ejemplo, un tamaño mayor del paquete) se podía hacer que el sistema dejara de responder. Esto, unido a la carencia de cortafuegos del sistema, a que en aquellos momentos las conexiones se realizaban a través de módem (que carecía de protección por cortafuegos o NAT) y el hecho de no existir servicio de actualización automático del sistema, hicieron muy popular el ataque.

Este fallo en el protocolo SMBv2 de compartición de archivos requiere igualmente del envío de una sencilla secuencia de paquetes SMB (al puerto 445) al sistema víctima con las cabeceras manipuladas. El truco está en enviar un carácter “&” en el campo “Process Id High” de las cabeceras SMBv2. Esto provoca una excepción en srv2.sys que provoca el pantallazo azul. El exploit es público y realmente sencillo.

Vista mantiene el cortafuegos activo por defecto para su perfil “público”, y esto mitiga el problema. Pero todo depende del perfil. Si el usuario usa un perfil de cortafuegos (ya sea de dominio, o el perfil privado) en el que permite las conexiones a sus unidades compartidas (puerto 445, normalmente abierto en las redes locales) será vulnerable.

No es necesario que comparta realmente una unidad, solo que el protocolo SMB esté activo y preparado para compartir en su sistema. Esto puede resultar especialmente grave en redes internas.

No existe parche oficial disponible. Se recomienda filtrar el puerto 445 (y los implicados también en la compartición de ficheros 137-139) a través de cortafuegos. También es posible detener el servicio “Servidor” del sistema (aunque se puede llegar a perder funcionalidad). Otra contramedida posible es desactivar la casilla “compartir archivos e impresoras” que aparece en las propiedades de las interfaces de red.

Aunque el ataque no permite ejecución de código y es poco viable que pueda propagarse por la red pública, sí que puede resultar más que molesto en redes internas donde los usuarios normalmente mantienen reglas de cortafuegos mucho más relajadas. ¿Vuelven los tiempos del
“ping de la muerte”?.

Fuente: http://www.hispasec.com/

Sergio de los Santos
ssantos@hispasec.com

Más información:

Windows Vista/7 : SMB2.0 NEGOTIATE PROTOCOL REQUEST Remote B.S.O.D.
http://g-laurent.blogspot.com/2009/09/windows-vista7-smb20-negotiate-protocol.html

SSH: mejores prácticas

September 7th, 2009

Luego de cualquier instalación de un servidor linux o freebsd  la herramienta de administración remota ssh debe ser asegurada, con los siguientes pasos es fácil mejorar la seguridad de nuestro servicio ssh.

1.- LoginGraceTime

LoginGraceTime 30
Establece un tiempo de gracia para los usuarios que están iniciando una conexión al servidor; por defecto el valor es cero permitiendo que se solicite usuario y password de forma indeterminada. Lo recomendable es darle un valor de 30, este valor está dado en segundos, así cuando alguien intente hacer una conexión al servidor tiene un máximo de tiempo o su conexión será cerrada.

2.- PermitRootLogin

PermitRootLogin no
No es bueno que se permitan las conexiones del superusuario, una configuración por defecto es susceptible a un ataque por diccionario atacando al usuario root (que cualquier persona sabe que el superusuario por defecto es el usuario root).

3.- MaxAuthTries

MaxAuthTries 2
Configurando esta opción con un valor pequeño minimiza el riesgo de un ataque de diccionario a nuestro server, ya que permitirá que solo existan n+1 intentos de autenticación en el server para luego cerrar la conexión.

4.- MaxStartups

MaxStartups 1
Esta opción indica la cantidad de solicitudes de conexión simultaneas que puede tener un servidor, los ataques por diccionario realizan varias conexiones a un servidor para agilizar el intento de conexión, no conozco nadie que sea tan rapido o que necesite tanta urgencia que necesite autenticarse dos veces “al mismo tiempo” en un servidor.
Esta opción restringe a una sola vez la solicitud de conexión al server, luego de estar conectado puedes volver a abrir otra conexión para tu servidor.

5.- AllowUsers

Esto permite que un unico usuario o usuarios se puedan conectar desde cualqueir sitio o desde una red especifica:

AllowUsers juanjose  # conexion del usuario juanjose desde cualquier ip
AllowUsers alejandro@192.168.0.1 # conexion del usuario alejandro desde la ip 192.168.0.1
AllowUsers viviana@172.16.0.* # conexion del usuario viviana desde la red 172.22.0.0

6.- Port

Port 1234
El puerto por defecto es 22, cambielo a cualquiera de su preferencia, aunque se recomienda q sea menor de 1024.

Con estas sencillas configuraciones se puede mejorar la seguridad del servicio SSH.

Encapsular conexion Vnc

August 26th, 2009

Algunas veces queremos conectarnos a un servidor detras de un firewall linux, pero ese servidor tiene vnc o ms-terminal services, la preocupacion es el publicar un servicio vnc o ms-terminal.

Si tenemos un firewall linux frente a internet lo que podemos hacer es encapsular la conexion vnc por medio de ssh.

Y lo podemos hacer en 3 sencillos pasos:

1.- Crear la conexión.

Desde nuestro servidor linux ejecutamos el siguiente comando

ssh -L 5900:192.168.0.5:5900 200.35.95.23

Donde 192.168.0.5 es nuestro computador al que queremos llegar y la 200.35.95.23 es la direcion ip pública de nuestro servidor linux.

2.- Configurar Putty para la conexión encapsulada

Puedes utilizar cualquier otra aplicacion para conexiones ssh, yo me voy por putty

Al crear una nueva conexion putty en la opcion SSH-> Tunnels se configura source port 5900 y destination 127.0.0.1:5900 y seleccionamos la opción “Local ports accept connections from other hosts”, grabamos la configuración.

3.- Conexion putty

Realizamos la conexion a nuestro servidor con la configuración que creamos en putty, nos pregunta nuestro usuario y passwd y listo :D ya está creada la conexion.

4.- Conexion VNC

En nuestro aplicacion local vnc en vez de escribir la direcion ip remota escribimos la direccion 127.0.0.1,  escribimos el password remoto y listo.

Tenemos una conexion vnc encapsulada.

Si quieres hacer una conexion ms-terminal recuerda cambiar el puerto.

Monitoreo Squid

August 21st, 2009

Una gran utilidad de Linux es el comando grep, si se quiere en un servidor con squid instalado filtrar las navegaciones hacia internet ejecutamos el comando:

tail -f /var/log/squid/access.log

Este comando nos mostrará en tiempo real las conexiones que están pasando por nuestro squid server.

La mayoria de empresas dan acceso sin restriccion a messenger, y resulta aburrido estar viendo las conexiones hacia internet del messenger, para evitarlo utilizamos el siguiente comando:

tail -f /var/log/squid/access.log | grep -v 'application/x-msn-messenger'

Ya que las aplicaciones messenger vienen con ese encabezado.