jueves, 5 de junio de 2008

Referencias Ajax


Les dejo algunos enlaces interesantes sobre ajax :

martes, 20 de mayo de 2008

Interfaces graficas para IPtables y NetFilter, el firewall de Linux

En un post Anterior mencione sobre un generador de script de configuracion para iptables, bueno para algunos que quieran interfaces graficas para administrar su firewall les alcanzo éstas.

  • Kmyfirewall (kmyfirewall.sourceforge.net, paquete kmyfirewall): frontal gráfico para IPtables de KDE. Genera un script que contiene las reglas de IPtables (/etc/kmyfirewall/kmyfirewall.sh) y un script de inicio (/etc/init.d/kmyfirewall).


  • fwBuilder (Firewall Builder, fwbuilder.org, paquete fwbuilder): frontal gráfico orientado a objetos que permite generar reglas para IPtables.

  • FireStarter (fs-security.com, paquete firestarter): frontal gráfico para IPtables que permite generar reglas de firewall, activarlas y monitorizar el tráfico que está siendo filtrado por Netfilter. Una vez lanzado queda como un applet en la barra de tareas. La configuración que ha creado la guarda en el script /etc/firestarter/firewall.

  • Guarddog (simonzone.com/software/guarddog/, paquete guarddog): frontal gráfico para IPtables para KDE.

  • Analizar los logs de Netfilter

    Para analizar los logs de Netfilter disponemos de varias herramientas.

  • WFlogs (wallfire.org/wflogs/, paquete wflogs): herramienta que analiza los logs de Netfilter y muestra los resultados como texto, HTML o en tiempo real.

  • fwLogWatch (fwlogwatch.inside-security.de, paquete fwlogwatch): programa que analiza los registros de Netfilter generando informes como texto, HTML o en tiempo real. Además, permite responder a ataques ejecutando scripts o modificando las reglas del firewall. Dispone de una interfaz web para administración remota.

Servidor FTP con proftp en Debian

En este tutorial vamos a hablar de cómo instalar y configurar un servidor FTP con restricción de usuarios en Debian / Ubuntu, proftp es un servidor de ftp robusto y fácil de configurar vamos a ver como lo instalamos:

Este tutorial está basado en la sigueinte guía http://ubuntuforums.org/showthread.php?t=79588


Primero para instalarlo ejecutamos el siguiente comando:

Ubuntu

sudo apt-get install proftpd

Debian (como root)

apt-get install proftpd

Aparece una pantalla para que elijas entre dos opciones inetd o standalone, ahorita no voy a explicar cuales son las ventajas y desventajas de cada una te acosejo que elijas standalone a menos que ya hayas utilizado inetd.

Luego por razones de seguridad vamos a crear un shell falso para el acceso de ftp para esto vamos a agregar una linea en el archivo /etc/shell:

Ubuntu

gedit sudo /etc/shells

Debian

nano /etc/shells

Nota: Si estamos en la consola también podemos editar los archivos con vim

Y agregamos la siguiente línea al final del archivo:

/bin/false

Esto va a evitar que cualquier usuario que utilice el ftp puede accesar a nuestra consola de comandos

Ahora creamos un directorio donde se guardarán los archivos que compartiremos en el ftp:

cd /home
sudo mkdir FTP-public

Ahora vamos a crear un usuario para accesar al ftp con los siguientes comandos:

sudo useradd userftp -p tu_password -d /home/FTP-public -s /bin/false

Claro puedes cambiar userftp por el nombre que quieras y coloca el password en donde dice tu_password.

Analicemos un momento este comando, useradd permite añadir un usuario le estamos dando las siguientes opciones: -p para definir el password, -d para definir cual va a ser el directorio principal o home del usuario y -s para indicarle cual es el shell por defecto del usuario, para más información de este comando puedes colocar man useradd en la consola.

Ahora vamos a crear dos directorios más para separar los archivos de subida y bajada:

sudo mkdir /home/FTP-public/download
sudo mkdir /home/FTP-public/upload

Ahora tenemos que especificar los permisos de lectura y escritura para estos directorios:

sudo chmod 755 /home/FTP-public
sudo chmod 755 /home/FTP-public/download
sudo chmod 777 /home/FTP-public/upload

Es importante recalcar que si tienes instalado un servidor Web puedes crear las carpetas dentro de /var/www/tu_sitio para que tengas un FTP dentro del sitio web que estes usando y crear varios usuarios de FTP con distintos privilegios.

Ahora veamos el archivo de configuración del proftp que se encuentra en /etc/proftpd/proftpd.conf para esto ejecutamos:

