sábado, julio 2

Adios a SKYPE y FACEBOOK !!!

Bueno, era algo que venia por ahi y solamente un paso lógico, cancelarle a los gigantes que acumulan datos personales y que promueven o son nada OpenSource.
En el caso de Skype: todos lo sabemos, comprado por Micro$oft, ya eso me dejo un gusto de amargo en la boca, pero cuando leía hace pocos días que la gente de Redmond terminaron un software que permite la interceptación de las llamadas con Skype, esto era el colmo.
Pues esto se sumo al deseo mio de hace tiempo de buscar una alternativa opensource y pues nada ahí esta: usar el protocolo SIP (ya se no es nada nuevo) y un buen software de cliente. Despues de tres días buscando y probando estos son los mas completos, porque ademas de tener una interfaz nítida tienen soporte para diversos protocolos como el de gmail, yahoo, jabber,y para los que de verdad piensan que lo necesitan hotmail y facebook:
1. Jitsi , basado en Java es multi-plataforma y tiene algo en especial, transferencia de archivos, encriptacion, verificación de fingerprints y compartimiento del escritorio http://www.jitsi.org.
2. QuteCom, basado en QT no tiene estos extras pero es mas ligero y en mi opinión se ve mejor http://trac.qutecom.org.
Finalmente el caso Facebook: un gran colector de datos personales, flojo en lo que se refiere a seguridad y uno de los accionistas es nada mas ni menos Micro$oft, aprovechandose de esta manera juntar data del usuario para meterla en el momento dado cuando el usuario hace búsqueda por Bing. Pues esto es lo que se sabe, en el fondo hay mucho mas, seguramente. Alternativas, bueno aun no se, o quizás mejor, ya no usar este tipo de medio :P

viernes, abril 8

Howto: Instalación Dspace 1.7.1 en Ubuntu Server 10.04.2 LTS

Esta instalación supone que el usuario tomcat6 está ejecutando la instancia Dspace, con Sun-Java6 como el kit de desarrollo de Java. Además se declará Xmlui como interfaz por defecto, de esta manera hacemos posible el uso de la nueva interfaz Mirage.

1. Instalar todos los componentes necesarios:
sudo apt-get install tomcat6 maven2 ant-optional postgresql sun-java6-jdk apache2 libapache2-mod-doc

2. Añadimos una linea parecida a esta 'host dspace tomcat6 127.0.0.1/32 md5' en:
/etc/postgresql/8.4/main/pg_hba.conf

En nuestro caso el nombre de la base de datos de Dspace es 'dspace' y su instancia se ejecuta por el usuario 'tomcat6'.

3. Creamos el usuario 'tomcat6' para postgreSQL:
sudo su postgres
createuser -U postgres -d -A -P tomcat6
exit
(Anota la clave, esta se necesita mas tarde en el paso 11)

4. Modificamos la shell del usuario 'tomcat6' y creamos la base de datos 'dspace'.
sudo chsh -s /bin/bash tomcat6
sudo chown -R tomcat6.tomcat6 /usr/share/tomcat6
sudo su tomcat6
createdb -U tomcat6 -E UNICODE dspace
exit

5. Aseguramos de que estas lineas en /etc/default/tomcat6 aparecen como sigue (modifícalos si es necesario):
TOMCAT6_USER=tomcat6
JAVA_HOME=/usr/lib/jvm/java-6-sun
CATALINA_BASE=/var/lib/tomcat6
JAVA_OPTS="-Xmx1024M -Xms64M -Dfile.encoding=UTF-8"
JSP_COMPILER=jikes
TOMCAT6_SECURITY=no
LOGFILE_DAYS=180

6. Declaramos un tag con la encodificación UTF-8 en /etc/tomcat6/server.xml, esto debe verse así:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8" redirectPort="8443" />

Además, justo encima de </Host>, añadimos las lineas siguientes para declarar la ruta de instalación, en nuestro caso instalamos en /opt/dspace:

<!-- Define a new context path for all DSpace web apps -->
<Context path="/xmlui" docBase="/opt/dspace/webapps/xmlui" allowLinking="true"/>
<Context path="/sword" docBase="/opt/dspace/webapps/sword" allowLinking="true"/>
<Context path="/oai" docBase="/opt/dspace/webapps/oai" allowLinking="true"/>
<Context path="/jspui" docBase="/opt/dspace/webapps/jspui" allowLinking="true"/>
<Context path="/lni" docBase="/opt/dspace/webapps/lni" allowLinking="true"/>
<Context path="/solr" docBase="/opt/dspace/webapps/solr" allowLinking="true"/>

7. Declaramos al sun-java6 como juego de desarrollo por defecto (openjdk aun es problemático para ciertas aplicaciones):
sudo update-alternatives --set java /usr/lib/jvm/java-6-sun/jre/bin/java

8. Probamos si tomcat6 se ejecuta sin problemas:

sudo /etc/init.d/tomcat6 restart
o
sudo /etc/init.d/tomcat6 start

