Booting my Mind!!

Ernie Rojas Villoslado

Archivo para la categoría "*BSD"

Comixwall 4.3

dejar un comentario »

Hace unos días se publicó la versión 4.3 de Comixwall un ISG(Internet Security Gateway)  basado en OpenBSD, aunque ya no he seguido de cerca el desarrollo de este ISG, voy a darme un tiempo para revisarlo esta semana.

Entre las caracteristcas que nos brinda ComixWall tenemos:

  • Funciones de Firewall usando pf (packet filter)
  • DansGuardian y Squid
  • DHCP
  • Snort
  • ClamAv
  • SpamAssassin
  • DNS y entre muchas cosas mas.

Escrito por Ernie Rojas Villoslado

septiembre 21, 2008 a 4:07 am

Escrito en *BSD, General, Seguridad

Compilando paquetes con pkgsrc en NetBSD

dejar un comentario »

Como ya vimos la administración de binarios en NetBSD ahora veremos como administrar los paquetes desde codigo fuente en NetBSD para eso damos por entendido que tenemos instalado el pkgsrc.

Para este proceso es necesario tener instalado algun compilador de C (ya se gcc o cc, por defecto pkgsrc usa gcc) para esto es necesario instalar los sets  text.tgz y comp.tgz, para esto poenmos en practica el ultimo post e instalamos wget desde los binarios de pkgsrc:

# export PKG_PATH=”ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-4.0/amd64/All”

# pkg_add wget

Luego descargamos los sets de distribucion:

# wget -c ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/amd64/binary/sets/text.tgz

# wget -c ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/amd64/binary/sets/comp.tgz

Instalamos los sets de distribucion:

  • Para text.tgz: tar zxvf text.tgz -C /
  • Para comp.tgz: tar zxvf comp.tgz -C /

Con esto ya tendremos los compiladores de C, gcc o cc

Ahora para probarlo instalaremos nmap desde las fuentes.

# cd /usr/pkgsrc/net/nmap

# make

# make install

# make clean

# make clean-depends

Con esto ya tendremos instalado nmap,al igual que un binario se instala en el directorio /usr/pkg, el directorio de instalacion si lo hacemos desde las fuentes podemos modificarlo con el parametro LOCALBASE del archivo de configuracion /etc/mk.conf

Para cambiar el compilador que deseemos usar lo podemos hacer tambien en el msimo fichero /etc/mk.conf (muy parecido al make.conf de gentoo) en la variable: PKGSRC_COMPILER, alcualle podemos agregar parametros como ccache(para cache) o distcc(para compilacion distribuida)

Otro punto a tomar en cuenta es que si dseamos compilar paquetes relacionados con las aplicaciones X11 debemos instalar los sets xbase y xcomp

Escrito por Ernie Rojas Villoslado

septiembre 21, 2008 a 3:45 am

Escrito en *BSD, General

Binarios en NetBSD

dejar un comentario »

Como dije en un post anterior el administrador de paquetes de NetBSD, pkgsrc nos permite tambien gestionar binarios, del siguiente modo.

  • Como en OpenBSD, declaramos la variable PKG_PATH:

# export PKG_PATH=”ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-4.0/amd64/All”

  • Y comenzamos a gestionar los binarios:
  • Para Instalar:

# pkg_add cvs

En este caso veremos como nos crea el directorio /usr/pkg en donde se instalaran los archivos de los binarios que instalemos y en /var/db/pkg tendremos una base de datos de los binarios q vayamos instalando.

  • Para desinstalar:

# pkg_delete cvs

Existe un parametro para pkg_delete que seguro nos interesara mucho, es el parametro “-r” el cual le dira a pkgsrc que desinstale tambien las dependencias del paquete que que queremeos desinstalar.

# pkg_delete -r nmap

pkg_delete aparte de usarse para desinstalar paquetes en formato binario tambien sirve para aquellos que hemos compilado.

  • Informacion de los paquetes

# pkg_info

Nos mostrara los paquetes q tenemos instalado en nuestro sistema.

# pkg_info cvs

Nos mostrara la informacion del paquete cvs

Como vemos la administracion de binarios es igual q en OpenBSD y FreeBSD

Escrito por Ernie Rojas Villoslado

septiembre 21, 2008 a 2:57 am

Escrito en *BSD, General

Desempolvando NetBSD

dejar un comentario »