sudo gedit /etc/proftpd/proftpd.conf

o si lo queremos editar en la consola con vim

sudo vim /etc/proftpd/proftpd.conf

A continuación presento el archivo de configuración proftpd.conf los comentarios de que hace cada directiva están dentro del archivo:

   # Para aplicar los cambios tienes que reiniciar el servidor FTP
AllowOverwrite on
AuthAliasOnly on# Escoge aqui un alias para tu usuario de FTP
UserAlias vensign userftp
ServerName "Vensign FTP"
ServerType standalone
DeferWelcome on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 2200
DisplayFirstChdir .message
ListOptions "-l"
RequireValidShell off
TimeoutLogin 20
RootLogin off
# Aqui creamos los archivos de logs que son de mucha utilidad en caso de fallos
ExtendedLog /var/log/ftp.log
TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log
#DenyFilter *.*/
# No vamos a utilizar el archivo /etc/ftpusers file
#(sirve para colocar adentro los usuarios que no queremos que se conecten)
UseFtpUsers off
# Permitir reiniciar una descarga (muy util en caso de que se caiga la conexion)
AllowStoreRestart on
# El puerto 21 es el estandar para FTP,
#es bueno cambiarlo por razones de seguridad
#aqui escogi el 1980 puedes escoger el que quieras
Port 1980
# Para evitar ataques de DoS (negacion de servicio), se recomienda
# colocar un maximo de 30 procesos hijos. Si necesitas mas conexiones
# que esta simplemente aumenta este valor. Esto solo funciona con el
# servidor en modo standalone

MaxInstances 8
# Coloca el usuario y el grupo al que el servidor normalmente funciona
User nobody
Group nogroup
# Umask 022 es un buen valor por defecto para evitar que nuevos archivos y directorios
# sean escribibles por todo el mundo o por el grupo.
Umask 022 022
PersistentPasswd off
MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8
# Despliega un mensaje despues de que ingresa un usuario
AccessGrantMsg "Bienvenidos a Vensign !!!"
# Este mensaje es mostrado por cada intento de ingreso sea bueno o no
ServerIdent on "estas en Vensign"
# Coloca a /home/FTP-public como el directorio principal (home)
DefaultRoot /home/FTP-public
# Bloquea a todos los usuarios al directorio home que definimos
DefaultRoot ~
MaxLoginAttempts 5
#Ingresos validos solo permitimos a userftp
AllowUser userftp
DenyALL
#Definimos los permisos de los directorios que creamos para el FTP
Umask 022 022
AllowOverwrite off
DenyAll
Umask 022 022
AllowOverwrite off
DenyAll
/home/FTP-public/upload/>
Umask 022 022
AllowOverwrite on
DenyAll
AllowAll

Con este archivo de configuración tendrás un servidor FTP funcionando con el usuario vensign (como alias de userftp) y con el password que colocaste más arriba, cuando creaste el usuario, además definimos como puerto de conexión 1980, para que haga efecto la configuración debemos reiniciar el servidor FTP ejecutando:

sudo /etc/init.d/proftpd restart

Para conectarte desde un cliente FTP debes recordar colocar como puerto de conexión 1980 como lo definimos en el archivo de configuración.

Generador de Script para IPtables


En mi linux queria colocar algunas restricciones en el firewall para algunos servicios de red, por lo que tenia que hechar mano a las configuraciones del iptables, bueno despues que lo hice me di con la ingrata sorpresa que ya habia un generador de script de configuraciones a través de un entorno web. al menos tiene las configuraciones necesarias como para ponerle seguridad a la pc.
Al script generado guardas como texto con extension ".sh", luego los permisos de ejecucion (chmod +x archivo.sh) y lo ejecutas, si te va bien, pues haces iptables-save y si no iptables -F.

Les alcanzo el enlace
http://easyfwgen.morizot.net/gen/

lunes, 12 de mayo de 2008

Instalar tomcat en ubuntu


Antes de empezar: ¿Qué es Tomcat? en palabras simples, es un servidor de páginas web para Java, así podrás implementar un sitio web que utiliza -entre otras- paginas jsp (programadas en Java). Otro punto a aclarar es que estas instrucciones están para Ubuntu 7.10, pero me da la idea que puede funcionar perfectamente con otras distros.

