Rincón Informático

Un rincon para hablar sobre GNU/Linux, seguridad informatica, y mas!!

Como instalar CakePhp en Debian

Posted by jhonber On Febrero - 17 - 2010

Wikipedia:

CakePhp es un framework de desarrollo de aplicaciones web escrito en PHP, creado sobre los conceptos de Ruby on Rails.

cakephp Como instalar CakePhp en Debian

Para más información -> página oficial http://cakephp.org/

Lo primero que necesitamos es una versión de CakePhp Descargar.

Nota: Necesitamos un Servidor Apache.

Una vez descargado y descomprimido el archivo, nos quedará una carpeta con un nombre como este: cake_1.X.X  por facilidad es mejor cambiarle el nombre, podríamos colocarle “cake”.

Debemos copiar la carpeta completa en  /var/www

Ahora probamos en el navegador:

http://localhost/cake

Si nos sale algo como esto:

cake3g Como instalar CakePhp en Debian

Significa que no esta debidamente configurado el Servidor Apache.

Configurando el apache

Habilitamos el modulo rewrite.

#  a2enmod  rewrite

Modificamos el archivo   /etc/apache2/sites-available/default

# vim  /etc/apache2/sites-available/default

Buscamos estas líneas:

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

Y cambiamos None por All, quedando así:

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

Por último reiniciamos el Apache

#  /etc/init.d/apache2  restart

Probamos de nuevo en el navegador, y nos debe salir algo como esto (con colores):

cake4d Como instalar CakePhp en Debian

Ya podemos empezar a cocinar nuestras recetas :D !!.

Algunas personas se pueden estar preguntando como se puede configurar CakePhp para ser accedido desde el directorio public_html. Esto se logra indicándole a CakePhp la ruta para que pueda ser visible desde dicho directorio:

Agregamos esta línea  RewriteBase  /~user_dir/cake_install/ en  cake/.htaccess  y también en cake/app/webroot/.htaccess:

user_dir = Directorio personal.

cake_install = Nombre de la carpeta que contiene CakePhp.

#  vim  cake/.htaccess

RewriteEngine on

RewriteBase  /~user_dir/cake_install/

RewriteRule ^$ app/webroot/ [L]

RewriteRule (.*) app/webroot/$1 [L]

# vim cake/app/webroot/.htaccess

RewriteEngine On

RewriteBase /~user_dir/cake_install/

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

Colocamos en el navegador:

http://localhost/~usuario/cake

Ahora si a cocinar!! Hasta la próxima.

Instalación y configuración de un servidor ssh en Debian

Posted by fortress On Febrero - 14 - 2010

Una de las herramientas indispensables para administrar los servidores es a través de SSH (Secure SHell). Pero antes, un poco de teoría.

Definición

“SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la maquina mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.

Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH” (Wikipedia).

Funcionamiento

El cliente inicia la conexión hacia un puerto predeterminado del servidor, en este caso el puerto reservado número 22. Establecida la conexión TCP los extremos se envían, en texto plano, sus identificadores de versión, para ver si la comunicación es posible entre ellos. De ser compatibles entre sí cambian a un modo de transferencia binaria durante el cual se identifican los interlocutores y se negocian los protocolos de cifrado y firma que se usarán.

Esta negociación de protocolos se lleva a cabo de tal manera que la información intercambiada entre cliente y servidor sólo puede ser descifrada por el destinatario legítimo de la misma, y sólo por él. Para ello al principio de esta fase el servidor envía al cliente su clave pública, para que el cliente la use para cifrar todos los mensajes siguientes hacia el servidor, haciéndolos sólo legibles para el propio servidor. Entonces el cliente genera una clave de cifrado para la sesión en curso, que envía cifrada al servidor junto con el algoritmo seleccionado, y a partir de este momento todo el tráfico entre cliente y servidor viaja cifrado y seguro.

