sábado 24 de julio de 2010

Hosts Virtuales en Apache 2 (Debian/Ubuntu)

Lo que sigue es una breve nota técnica que me sirva (y a otros) como recordatorio para la próxima vez , dado que hoy he perdido un rato con la configuración de un host virtual en Debian.

En /etc/apache2 disponemos de varios subdirectorios, dos de ellos importantes para nuestra tarea. El primero sites-available y el segundo sites-enabled.

Los ficheros de configuración de los hostings virtuales se configuran en sites-available. El segundo subdirectorio sólo contiene enlaces a aquellos virtulhost que queremos activar.

Queremos crear un virtualhost de nombre zerotux. Es decir, cuando ponga en mi navegador http://zerotux me debe de llevar a la página principal de ese host. Si pongo http://localhost me llevará al virtualhost por defecto (distinto del de zerotux).

Lo primero, creo una nueva entrada en /etc/hosts (mantengo lo que había y añado lo siguiente):

127.0.0.1 zerotux

Copio los archivos del nuevo site en /var/www/zerotux

Comienza el procedimiento de configuración del nuevo virtualhost en Apache2:

$ cd /etc/apache2/sites-available

Edito las dos primeras líneas del fichero default para que queden así:

NameVirtualHost *:80

$ cp default zerotux

Edito zerotux para que las primeras líneas queden así:


ServerAdmin webmaster@zerotux

ServerName zerotux

DocumentRoot /var/www/zerotux

Options FollowSymLinks
AllowOverride None


$ cd /etc/apache2

El siguiente comando, a2ensite (available2enablesite) crea un enlace en sites-enable al site que le indiquemos (es decir, activa el virtualhost que acabamos de crear)

# a2ensite zerotux

Comprobamos:

$ ls -al sites-enabled/

Recargamos apache2:

#/etc/init.d/apache2 force-reload

Listo!

miércoles 6 de enero de 2010

Cambiar la Hora y la Fecha al sistema Linux

Para cambiar la hora del sistema usaremos el comando date, pero hemos de tener en cuenta que al reinicializar el ordenador, éste cogerá la hora de la BIOS y nos volverá a colocar la hora anterior, para evitar esto cambiaremos también la hora de la BIOS con el comando hwclock como se detalla a continuación:

Para no tener problemas, os recomiendo borrar primero el fichero /etc/adjtime, no pasa nada por borrarlo, pues se crea autmáticamente y solo sirve para la configuración de la zona horaria, puede tener un aspecto como este:
------
[root@localhost ~]# cat /etc/adjtime
0.041498 1177502852 0.000000
1177502852
LOCAL
[root@localhost ~]#
-----

Supongamos queremos poner: 6-Eneor-2010 y la hora 13:33.
Esto lo haremos como root:

# date --set "2010-01-06 13:33"
Sun May 27 17:27:00 CET 2007

Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS.

# hwclock --set --date="2010-01-06 13:33"



Y ya está!

Si en algún momento reinicias el PC se creará el fichero /etc/adjtime, y como no vendrá especificada zona horaria, pondrá la local.

viernes 4 de diciembre de 2009

Manual de Slackware

Veo en webmastertools que la gente solicita mucha información acerca de un manual de slackware, pues bien, aquí dejo dos links imprescindibles:

La guía oficial, recomiendo leerla entera, yo tengo el libro y aprendí mucho.

http://www.slackbook.org/html/book.html

Un video de la instalación, aunque pone versión 12 es valido para la 13

http://www.vivalinux.com.ar/distros/video-instalacion-slackware-12.html

Cuando hagás el particionado de disco leer esto y esto otro, espero que sirva de ayuda.

saludos y buena lectura :D

Correo en el terminal

Me compre la guía de Slackware y vi un cliente de correo en modo terminal, y dije ¿por que no con gmail? Así que reuní información y aquí estoy. Lo positivo es que nuestros correos no serán tan fáciles de leer, no hay mucha gente que utilice la consola para ver los mensajes. El programa en cuestión se llama mutt, soporta pop3 e imap, con eso vamos bien.

Vamos a configurar la cuenta de gmail con mutt y con IMAP. Nos hemos bajado el fuente de la pagina:

#wget ftp://ftp.mutt.org/mutt/mutt-1.4.2.3.tar.gz

#tar -xvf mutt-1.4.2.3.tar.gz

#cd mutt-1.4.2.3

#./configure

#make

#make install

Ahora creamos archivos necesarios:

# mkdir ~/.mutt && mkdir ~/.mutt/msgcache && touch ~/.mutt/aliases #Los && se utilizan para secuencias de comandos si el primer comando da error, el siguinte no se ejecuta