Despues de casi 1 año que ya no venia trabajando con NetBSD, que es una version de los sistemas operativos basados en 4.4BSD y cuya filosofia es la portabilidad, actualmente tiene soporte para mas de 50 arquitecturas de computadoras, con decirles que un grupo de personas llego a instalarlo en un tostador.

Pues bueno me decidi a darle una oportunidad a NetBSD, en este caso la version 4.0, como servidor de Backups (aun en pruebas) en una p4, con 1 de Ram y 80 de GB de disco, el proceso de instalacion no varió en nada respecto a las versiones anteriores que usaba, bastante sencillo por decirlo, el wizard te guia todos los pasos y bueno en estos momentos me encuentro configurandolo remotamente desde mi hogar, y para hacerla un poco mas dificl me instale ksh como Shell para aprender este lenguaje, por lo q me hice un pequeño script que no hace nada importante, pero me sirvio para ir jugando un poco con los principales comandos de este lenguaje, bueno este script nos muestra una consola interactiva para poder instalar los paquetes del arbol de ports de NetBSD y poder usarlo con el administrador de paquetes “pkgsrc”, el cual es muy parecido al portage de gentoo, ya que nos permite instalar binarios y compilar codigo fuente segun nuestras preferencias, a la vez el pkgsrc nos brinda dos arboles uno para la version “stable” y otra para la version “current”, asi como tambien este script nos permitira actualizar el pkgsrc via cvs( en este caso deberemos de tener instalado la aplicacion cvs), bueno pues aqui les dejo este scriptpara conocer un poco de ksh.

#!/bin/ksh
# Direcciones para descargar pkgsrc por FTP
URL_PKGSRC="ftp://ftp.netbsd.org/pub/pkgsrc"
DIR_PKGSRC_STABLE="pkgsrc-2008Q2"
DIR_PKGSRC_CURRENT="current"
NAME_PKGSRC_STABLE="pkgsrc-2008Q2.tar.gz"
NAME_PKGSRC_CURRENT="pkgsrc.tar.gz"
PKGSRC_STABLE="$URL_PKGSRC/$DIR_PKGSRC_STABLE/$NAME_PKGSRC_STABLE"
PKGSRC_CURRENT="$URL_PKGSRC/$DIR_PKGSRC_CURRENT/$NAME_PKGSRC_CURRENT"

# Direcciones para actualizar via CVS
CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
CVS_RSH="ssh"

function get_pkgsrc {
print "=================="
print "Elija version de pkgsrc"
print "(1) Version stable"
print "(2) Version current"
print -n "Opcion: "
read op_version
if [[ $op_version = 1  ]];then
get_pkgsrc_stable
NAME_PKGSRC=$NAME_PKGSRC_STABLE
elif [[ $op_version = 2 ]]; then
get_pkgsrc_current
NAME_PKGSRC=$NAME_PKGSRC_CURRENT
else
echo "Tu opcion es incorrecta!!"
exit
fi
}
function get_pkgsrc_stable {
echo "Descargando version estable de pkgsrc..."
echo $PKGSRC_STABLE
ftp $PKGSRC_STABLE
}

function get_pkgsrc_current {
echo "Descargando version current de pkgsrc..."
echo $PKGSRC_CURRENT
ftp $PKGSRC_CURRENT
}

function install_pkgsrc {
echo "Instalando pkgsrc..."
get_pkgsrc
tar zxvf $NAME_PKGSRC -C /usr

}

function update_pkgsrc {
echo "Actualizando pkgsrc..."
cd /usr/pkgsrc
cvs update -dP
}

function getout {
print "Byeee... :D "
exit
}

op=1
while [[ $op -ne 3 ]];do
print "Elija que opcion desea realizar: "
print "(1) Instalar pkgsrc"
print "(2) Actualizar pkgsrc"
print "(3) Salir"
print -n "Opcion: "
read op
#done

case $op in
1)      install_pkgsrc;;
2)      update_pkgsrc;;
3)      getout;;
*)      print "Opcion incorrecta :P "
esac
done
exit

Como ven el codigo es bastante simple pero nos servira para reconocer el funcionamiento los principales comandos de ksh.

Escrito por Ernie Rojas Villoslado

septiembre 21, 2008 a 2:14 am

Escrito en *BSD, General, Programación

NAS OpenSource

dejar un comentario »