Llegados a este punto el cliente y el servidor se han puesto de acuerdo en un cierto algoritmo de cifrado, han acordado una clave para su sesión, y el servidor se ha identificado ante el cliente con su clave pública RSA (u opcionalmente DSA, en la versión 2 del protocolo). Pero aún falta que el cliente se identifique ante el servidor, que deberá decidir entonces si deja o no acceder al cliente remoto. La identificación del cliente podrá ser mediante pareja de usuario y contraseña, rhost, rhost más identificación de máquina mediante clave RSA o simplemente mediante claves RSA o DSA.

De todos los mecanismos sólo nos interesan el primero y el último. En el primero, el servidor nos dará acceso siempre y cuando la pareja de usuario y contraseña introducida por el cliente sean los de un usuario válido en el sistema operativo del servidor, salvo restricciones adicionales. En la identificación por claves el cliente dispone, al igual que el servidor, de su propia pareja de claves, que envía al servidor durante la identificación. Si el servidor confía en el usuario cuya clave ha recibido, entonces le dará permiso de acceso.

A grandes rasgos el mecanismo de conexión y de identificación del protocolo SSH es sencillo, aunque conviene destacar un par de aspectos relevantes de cara al uso y configuración de los programas relacionados:

  • Las conexiones las inicia siempre el cliente hacia el puerto TCP número 22 del servidor.
  • Las versiones de los protocolos soportados por cliente y servidor deben coincidir, o la conexión no se llevará a cabo.
  • El servidor siempre necesita disponer de una pareja de claves, puesto que usa la clave pública para establecer la conexión segura con el cliente. El tipo de clave tiene que estar soportado en el cliente.
  • El cliente y el servidor deben tener algún algoritmo de cifrado en común, o la conexión no se establecerá.
  • Dependiendo de los mecanismos de identificación soportados por ambas partes, o exigidos por el servidor, la identificación podrá o no fallar.
  • Aún cuando haya un mecanismo de identificación soportado por ambas partes, el cliente deberá proporcionar credenciales válidas al servidor, bien sea una pareja de usuario y contraseña, bien una clave pública.

Al margen de todo lo anterior, el servidor del protocolo SSH, sshd podrá implementar restricciones adicionales de acceso, así como el propio sistema operativo donde ejecuta. Por ejemplo, no es infrecuente que sshd esté compilado con soporte de TCP-wrappers, que esté configurado para aceptar o rechazar el acceso a determinados usuarios o máquinas cliente, o simplemente que algún firewall intermedio no permita establecer la conexión.

Instalación y configuración inicial

1.-Abrir una terminal como root y escribir:

# Apt-get install openssh-server

2.-Cuando se termina de instalar viene con una configuración por default que debemos cambiar para tener una mejor seguridad para esto nos vamos al archivo /etc/ssh/sshd_config

# Vim /etc/ssh/sshd_config

El archivo es algo extenso solo se mencionaran las secciones que son de gran importancia:

El servicio SSH por default trabaja sobre el puerto 22 pero se puede cambiar:

Port 22 ## PUERTO POR DEFAULT

El parámetro ListenAddress especifica las direcciones de las interfaces de donde se van a recibir peticiones OJO con esta sección si vamos a accesar desde una red externa como la casa entonces dejarlo como esta sino pues hay que especificar la red:

ListenAddress 0.0.0.0 ## IP por Default para acceder desde cualquier red

Esta es la sección critica a mi manera de ver porque indicamos si el usuario ROOT puede acceder vía ssh yo en lo personal lo deshabilito y entro con un usuario del sistema diferente a root

PermitRootLogin no

También podemos especificar si se va a ejecutar aplicaciones graficas mediante SSH por ejemplo podemos usar VLC a través de SSH por si no son muy dados a usar comandos yo lo dejo como esta:

X11Forwarding no

Otra opción es permitir el acceso a ciertos usuarios de la siguiente manera:

AllowUsers tusuario, miotrousuario, uncolado

En fin son muchas las opciones que trae el archivo seria bueno que le echaran un vistazo y modifiquen lo que mejor crean ustedes que es para su servidor pero siempre pensando en la seguridad y los riesgos que conlleva hacer una mala configuración.