Creamos el archivo de configuración:

#vi ~/.muttrc

set hostname = gmail.com

my_hdr From: Tu Nombre

set check_new

set mail_check=60

set timeout=20

set spoolfile=imaps://imap.gmail.com:993/INBOX

set imap_user=’tu e-mail@gmail.com’

set imap_pass=’passwd’

#set smtp_url = ’smtp://tu e-mail@smtp.gmail.com:587/’

#set smtp_pass = ‘passwd’

set folder=imaps://imap.gmail.com:993

set postponed=”imaps://imap.gmail.com/[Gmail]/Borradores”

set copy=yes

set record=”imaps://imap.gmail.com/[Gmail]/Enviados”

set imap_check_subscribed=”yes”

set imap_list_subscribed=”yes”

set header_cache=”~/.mutt/hcache”

set message_cachedir=”~/.mutt/msgcache/”

set certificate_file=~/.mutt/certs

set alias_file = ~/.mutt/aliases

source ~/.mutt/aliases

set markers=no

macro index “y” “c?t”

macro browser “y” “tt”

ignore *

unignore From To Cc Subject Date Reply-To Organization X-Mailer User-Agent

hdr_order From: Date: To: Cc: Subject:

set delete=no

set move=no

set include=yes

set nomark_old

set reply_to=yes

set allow_8bit

set charset=utf-8

mailboxes =INBOX

set forward_decrypt

set pgp_ignore_subkeys

unset pgp_autoencrypt

set pgp_replyencrypt

set pgp_verify_sig=yes

set pgp_timeout=7200

set pgp_show_unusable

set pgp_sort_keys = trust

set pgp_sign_as=0×000000

CUIDADO con los permisos de este fichero ya que están tus datos!!!!

Arrancamos el mutt:

#mutt (Si todo esta correcto, Nos mostrara la bandeja de entrada)

Importante, antes de hacer nada, teclea el símbolo de interrogación (?) que nos llevara a la ayuda, he borrado un mensaje por pulsar a la tecla d, (por suerte siempre tengo thunderbird que me rescató)

Detectar rootkits en nuestro linux.

Nadie esta salvo de esto, los rootkits son programas que esconden a otros programas maliciosos, o por lo menos ese es el fin más comun, desde robarnos información, hasta controlar el servidor.

A simple vista es difícil o prácticamente imposible saberlo, ya que nos oculta cosas del top o del ps -ef por ejemplo. Por eso os presento chkrootkit.

Lo descargamos:

#wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

#tar -xvf chkrootkit.tar.gz

#cd chkrootkit-0.48

#make ( Este no lleva configure ni make install, así que nos crea el ejecutable en la carpeta en la que estamos trabajando)

#./chkrootkit (como root por que tiene que entrar en carpetas del sistema)

Ahora nos saldrá algo así:

zerotux@debianserver:~/Desktop/chkrootkit-0.48> sudo ./chkrootkit
root’s password:
ROOTDIR is `/’
Checking `amd’… not found
Checking `basename’… not infected
Checking `biff’… not found
Checking `chfn’… not infected
Checking `chsh’… not infected
Checking `cron’… not infected
Checking `crontab’… not infected
Checking `date’… not infected
Checking `du’… not infected
Checking `dirname’… not infected
Checking `echo’… not infected
Checking `egrep’… not infected

Checking `slapper’… not infected
Checking `z2′… chklastlog: nothing deleted
Checking `chkutmp’… The tty of the following user process(es) were not found
in /var/run/utmp !
! RUID PID TTY CMD
! root 2233 tty7 /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/lib/xdm/authdir/authfiles/A:0-eqQ83V
chkutmp: nothing deleted
isma@linux-aouo:~/Desktop/chkrootkit-0.48>

Parece todo limpio, si eres un experto en esto te aconsejo ejecutar:

#./chkrootkit -x

A mi con que me ponga que no esta infectado me da y me sobra, pero siempre hay gente que busca algo más.

Conocer el Sistema Operativo de un servidor remoto

Con el programa xprobe2 podés conocer que sistema operativos esta usando un servidor remoto, lo podés encontrar en los repositorios, aun que si no lo tenés, siempre lo podés compilar:

#wget http://freefr.dl.sourceforge.net/sourceforge/xprobe/xprobe2-0.3.tar.gz
#tar xvf xprobe2-0.3.tar.gz
#cd xprobe2-0.3
#./configure
#make
#make install

Si lo tenés en los repositorios los pasos de atrás los salteas.


root@debianserver:/# xprobe2 montevideo.com