Buscando alternativas para NAS en el mundo opensource me encontre con FreeNAS y OpenFiler, el primero basado en FreeBSD y el segundo en CentOS, para describir un poco un NAS según la wikipedia: “NAS (del inglés Network Attached Storage) es el nombre dado a una tecnología de almacenamiento dedicada a compartir la capacidad de almacenamiento de un computador (Servidor) con ordenadores personales o servidores clientes a través de una red (normalmente TCP/IP), haciendo uso de un Sistema Operativo optimizado para dar acceso con los protocolos CIFS, NFS, FTP o TFTP.”

Estas dos alternativas nos permite compartir almacenamiento mediante Samba, CIFS, FTP, WebDav, incluso servicios como UPnP, autenticacion mediante LDAP o el Active Directory de Windows, así como tambien RAID’s por software, iSCSI, LVM.

La diferencias, no muchas, los dos brindan los mismos servicios, aunque FreeNAS aun esta en fase beta pero funciona muy bien segun las pruebas q vengop haciendo

Escrito por Ernie Rojas Villoslado

septiembre 9, 2008 a 2:31 am

Escrito en *BSD, FLOSS, GNU/Linux, Seguridad

Etiquetado con , , , ,

FreeBSD y Postgresql

dejar un comentario »

Vamos a instalar el servidor de base de datos postgresql en la version 8.2 en un FreeBSD 7, utilizando el sistema de ports.

  • Instalacion

# cd /usr/ports/databases/postgresql82-server/
# make install

  • Configuracion

# mcedit /etc/rc.conf //para arrancar postgres desde el boot
postgresql_enable=”YES”

Instalacion de la B/D:
/usr/local/etc/rc.d/postgresql initdb

Iniciar el servicio:
# su – pgsql
$ /usr/local/bin/postgres -D /usr/local/pgsql/data

Creamos una base de datos de prueba
$ createdb demo
$ psql demo
Welcome to psql 8.2.5, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

demo=#

Para los que deseen pueden instalar phpPgAdmin que es una interfaz web para la administración de PostgreSQL, parecido al phpmadmin del MySQL, para esto suponemos que ya tenemos instalado, apache, php y el modulo de conexion de php a postgresql:

# cd /usr/ports/databases/phppgadmin/
# make install
Y Creamos un usuario para administrar desde la web:

# su – pgsql
$ createuser -P
Enter name of role to add: corredorx
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y

Y ya podemos administrar postgresql desde la web

Escrito por Ernie Rojas Villoslado

mayo 12, 2008 a 7:50 am

Escrito en *BSD, Postgresql

Terminando nuestro OAMP

dejar un comentario »

Para finalizar de configurar nuestro servidor OAMP: OpenBSD – Apache – MySQL y PHP vamos a instalar PHP y algunas extensiones, como apache ya viene instalado en OpenBSD nos saltamos ese paso.

  • Comenzamos instalando php5

# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.3/packages/i386/

# pkg_add -v php5-core

  • Configuración:

Creamos un enlace simbolico para habilitar el modulo de php en apache

# ln -s /var/www/conf/modules.sample/php5.conf /var/www/conf/modules/

Creamos el directorio /var/www/tmp para q pueda ser usado por php:
# mkdir /var/www/tmp
# chown www:www /var/www/tmp/

Reiniciamos apache:
# apachectl restart

Creamos un archivo de prueba test.php agregamos lo sgte., y lo vemos en el navegador: http://servidor/test.php

<?php
phpinfo();
?>

Instalamos y configuramos algunos modulos

# pkg_add -v php5-gd
# ln -fs /var/www/conf/php5.sample/gd.ini /var/www/conf/php5/
# pkg_add -v php5-curl
# ln -fs /var/www/conf/php5.sample/curl.ini /var/www/conf/php5/
# pkg_add -v php5-mbstring
# ln -fs /var/www/conf/php5.sample/mbstring.ini /var/www/conf/php5/
# pkg_add -v php5-mcrypt
# ln -fs /var/www/conf/php5.sample/mcrypt.ini /var/www/conf/php5/
# pkg_add -v php5-mysql
# ln -fs /var/www/conf/php5.sample/mysql.ini /var/www/conf/php5/
# pkg_add -v php5-mysqli
# ln -fs /var/www/conf/php5.sample/mysqli.ini /var/www/conf/php5/

Para que carguen los modulos reiniciamos apache:

# apachectl restart

Escrito por Ernie Rojas Villoslado

mayo 12, 2008 a 5:12 am

Escrito en *BSD, apache, MySQL, php

MySQL 5 en OpenOBSD

dejar un comentario »

Aqui les dejo un tip para instalar mysql en OpenBSD.

  • Instalamos el paquete mysql:

# pkg_add mysql-server-5.0.45

  • Configuración

Configurar el siguiente parametro del Kernel para tunear el manejo de un numero mayor de archivos con la base de datos en /etc/sysctl.conf:

kern.maxfiles=4096

Creamos una clase de login para mysql en /etc/login.conf

mysql:\
:o penfiles-cur=1024:\
:o penfiles-max=2048:\
:tc=daemon:

Actualizamos login.conf.db :

# cap_mkdb /etc/login.conf

Creamos la base de datos por defecto:
# /usr/local/bin/mysql_install_db

Iniciamos el servicio: # /usr/local/bin/mysqld_safe &

Configuramos algunos parametros de mysql con este script:
# /usr/local/bin/mysql_secure_installation

y eso seria todo, luego nos autenticamos al server: mysql -u root -p

y ya podremos trabajar.

Escrito por Ernie Rojas Villoslado

mayo 11, 2008 a 11:27 am

Escrito en *BSD, FLOSS, MySQL

Squid 2.6 en OpenBSD

dejar un comentario »

Despues de tener un sistema OpenBSD instalado, podemos en este caso instalar squid mediante los ports, tambien podemos usar los paquetes compilados q brinda el equipo de openbsd, pero en este caso usaremos la primera alternativa:

Ingresamos al directorio donde se encuentran los ports:

# cd /usr/ports

# make search name=squid // esto nos muestra todos los paquetes o ports cuyo nombre coincida con squid

# cd www/squid // ingresamos al directorio del port de squid

# make install // instalamos

# make clean // limpiamos el directorio de instalación

Tambien podemos ejecutar:

# make show=flavors

para ver con q flags podemos compilar squid, en este caso se omitio esos flags.

Debemos tomar en cuenta las siguientes lineas despues q hayamos terminado la instalación de squid, ya que nos servirán de mucho para poder confirgurarlo a nuestros requerimientos.

NOTES ON OpenBSD POST-INSTALLATION OF SQUID 2.6

The local (OpenBSD) differences are:
configuration files are in /etc/squid
sample configuration files are in /usr/local/share/examples/squid
error message files are in /usr/local/share/squid/errors
sample error message files are in /usr/local/share/examples/squid/errors
icons are in /usr/local/share/squid/icons
sample icons are in /usr/local/share/examples/squid/icons
the cache is in /var/squid/cache
logs are stored in /var/squid/logs
the ugid squid runs as is _squid:_squid

Please remember to initialize the cache by running “squid -z” before
trying to run Squid for the first time.

You can also edit /etc/rc.local so that Squid is started automatically:

if [ -x /usr/local/sbin/squid ]; then
echo -n ‘ squid’; /usr/local/sbin/squid
fi

Escrito por Ernie Rojas Villoslado

mayo 3, 2008 a 4:20 am

Escrito en *BSD, General

OpenBSD 4.3

dejar un comentario »

El 1 de Mayo se lanzo la versión 4.3 de OpenBSD esta disponible en http://www.openbsd.com/ftp.html para una diversidad de arquitecuras e incluye nuevas caracteristicas en esta version http://www.openbsd.com/43.html

Despues de un tiempo de no haber usado OpenBSD, me baje el cd de instalacion unos 203M y lo instale, no ha cambiado en nada el wizard a modo texto, esta vez instale todos los paquetes por defecto, despues una rebooteada y tenemos un OpenBSD virgen.

Lo primero que hize fue configurar el administrador de paquetes y los ports.

Administrador de Paquetes – como root

# echo “export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.3/packages/i386/” >> ~/.profile

y ya podemos instalar uno q otro paquete, por ejemplo

# pkg_add -i wget

Ports – como root

y no pueden faltar los ports, nos los desacargamos

# wget -c ftp://ftp.openbsd.org/pub/OpenBSD/4.3/ports.tar.gz

y descomprimimos:

# tar zxvf /tmp/ports.tar.gz

y ya podemos usar el sistema de ports de openbsd, cada vez debemos actualizar:

# cd /usr/ports

# cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_4_3

Ahora que se encuentra esta nueva version de OpenBSD lanzada no habrá excusa para migrar un Firewall/Proxy que tengo en FreeBSD en el centro donde laboro.

Escrito por Ernie Rojas Villoslado

mayo 3, 2008 a 4:10 am

Escrito en *BSD

Etiquetado con

Seguir

Get every new post delivered to your Inbox.