Por último reiniciamos el servicio:

# /etc/init.d/ssh restart

NOTA: Si están detrás de un firewall tienen que abrir el puerto que han especificado pero si están en DMZ pues les recomiendo que pongan reglas IPTABLE por seguridad.

Ahora a hacer un test desde un cliente usando el terminal:

# Ssh usuario@midominio

Cuando se logueen verán lo siguiente:

Cuando se loguea

También se pueden conectar desde un Windows utilizando la herramienta Putty

Loguearse usando Putty

Mas info sobre configuración: Aquí

Fuente: Aquí

Descargar el Putty: Aqui

Como traducir Windows XP de Ingles a Español y otros idiomas

Posted by Epsilon On Enero - 30 - 2010

Muy seguramente alguno de ustedes  fieles lectores han recibido o conocen  alguien que ha recibido una laptop que ha sido mandada desde otro país, los motivos son varios:

  • Mas tecnología.
  • Menor precio.
  • Diversidad de marcas.
  • Entre otros…

Uno de los principales inconvenientes con este tipo de laptop’s es el idioma que trae configurado el sistema operativo (generalmente Windows), muchos usuarios pensaran que la única solución a este problema es formatear e instalar una versión en español,  sin embargo existe una aplicacion llamada Windows XP Multilingual User Interface (MUI) la cual nos ayuda a traducir todo nuestro sistema operativo sin formatear ni perder ningún dato. El procedimiento que debes seguir para pasar de ingles a español tu windows, es el siguiente:

  1. Debemos prevenir algún error, así que creamos un punto de restauración en nuestro sistema (inicio – todos los programas -  accesorios – herramientas del sistema – restaurar sistema) allí escoges  la opción de crear un punto de restauración y sigues las instrucciones. Esto nos ayudara a que si falla  la traducción del sistema operativo podamos volver a dejar todo como estaba.
  2. Descargamos la aplicacion desde aca.
  3. Lo descomprimos y ejecutamos el archivo MUISETUP.EXE.
  4. Ahora leemos TODA la licencia y respondemos si estamos o no de acuerdo con la misma.
  5. aceptar licencia

  6. En el siguiente pantalla seleccionamos la casilla spanish e indicamos que este sera nuestro idioma predeterminado.
  7. seleccionar idioma

  8. Por ultimo damos ok, esperamos a que se instale y reiniciamos.
  9. Solo nos queda ir a panel de control- Configuraciones regionales y de idiomas, y seleccionamos el idioma español en TODAS las pestañas.
  10. seleccionar idioma Como traducir Windows XP de Ingles a Español y otros idiomas

  11. Reiniciamos de nuevo para visualizar los cambios.

Este pack tiene la traducción solamente de ingles a español, sin embargo  para aquellos usuarios que tengan su sistema operativo en otros idiomas les dejo el paquete necesario, solo basta instalarlo de la misma forma que  hemos explicado anteriormente:

Monitorear procesos en GNU/Linux

Posted by Epsilon On Enero - 19 - 2010

En entornos Unix existen  herramientas para todos los gustos que nos ayudan a monitorear o  administrar procesos,  en esta entrada nombraremos algunas aplicaciones nativas de Unix y otras que no lo son, y que nos sirven para visualizar los procesos del sistema su pid,  y otra informacion importante.

Comando PS

Es un comando muy util y con muchas opciones, para listar los procesos que se estan corriendo en el sistema podemos hacer lo siguiente:

ps -e

ps -A

Con cualquiera de los dos comandos anteriores podemos listar  los procesos con su respectivo PID.  Si deseamos mas informacion como:   el usuario, la carga de cpu y memoria, el tiempo y por supuesto su nombre con la ruta del ejecutable usamos los siguientes parametros :

ps -aux

Ahora si deseamos encontrar un proceso  en especifico podemos usar grep

ps -e | grep guake

Herramienta Top