Lo primero es saber si tienes java instalado en tu máquina, puedes usar Synaptic, o bien digitar este comando:
­­dpkg –get-selections | grep sun-java
el cual te dirá cuales tienes instalados y los cuales -a lo menos- deben ser:
sun-java6-bin
sun-java6-jdk
sun-java6-jre
una forma simple de instalarlo es con el comando:
sudo apt-get install sun-java6-jdk
Una vez instalado Java, hay que instalar Tomcat. Para ello haz de ir al sitio oficial y descargalo. Yo utilicé la versión 6, la que pide a lo menos la version 5 de Java. En este punto, si ya investigaste un tanto, te habrás dado cuenta de que Tomcat existe en los repositorios. Sucede que la versión 5.5 de Tomcat que viene en los repositorios, por algún extraño motivo no funciona con el Java instalado (de repositorios). Por este motivo es que se prefiere instalar manualmente Tomcat.
Sigamos, luego de descargarlo hay que descomprimirlo:
tar xvzf apache-tomcat-6.0.14.tar.gz
y luego lo dejamos donde corresponde, yo utilicé /usr/share, pero puede ser en cualquier lugar:
sudo mv apache-tomcat-6.0.14 /usr/share/tomcat6
Luego hay que indicar el JAVA_HOME a tomcat, esto es debido a la "manualidad" de la instalación. Se puede hacer de dos formas, editando tu archivo .bashrc (que está ubicado en tu home) o bien, dandoselo en el archivo .sh del servicio (que aun no creamos).
Yo ocupé las dos :) ya que la primera me funcionaba, pero no me levantaba el servicio automáticamente, tal vez a ti de mejor resultado.
Editando .bashrc:
nano ~/.bashrc
vas al final y agregas:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
hasta aquí ya puedes iniciar Tomcat con el comando (es posible que tengas que reiniciar para que funcione):
sudo /usr/share/tomcat6/bin/startup.sh
Si todo va bien, deberías ver una pagina web en tu navegador en la direccion: localhost:8080. Si quieres cambiar el puerto, o bien deseas cambiar otro aspecto de Tomcat, sugiero que leas este tutorial.
Ok, entonces todo funciona, pero debes levantar Tomcat una y otra vez despues de cada reinicio y la idea es que se inicie solito. Aqui es cuando creamos el archivo que hará esa tarea:
sudo nano /etc/init.d/tomcat
y dentro peguen esto:
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
sh /usr/share/tomcat6/bin/starup.sh
;;
stop)
sh /usr/share/tomcat6/bin/shutdown.sh
;;
restart)
sh /usr/share/tomcat6/bin/shutdown.sh
sh /usr/share/tomcat6/bin/startup.sh
;;
esac
exit 0
Esto no basta y hay que hacerlo ejecutable, osea, no sólo texto, sino que texto "con sentido" :)
sudo chmod 755 /etc/init.d/tomcat
y finalmente, un truquillo:
sudo update-rc.d tomcat defaults 99
Esto hará que el script del servicio recién creado, se instale en los diferentes niveles que tiene linux.

sábado, 10 de mayo de 2008

Elastix: VoIP + CRM en Linux


Las características proveídas por Elastix son muchas y variadas. Elastix integra varios paquetes de software, cada uno incluye su propio conjunto de características. Además Elastix añade nuevas interfaces para el control y reportes de si mismo, lo que lo hace un paquete completo. Algunas de las características proveídas por Elastix son:

* Soporte para VIDEO. Se puede usar videollamadas con Elastix.
* Soporte para Virtualización. Es posible correr múltiples máquinas virtuales de Elastix sobre la misma caja.
* Interfaz Web para el usuario, realmente amigable.
* “Fax a email” para faxes entrantes. También se puede enviar algún documento digital a un número de fax a través de una impresora virtual.
* Interfaz para tarifas.
* Configuración gráfica de parámetros de red.
* Reportes de uso de recursos.
* Opciones para reiniciar/apagar remotamente.
* Reportes de llamadas entrantes/salientes y uso de canales.
* Módulo de correo de voz integrado.
* Interfaz Web para correo de voz.
* Módulo de panel operador integrado.
* Módulos extras SugarCRM y Calling Card incluidos.
* Sección de descargas con accesorios comúnmente usados.
* Interfaz de ayuda embebido.
* Servidor de mensajería instantáneo (Openfire) integrado.
* Soporte Multi-lenguaje.
* Servidor de correo integrado incluye soporte multi-dominio.
* Interfaz web para email.


[Extraido de la Pagina principal de Elastix]

Microsoft Operation Framework

Es un marco de Trabajo para Gestion de TI





http://technet.microsoft.com/es-es/library/bb232042(EXCHG.80).aspx