Ahora bien, los siguientes pasos, el 10 en adelante, son la de la instalación misma de Dspace y deben ejecutarse por el usuario 'tomcat6'.

9. Creamos la ruta de instalación, escogemos /opt/dspace:

sudo mkdir /opt/dspace
sudo chown tomcat6.tomcat6 /opt/dspace

10. Descargamos la fuente de DSpace (cualquier directorio es válido para su ejecución posterior, en nuestro ejemplo es /usr/share/tomcat6).
sudo su tomcat6
cd
wget
http://nchc.dl.sourceforge.net/sourceforge/dspace/dspace-1.7.1-src-release.tar.bz2
bzip2 -dc dspace-1.7.1-src-release.tar.bz2|tar xf -
(Debe haber un directorio con el código fuente en /usr/share/tomcat6: /dspace-1.7.1-src-release)

11. En /dspace-1.7.1-src-release/dspace/config/dspace.cfg modificamos algunos parámetros según nuestras necesidades:
dspace.dir=/opt/dspace
dspace.hostname={ponemos el hostname}
dspace.baseUrl = http://${dspace.hostname}:8080
dspace.url = ${dspace.baseUrl}/xmlui
dspace.oai.url = ${dspace.baseUrl}/oai
dspace.name="Ponemos un nombre para la instancia de DSpace"
db.name = postgres <-- no cambiar!
db.url = jdbc:postgresql://localhost:5432/dspace
db.username = tomcat6
db.password = (La clave que anotamos en el paso 3)
mail.server={IP o nombre de nuestro servidor de correo}
mail.from.address=ds-nore...@domain.name
feedback.recipient=ds-ad...@domain.name
mail.admin=ds-ad...@domain.name
alert.recipient=ds-h...@domain.name
registration.notify=ds-h...@domain.name
handle.canonical.prefix = ${dspace.url}/handle/handle/
handle.prefix = 123456
handle.dir = ${dspace.dir}/handle-server
webui.submit.enable-cc = true
webui.submit.cc-jurisdiction = {tu pais, p.e. es}
webui.strengths.show = true
webui.strengths.cache = false
webui.feed.localresolve = true
webui.session.invalidate = false
webui.supported.locales = en, es
xmlui.supported.locales = en, es
xmlui.force.ssl = no
solr.log.server = http://localhost:8080/solr/statistics

Si tenemos un mailserver de Gmail, lo bueno es que DSpace ya lo soporta, simplemente debemos modificar mas abajo, según nuestra configuración con el proveedor de correo:
# SMTP mail server
mail.server=smtp.gmail.com
# SMTP mail server authentication username and password (if required)
mail.server.username = tu-usuario@gmail.com
mail.server.password = tu-clave
# Pass extra settings to the Java mail library. Comma separated, equals sign between
# the key and the value.
mail.extraproperties = mail.smtp.socketFactory.port=465, \
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
mail.smtp.socketFactory.fallback=false

12. Creamos el paquete ejecutando el comando en /dspace-1.7.1-src-release/dspace o /dspace-1.7.1-src-release), este proceso tomara algunos minutos:
mvn package

13. Si no se ha presentado ningún error, procedemos a la instalación de DSpace:
cd target/dspace-1.7.1-build.dir

ant fresh_install

Las últimas dos lineas deben verse así:
BUILD SUCCESSFUL
Total time: 1 minutes 15 seconds

Con esto hemos finalizado nuestra instalación de Dspace, ahora bien, los pasos que siguen es la modificación y adaptación de DSpace a nuestras necesidades.
Happy hacking.

Referencias:
1) http://www.mail-archive.com/dspace-tech@lists.sourceforge.net/msg11235.html
2) https://wiki.duraspace.org/display/DSPACE/Installing+DSpace+1.7+on+Ubuntu+10.10
3) http://blog.stuartlewis.com/2009/09/05/using-gmail-with-dspace/

sábado, enero 22

Instalación Full Setup OpenVas 3.1 en Debian Squeeze/Ubuntu Karmic-Lucid

Para aquellos que no lo conocen, OpenVas es un escaneador de vulnerabilidades opensource bajo licencia GNU GPL.
OpenVas es prácticamente un fork de Nessus, que desde la versión 3 es closed source. Lo bueno es que OpenVas no tiene límite en licencias y es totalmente compatible con Metasploit.
Desde los repositorios de Debian/Ubuntu podríamos instalar la version 2, pero desde diciembre del año 2009 existe ya la versión 3 y actualmente posee mas de 20 mil plugins para el escaneo por vulnerabilidades.

Aquí tienen los pasos para instalar la última version de OpenVas 3.1 + Greenbone Security Assistant + Greenbone Security Desktop (Full Setup) en Debian Squeeze o Ubuntu Karmic/Lucid (revision extendida del 22 de enero de 2011 en SalineOS 1.0):


1. Instalar las dependencias:

# apt-get install build-essential libgtk2.0-dev libglib2.0-dev libssl-dev htmldoc libgnutls-dev libpcap0.8-dev bison libgpgme11-dev libsmbclient-dev snmp pnscan
# apt-get install cmake uuid-dev doxygen xmltoman libsqlite3-dev libxml2-dev libxslt1-dev libmicrohttpd-dev qt4-dev-tools