Existe una herramienta un poco mas interactiva que viene por defecto en todas las  distribuciones de GNU/Linux llamada top, esta aplicacion nos muestra en tiempo real toda la informacion relevante de cada proceso que se esta ejecutando, para lanzarlo solo basta escribir en consola top:

top_procesos

En la imagen vemos claramente alguna informacion importante como:

  • PID
  • USUARIO
  • %CPU
  • %MEMORIA
  • NOMBRE

Herramienta Watsup

Por otra parte si no eres muy amante de la consola, watsup es la herramienta perfecta para ti,  es un monitor de procesos  grafico de codigo abierto (GPL), para descargarlo puedes ir a este enlace para instalarlo debemos seguir estos sencillos pasos:

make
make install

Para ejecutarlo simplemente escribes en una consola watsup  o tecleas alt+f2 y escribes watsup, inmediatamente nos saldra la pantalla en la cual podemos ver los proceso actuales e incluso matar el que nosotros deesemos:

proceso-watsup

Ataque de fuerza bruta con diccionario usando Medusa

Posted by Epsilon On Enero - 2 - 2010

Seguramente muchos conocen  hydra: una aplicacion para atacar con fuerza bruta  usando diccionarios,  a diferentes servicios como: ssh, ftp,  mysql entre otros,  sin embargo hydra  no se volvió actualizar, su ultima versión fue  lanzada en el 2006 y aunque todavía funciona muy bien,   tiene muchos problemas en la instalación, debido a las dependencias y sus versiones.

No obstante, existe una aplicacion llamada  medusa que es muy similar ( no exactamente igual) a hydra, la cual nos permite crackear por diccionario de forma rápida, masiva y paralela  los siguientes servicios:

  • AFP
  • CVS
  • FTP
  • HTTP
  • IMAP
  • MS-SQL
  • MySQL
  • NetWare NCP
  • NNTP
  • PcAnywhere
  • POP3
  • PostgreSQL
  • REXEC
  • RLOGIN
  • RSH
  • SMBNT
  • SMTP-AUTH
  • SMTP-VRFY
  • SNMP
  • SSHv2
  • Subversion (SVN)
  • Telnet
  • VMware autenticación Daemon (vmauthd)
  • VNC
  • Genérico Wrapper
  • Web Form

Algunas de las caracteristicas que nos tiene medusa son:

  • Velocidad
  • Estabilidad
  • Organizacion del código, para comprenderlo facil
  • diversidad de servicios (como vieron anteriormente)

Instalación de  Medusa

Antes de instalar  medusa, debemos revisar  que se cumplan las siguientes dependencias:

  • OpenSSL
  • LibSSH2
  • NCPFS
  • Libpq
  • Subversion
  • afpfs-ng

Para los usuarios de debian, esta herramienta se encuentra en los repositorios:

apt-get install medusa

Para los demás usuarios descargan las fuentes desde aca, y compilan:

./configure
make
make install

¿Como crackear password con diccionarios usando medusa ?

Lo primero que debemos hacer es  ver los módulos disponibles,  los módulos son los servicios los cuales podemos atacar, para visualizar los módulos:

medusa -d

Después de estar seguros de que tenemos el modulo adecuado al servicio que deseamos atacar, procedemos a lanzar el ataque. Medusa posee una gran cantidad de parámetros (ojala se tomaran el tiempo para leer el man  con detenimiento).  Los parámetros mas importantes son:

-h -> el host víctima
-H -> si tenemos un archivo txt con una lista de hosts
-u  -> el usuario al cual deseamos hacerle el cracking
-U ->  un archivo txt con la lista de posibles usuarios (muy útil si no sabemos que usuarios existen en el sistema)
-P ->  Ubicación del diccionario
-O  -> Crea un archivo log
- e  ns -> Verifica el password vacio o que ambos datos sean lo mismo
-M  -> El modulo que deseamos emplear (sin la extension .mod)
-n -> por si el servicio esta corriendo en otro puerto diferente al default
-s -> Habilita ssl
-f -> detiene el ataque en el instante de encontrar un password valido
-b -> suprime los banners
-v  -> modo verbose (mas informacion level de 0 a 6 siendo el 6 mas alto)