Xprobe2 v.0.3 Copyright (c) 2002-2005 fyodor@o0o.nu, ofir@sys-security.com, meder@o0o.nu

[+] Target is montevideo.com
[+] Loading modules.
[+] Following modules are loaded:
[x] [1] ping:icmp_ping - ICMP echo discovery module
[x] [2] ping:tcp_ping - TCP-based ping discovery module
[x] [3] ping:udp_ping - UDP-based ping discovery module
[x] [4] infogather:ttl_calc - TCP and UDP based TTL distance calculation
[x] [5] infogather:portscan - TCP and UDP PortScanner
[x] [6] fingerprint:icmp_echo - ICMP Echo request fingerprinting module
[x] [7] fingerprint:icmp_tstamp - ICMP Timestamp request fingerprinting module
[x] [8] fingerprint:icmp_amask - ICMP Address mask request fingerprinting module
[x] [9] fingerprint:icmp_port_unreach - ICMP port unreachable fingerprinting module
[x] [10] fingerprint:tcp_hshake - TCP Handshake fingerprinting module
[x] [11] fingerprint:tcp_rst - TCP RST fingerprinting module
[x] [12] fingerprint:smb - SMB fingerprinting module
[x] [13] fingerprint:snmp - SNMPv2c fingerprinting module
[+] 13 modules registered
[+] Initializing scan engine
[+] Running scan engine
[-] ping:tcp_ping module: no closed/open TCP ports known on 200.61.188.124. Module test failed
[-] ping:udp_ping module: no closed/open UDP ports known on 200.61.188.124. Module test failed
[-] No distance calculation. 200.61.188.124 appears to be dead or no ports known
[+] Host: 200.61.188.124 is up (Guess probability: 50%)
[+] Target: 200.61.188.124 is alive. Round-Trip Time: 0.03281 sec
[+] Selected safe Round-Trip Time value is: 0.06561 sec
[-] fingerprint:tcp_hshake Module execution aborted (no open TCP ports known)
[-] fingerprint:smb need either TCP port 139 or 445 to run
[-] fingerprint:snmp: need UDP port 161 open
[+] Primary guess:
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.23" (Guess probability: 96%)
[+] Other guesses:
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.24" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.25" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.26" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.27" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.28" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.29" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.30" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.22" (Guess probability: 96%)
[+] Host 200.61.188.124 Running OS: "Linux Kernel 2.4.21" (Guess probability: 96%)
[+] Cleaning up scan engine
[+] Modules deinitialized
[+] Execution completed.

Como ves saca las probabilidades de que sea un sistema u otro. Es curioso ver como la gran mayoría son Linux :D

sábado 10 de octubre de 2009

Instalacion y configuracion de Squirrelmail sobre Linux

Webmail es un software que le permite consultar el correo electrónico desde cualquier ordenador, en cualquier lugar del mundo, a través de su navegador web. Squirrelmail es un simple, rápido y popular paquete de correo web. Esta guía le permitirá la configuración del correo web en su servidor, ya sea para su uso dentro de su red propia, o en el exterior.

Preparación

Antes de realizar la instalacion es necesario contar con los siguientes servicios funcionando en nuestra red:

  • Servidor de Transferencia de Correo (MTA)
  • Agente de Entrega de Correo IMAP
  • Un servidor de paginas de internet

Si cumplimos con los requerimientos anteriores procedemos a la instalacion del correo web.

Instalacion

La instalacion del servicio de squirrelmail es muy facil, solo tecleamos:

:~$ sudo apt-get install squirrelmail

Configuracion

Squirrelmail

Squirrelmail viene con un menu de configuracion integrado. Para ejecutarlo, tecleamos:

:~$ sudo squirrelmail-configure

Pueden navegar el menu a traves de numero sy letras. No es necesario editar todas las opciones, tan solo con verificar que los valores del Menu 2 (mail server settings) esten correctos es suficiente. Es perfectamente seguro usar imap en la misma maquina donde correo squirrelmail.

Apache

Squirrelmail viene con una configuracion de ejemplo para apache en /etc/squirrelmail/apache.conf.Pueden copiar este archivo y luego crear el link simbolico ejecutando los siguientes comandos:

:~$ sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
:~$ sudo ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail

Tambien podemos activar el sitio con el comando:

sudo a2ensite squirrelmail

Forzamos la recarga de la configuracion de Apache:

:~$ sudo /etc/init.d/apache2 force-reload

Ahora podemos utilizar nuestro navegador web para ingresar en la direccion http://localhost/squirrelmail donde sera desplegada la pagina de login de Squirrelmail.