2. Bajamos desde la página de Openvas los paquetes siguientes:
wget http://wald.intevation.org/frs/download.php/784/openvas-libraries-3.1.4.tar.gz
wget http://wald.intevation.org/frs/download.php/792/openvas-scanner-3.1.1.tar.gz
wget http://wald.intevation.org/frs/download.php/802/openvas-client-3.0.2.tar.gz
wget http://wald.intevation.org/frs/download.php/829/openvas-manager-1.0.4.tar.gz
wget http://wald.intevation.org/frs/download.php/828/openvas-administrator-1.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/785/openvas-cli-1.0.1.tar.gz
wget http://wald.intevation.org/frs/download.php/791/greenbone-security-assistant-1.0.3.tar.gz
wget http://wald.intevation.org/frs/download.php/819/gsd-1.0.1.tar.gz

3. Descomprimir cada paquete, cambiarse a la carpeta de cada uno y compilamos:
los paquetes de openvas-libraries (librerias), openvas-scanner (el servidor), openvas-client (el cliente) simplemente con

./configure
make
# make install

Atención! Cuando tengan el paquete openvas-libraries compilado fíjense en el output de la consola, hay que anexar una ruta en ld.so.conf y poner dos rutas en nuestro ambiente, que será así:
sudo vim /etc/ld.so.conf y anexar /usr/local/lib/;
vim .bashrc y anexar PATH=$PATH:/usr/local/bin:/usr/local/sbin;
Cuando terminemos las compilaciones:
# ldconfig.


4. Los paquetes openvas-manager, openvas-administrator, openvas-cli, greenbone-security-assistent y greenbone-security-desktop se compilan con cmake, los pasos son:

cmake .
make
# make doc
# make install
# make rebuild_cache
# ldconfig


5. Creamos los certificados, añadimos el usuario 'om' (necesario para que el manager puede conectarse al servidor) y un usuario cualquiera con derechos de conectarse al servidor, luego instalamos todos los plugins (dependiendo de la linea que tengan puede durar unos cuantos minutos).

# openvas-mkcert (crear certificado local);
# openvas-adduser (crear el usuario. Atención! aquí le damos permisos al usuario cuales redes le esta permitido de escanear, ejemplos fáciles de entender se encuentran en la manpage: man openvas-adduser);
# openvas-nvt-sync (bajar los ultimos plugins).

Nota: Si te da un error como "mktemp: too few X's in template `openvas-nvt-sync' ", es un bug, tienes que editar el ejecutable openvas-nvt-sync y cambiar la linea
SYNC_TMP_DIR=`mktemp -d openvas-nvt-sync`
a
SYNC_TMP_DIR=`mktemp -d openvas-nvt-sync.XXXXXXXXXX`.


6. Ya los últimos pasos, configuraciones, arranque del demon y las GUI:

# openvassd (arranca el demonio):

Ctrl+F2 "OpenVAS-Client" (esto arranca la GUI clásica, nos conectamos ignorando lo del certificado o sea, lo aceptamos así y ya está).

Los pasos para poder utilizar el manager y los clientes de Greenstone son un poco mas complicados. Para que se entienda mejor un simple gráfico:

servidor <---- manager <---- cliente
(openvassd) ----> (openvasmd) ----> (gsad/gsd)

El servidor o scanner escucha en puerto 9390, openvas-manager funciona como una capa entre cualquier cliente que quiere conectarse al servidor, por ende le decimos al manager por que puerto conectarse al servidor (en nuestro caso 9390) y en que puerto debe escuchar (digamos 9391) para que se pueda establecer una conexión desde el cliente. El manager esta por defecto configurado usar un usuario 'om' para la conexión al scanner, pero este usuario no se crea por defecto, por eso lo hemos creado anteriormente (vease los ficheros README). Además se conecta solamente con este usuario certificado, lo creamos desde luego, arrancamos el manager y los clientes:

# openvas-mkcert-client -n om -i
# openvasmd --port 9391 --sport 9390
# gsad --mport 9391 -v –http-only

openvassd (escucha en 9390)
openvasmd --port 9391 --sport 9390 (escucha en 9391 y conecta a openvassd en 9390)
gsad --mport 9391 -v --http-only (conecta al manager en 9391)

Abrimos los clientes usando los credenciales del usuario anteriormente creado:
http://localhost:9392 (Greenbone Security Assistant)
Ctrl+F2 “gsd” (Greenbone Security Desktop)

Con esto terminamos nuestro setup completo de OpenVas 3.1 y estamos listos para comprobar nuestra red por vulnerabilidades. Por supuesto, esto se pone más interesante se lo utilizamos junto con Metasploit. Cuidado, son herramientas muy potentes.
Happy hacking.

Sitios para consultar en inglés:
http://retrohack.com/installing-openvas-on-ubuntu-9-10/
http://wikisecure.net/security/how-to-install-openvas-ubuntu9