Ahora practiquemos un poco:

medusa -h 127.0.0.1 -u rincon -P /diccionario.txt -M mysql -L -f -b -v 6

Como pueden ver me estoy atacando yo  mismo obviamente me he asegurado que el password se encuentra en el diccionario, el resultado es sorprendente tardo muy poco (10 segundos aproximadamente), el tiempo depende de varios factores como el tamaño del diccionarios y la ubicacion del password encontrado, ya que se va a demorar mucho menos si el password esta al inicio del diccionario de 36000 palabras.

Ahora muchos diran que no es lo mismo hacer un ataque de fuerza bruta con diccionario de forma local  que de forma remota y tienen mucha razon, sin embargo hicimos  la prueba de forma remota  y los resultados fueron muy aceptables, se demoro 6 minutos en encontrar el password en un diccionario de 500 palabras (con esos datos ya pueden hacer la simple regla de 3) atacando  el ssh

Algunos inconvenientes

Todo no es color de rosa, existen algunos inconvenientes que debemos tener en cuenta antes de realizar un ataque de este tipo:

  • No  hay total certeza de encontrar el password, sin embargo la efectividad de un ataque con diccionario es directamente proporcional al tamaño del diccionario, es decir, entre mas grande sea el diccionario mayor sera la probabilidad de  encontrar la contraseña.
  • Otro inconveniente, consiste en que algunos sysadmin inteligentes restringen  el numero de intentos de autenticacion a un numero no mayor a 3, asi que si nos topamos con un servidor serio, no podremos aplicar el ataque por fuerza bruta.
  • Cuando nos encontramos un servidor “vulnerable” a un ataque de fuerza bruta con diccionario, debemos tener muchisimo cuidado, ya que un ataque de esta naturaleza  hace demasiado “RUIDO” es decir, todos los intentos de conexion quedaran guardados en los logs del servidor, por eso es pertinente usar un proxy para hacer el ataque, o  en su defecto borrar los logs, inmediatamente despues de entrar al server.

Primeras horas con OpenBSD 4.6

Posted by mirphak On Diciembre - 30 - 2009

openbsdtext Primeras horas con OpenBSD 4.6

Dejando a un lado la rivalidad entre sistemas operativos tipo Unix, mostraremos  algunos aspectos importantes a tener en cuenta  al adentrarnos en el mundo  OpenBSD1

Instalación

Descargar iso.

Debemos tener claro  que en  OpenBSD  cambia la nomenclatura  de los dispositivos (Discos duros, interfaces, ..), sólo algo diferente a lo acostumbrado.  Se sale del propósito del post mostrar una guía paso a paso de la instalación, por eso dejo  un manual hecho por la comunidad  openbsdcolombia (descargar).  La secuencia de instalación de la versión 4.6 difiere de la que se utiliza en el manual, pero nada de que preocuparse.

FELICITACIONES!  su sistema OpenBSD ha sido instalado satisfactoriamente !

Si en el proceso de instalación decidimos instalar las  X (xbase40, xserver40, ..), las iniciamos con el comando  startx, veremos una xterm, un reloj, y un panel de escritorios  bastante minimalista.

Colección de Ports y Paquetes

La instalación de Software adicional  en OpenBSD se hace utilizando Ports,  que son un conjunto de ficheros  de tipo make donde se indica:

- De dónde se optiene el paquete

- Como llevar a cabo la obtención del paquete

- Las dependencias del  paquete

- Como aplicar cambios en las fuentes (sólo si es necesario)

- Y  como configurarlo, compilarlo e instalarlo

EL grupo de desarrolo  advierte que la colección de ports y  paquetes  no recibe la misma auditoría de seguridad  que sigue OpenBSD.

Instalación de un Entorno de Escritorio

pkg_add

En los  how-to  que rondan la red  vemos que la instalación de software en OpenBSD es bastante fácil :

pkg_add -r xfce4 , pkg_add -r gnome, si hacemos la prueba  seguramente nos saldrá  esto    No packages available in the PKG_PATH,

- También  vemos cosas como   #cd /usr/ports/net/irssi #make install,   pero  el directorio  ports no está

Bueno para el primer “problema” (No packages available in the PKG_PATH) se  deduce que  es necesario indicar  la ruta  donde están los paquetes, entonces  #export  PKG_PATH=” ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/” , ya con esto  podemos instalar por ejemplo gnome: #pkg_add  -r  gnome-session

Para solucionar lo del directorio ports,  simplemente debemos bajar el paquete  ports.tar.gz  y  descomprimirlo en  /usr:

#cd /usr

#tar  xvfpz ports.tar.gz

ya con esto podemos instalar software utilizando ports:

#cd /usr/ports/net/irssi

#make install

screenshotru.th Primeras horas con OpenBSD 4.6

- Instalando Scapy: #cd /usr/ports/net/scapy    #make  install , se demora bastante!!   y  pensar que antes uno se las veía con todas esas dependencias  en algún lfs.

Uzbl: Un navegador web liviano, minimalista y muy personalizable

Posted by Epsilon On Diciembre - 29 - 2009

Si estas cansado de el amplio consumo de CPU y memoria de tu navegador preferido (ya sea Firefox, opera, chromium, etc..) te presento  UZBL un navegador web de código abierto  muy minimalista,  que cumple con la filosofia Unix:

Escribir programas que hacen una cosa y la hacen bien. Escribir programas para trabajar juntos. Escribir programas para manejar flujos de texto, ya que es una interface universal

Antes de empezar con el proceso de instalación hay que aclara que si eres de los usuarios que te gusta que tu navegador tenga un sin fin de addons y servicios adicionales, este no es el navegador para ti, por el contrario si eres un usuario el cual solo le interesa que tu navegador sirva para lo que fue diseñado (abrir paginas web), esta aplicacion sera perfecta para ti.

Ventajas de Uzbl

  • 100%  Personalizable (editar menús, cambiar colores, atajos)
  • rápido
  • soporta flash player
  • Soporta pestañas
  • Al ser tan minimalista no quiere decir que no tenga, marcadores, historiales.
  • navegacion con el teclado.

Instalación de UZBL

Ya que este proyecto es demasiado nuevo ( marzo de 2009 ) solo se encuentra en los repositorios de archlinux, gentoo, ubuntu, la versión testing de debian (squeeze)  y por supuesto en la versión inestable (sid),  para los usuarios de estas versiónes, pueden instalar uzbl de esta forma:

apt-get install uzbl

Sin embargo para lo usuarios de otras distribuciones, las cuales no tengan uzbl en sus repositorios, necesitaran hacer lo siguiente:

apt-get install git-core git-arch git-cvs git-daemon-run git-doc git-email git-gui git-svn gitk gitweb libwebkit-dev

Ahora descargamos las fuentes desde la pagina web oficial:

git clone git://github.com/Dieterbe/uzbl.git

Siguiente punto compilar:

make
make install-uzbl-core
make install-uzbl-browser
make install-uzbl-tabbed

Por ultimo debemos copiar el archivo de configuracion tomando como base un ejemplo, para esto hacemos lo siguiente:

cp /usr/local/share/uzbl/examples/config/uzbl/config /home/tu_usuario/.config/uzbl/config
nota: si la carpeta .config o uzbl no se encuentran en tu home, debes crearlas.

Es importante tener en cuenta que este archivo es parte fundamental del navegador, en el se encuentra toda la configuracion  y es alli donde debemos modificar lo que deseamos, desde la apariencia hasta los atajos del teclado.

Usando el navegador web uzbl

Despues de tenerlo instalado solo basta ejecutarlo, dependendiendo de lo que queramos ejecutamos:

uzbl-tabbed -> navegacion con pestañas
uzbl-brower -> navegador simple

algunos atajos de teclado son (recuerda que puedes cambiarlos a tu antojo):

j -> baja la pagina
k -> Sube pagina
h -> corre hacia la izquierda
l ->  corre hacia la derecha
b -> Pagina atras
m -> pagina adelante
o  -> abrir pagina (despues de presionar o digita la url)
r -> actualizar

Aunque llevo poco probandolo  me parece muy bueno, sencillo  y agradable (nada de molestas barras), y me gusto mucho por lo configurable, cada uno puede  adecuarlo a su gusto, por ultimo dejo un screenshot del menu de click derecho que configure.

Free Image Hosting at www.ImageShack.us

No soy un guru manejando este navegador, pero seria bueno ir probandolo a fondo y conociendo sus otras caracteristicas que deben ser muchas mas, esto es simplemente un abrebocas a que se animen a probarlo  y nos cuenten sus experiencias.

Configurar tarjetas Broadcom en OpenSolaris usando Ndiswrapper

Posted by Epsilon On Diciembre - 22 - 2009

En este articulo mostraremos como hacer funcionar esas fastidiosas tarjetas wifi de broadcom mediante ndiswrapper,  la cual es una herramienta que nos permite usar los drivers de las tarjetas para  windows  en nuestra plataforma libre ya sea GNU/Linux o como en esta ocasión en OpenSolaris.

Antes que nada instalamos el paquete SUNWonbld, el cual encontramos aqui, y lo instalamos de la siguiente manera

$ bzip2 -dc SUNWonbld.i386.tar.bz2 | tar xf -
$ pkgadd -d onbld SUNWonbld

En OpenSolaris  el ndiswrapper se llama Solaris NDIS Wrapper Toolkit.  para instalarlo necesitamos algunas dependencias como gcc y flex, asi que procedemos a instalarlas, La forma mas fácil de hacerlo es por medio del Pakage Manager (System –> Administration –> Package Manager ), Buscamos gcc y lo marcamos para instalar. Lo mismo para el paquete flexlex

Ahora necesitamos los drivers de windows, el archivo .inf y .sys estos archivos se pueden encontrar desempaquetando el archivo .exe  del instalador que descargamos en la pagina del fabricante, en este caso son bcmwl5.sys y bcmwl5.inf.
Por lo general los archivos .inf viene en formato UNICODE, sin embargo  el Solaris NDIS Wrapper Toolkit necesita tenerlos en formato ASCII, para ello lo convertiremos de la siguiente manera:

iconv -f utf-16 -t ascii bcmwl5.inf > ndis.inf
Renombramos el archivo .sys (en este caso bcmwl5.sys a ndis.sys)

Ya tenemos todo listo, lo único que nos hace falta es descarga nuestra herramienta e instalarla:

La descargamos desde aca
gzip -dc ndis-0.1.tar.gz | tar x – // lo extraemos
cd ndis-0.1/i386 // en esta ubicacion copiamos ndis.sys y ndis.inf que obtuvimos anteriormente
make ndiscvt
./ndiscvt -i ndis.inf -s ndis.sys -o ndis.h
make ndis

ahora como su o usando el comando pfexec hacemos lo siguiente:

cp bcmndis /kernel/drv/bcmndis
exit
make ndisapi
cp ndisapi /kernel/misc

Ahora cargamos el modulo ndisapi y el driver vinculado a la tarjeta  de la siguiente forma (como root o pfexec):

add_drv -i ‘”Vendor ID,Device ID”‘ bcmndis

Para obtener el vendor id y el device id ejecutamos el comando:

pfexec scanpci -v (lista todos los dispositivos pci del pc)

En este caso son vendor 0×14e4 device 0×4318, por lo tanto nuestro comando quedaria asi:

add_drv -i ‘”pci14e4,4318″‘ bcmndis nota: omitimos los ox

Por ultimo levantamos la interfaz:

pfexec ifconfig bcmndis0 plumb
pfexec svcadm restart nwam

y listo  si no ha salido algun errorcillo tendremos nuestra interfaz bcmndis0