lunes, septiembre 22, 2008

Video Vigilancia en Linux con ZoneMinder

Video Vigilancia en Linux con ZoneMinder

ideo Surveillance With ZoneMinder On Ubuntu

ZoneMinder is the top Linux video camera security and surveillance solution. In this document I will cover how to get ZoneMinder up and running on Ubuntu 6.06.1 LTS or Dapper Drake with the recent updates included.

Hardware Requirements

The surveillance system I am covering here utilizes 4 Dome CCTV cameras hooked up to a single Kodicom kmc-8800 capture card, in addition I also used infrared LEDs so my cameras could see in the dark (honestly I'm abit scared to look). ZoneMinder also does a good job with IP Cameras, unfortunatly they are considerably expensive in my part of the world, hence 4 cameras would blow my budget.

For an in-depth guide of supported hardware one may refer to this link http://www.zoneminder.com/wiki/index.php/Supported_hardware.

In building a system like this one must be aware that it would be storage hungry, therefore an LVM partitioning scheme would be wise to anticipate growth of the system.

In my experience a rig with 4 cameras clogged up my Pentium 4 1,7GHz test system therefore on a production system I used the following resources.

egrep "processor|name" /proc/cpuinfo

processor : 0
model name : Intel(R) Pentium(R) 4 CPU 3.06GHz
processor : 1
model name : Intel(R) Pentium(R) 4 CPU 3.06GHz

cat /proc/meminfo | grep MemTot

MemTotal: 515264 kB

First step after assembly of hardware and strategically placing each CCTV camera, is the Operating System installation. Here I installed a base system without any X-window.

Then we must set an static IP for the system:

cat /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.202
netmask 255.255.255.0
gateway 192.168.1.1

cat /etc/hosts | grep cctv

192.168.1.202 cctv.bigwisu.com cctv

Then we edit the /etc/apt/source.list to include mulitverse and universe repositories.

deb http://id.archive.ubuntu.com/ubuntu/ dapper main restricted multiverse universe

Afterwards we update and upgrade our system:

sudo apt-get update
sudo apt-get upgrade

In my setup a reboot was required. Next step after reboot is to install Apache, php and MySQL:

sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server

Then we need to install the following applications and libraries:

sudo apt-get install ffmpeg libarchive-tar-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl

sudo apt-get install libjpeg62 libmime-perl libstdc++6 libwww-perl zlib1g

Afterwards we download the .deb from the maintainer website:

wget ftp://www.northern-ridge.com.au/zoneminder/ubuntu/dapper/zoneminder_1.22.3-8_i386.deb

Next we install it with the following command:

sudo dpkg -i zoneminder_1.22.3-8_i386.deb

My system had a few dependancy errors, therfore I ran:

sudo apt-get -f install

which automagically fixed any problems.

Here we have already installed all the required packages, next we need some configuration.

First we configure Apache:

sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo /etc/init.d/apache2 force-reload

This surveillance application is run by the apache, therefore to enable access to the Video device we must add www-data to the video group:

sudo adduser www-data video

Now we can access the ZoneMinder GUI, from our favorite browser we type in the URL:

http://IP_ADDRESS_CCTV_SYSTEM/zm

From this interface first step is to add cameras:

CCTV New Video 1

Here we specify the device, dimension and color:

CCTV New Video 2

Result of the newly added camera:

CCTV New Video 3
Click to enlarge

Then we tell ZoneMinder how to process captured images:

CCTV New Video Options

In my case I chose to Motion Detect my system, where recording will only take place upon movement.

I can also choose which area to monitor for movement, here is a sample on the main entrance:

CCTV Motion Detect Zone
Click to enlarge

Here is my 4 camera CCTV system:

CCTV Montage
Click to enlarge

It requires resources as follows:

CCTV CPU Utilization
Click to enlarge

lunes, septiembre 15, 2008

Instalación de Sistema ISP en Debian Etch con VHCS

Instalación de Sistema ISP en Debian Etch con VHCS

Agosto 17, 2007 at 2:27 am (Servidores, linux)

VHCS (Virtual Hosting Control System) es un panel de control basado en web para controlar:

  • Servidor Web (Apache)
  • Servidor de Correo
  • Servidor DNS (Bind 9)
  • Servidor de FTP (proftpd).

Actualmente solo corre bajo Linux.

Para empezar necesitamos un sistema debian sarge instalado y pelado, sin ningún demonio a cargo de los DNS, ni de los mails, ni nada.

En mi caso voy a usar un solo equipo con dos IPs fijos y públicos (para usar los DNSs primarios y secundarios)… para ello edité y configuré apropiadamente mi configuración de red en /etc/network/interfaces.

Configurando los repositorios

# echo deb http://apt.scunc.it/ etch main >> /etc/apt/sources.list

Actualizando los Repos

# apt-get update

Comenzando la instalación

# apt-get install mysql-server mysql-client

Cambiamos la password de root del MySQL:

# mysqladmin -u root password nuevapass

Nota: Reemplazamos “nuevapass” por la nueva clave deseada

Instalando el VHCS desde el repositorio

# apt-get install vhcs*

El hecho de usar * es por que hay mas ficheros a descargar que empiezan con vhcs

Seguimos los pasos, son muy sencillos, a continuación voy a poner algunas capturas de la consola con las opciones a seguir para que nadie se pierda.

Configurando Postfix:

vhcs1.png

Elegimos “Internet Site”
Configurando Proftpd:

vhcs2.png

Si setiene mucha demanda de FTP es aconejable ponerlo como standalone.

Configurando Courier:

vhcs3.png

Simplemente le decimos que nos guarde como el esquema de directorios.

Configurando VHCS:

vhcs4.png

Como es una instalación nueva, elegimos que configure nuestra base de datos de manera automatica

vhcs5.png

Aqui le decimos que si.

Una vez contestadas estas preguntas se van a comenzar a descomprimir e instalar todos los paquetes necesarios.
En caso de recibir una alerta por un archivo de configuración existente, solo debemos decirle que lo sobreescriba (Y or I : install the package maintainer’s version) ya que vamos a usar VHCS para gestionar nuestros demonios.
Una vez finalizada la instalación ajustamos los permisos de las herramientas con:
# chmod -R 766 /var/www/vhcs2/gui/tools
# chown -R www-data tools

Instalacion de proteccion Anti-Spam (Spamassassin) y Anti-Virus (Amavis)

Para empezar instalamos los paquetes necesarios con apt-get:
# apt-get install clamav clamav-daemon amavisd-new spamassassin razor pyzor dcc-client

amavis1.png

En mi caso, selecciono esa opción porque tengo conexión permanente a internet, pero pueden usar la que mejor se ajuste a las necesidades de cada uno, aunque lo lógico es tener conexión permanente en un servidor de este estilo.

amavis2.png

Le decimos que si, asi el antivirus se mantiene en memoria con la ultima base de datos de virus

Añadimos soporte para algunos formatos de compresion asi amavis escanea el contenido:
# apt-get install lha arj unrar zoo unzoo zip unzip nomarch lzop tnef

Descargamos el archivo:

amavisd.conf y lo guardamos como: /etc/amavis/amavisd.conf

Una vez seteado, creamos una carpeta para la “cuarentena”:
#mkdir /var/mail/virus
#chown -R amavis:amavis /var/mail/virus
#gpasswd -a clamav amavis

Reiniciamos los Servicios:
#/etc/init.d/clamav-daemon restart
#/etc/init.d/amavis restart

Ahora vamos a decirle a postfix que escanee todos los mails con amavis, para eso editamos /etc/postfix/main.cf y /etc/vhcs2/postfix/main.cf
y añadimos esta linea al final:
content_filter = smtp-amavis:[127.0.0.1]:10024

Una vez hecho, editamos /etc/postfix/master.cf y /etc/vhcs2/postfix/master.cf y agregamos lo siguiente al final:
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
localhost:10024 inet n - n - - smtpd

-o content_filter=
-o mynetworks=127.0.0.0/8
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o receive_override_options=no_address_mappings

Ahora ya tenemos postfix listo, solo tendremos que reiniciarlo:
# /etc/init.d/postfix restart
Finalmente agregamos la siguiente linea en nuestros repositorios para mantener actualizado el amavis:
deb http://ftp2.de.debian.org/debian-volatile etch/volatile main

Ya tenemos listo el amavis, solo nos queda activar y configurar el spam assassin.

Para activarlo editamos /etc/default/spamassassin y ponemos ENABLED=1

Una vez hecho, editamos /etc/spamassassin/local.cf y ponemos algo asi:
rewrite_header Subject [SPAM]
report_safe 1
trusted_networks 212.17.35.
lock_method flock
trusted_networks 127.0.0.0/8

Ahora registramos razor:
# razor-client
# razor-admin –create
# razor-admin -discover
# razor-admin –register

y una vez hecho, lo inicializamos:
# pyzor discover

Tenemos de añadir este comando en crontab

#crontab -e

00 12 * * 0-7 pyzor discover

Ahora si, ya tenemos el antivirus y el antispam funcionando, para probar el antispam solo debemos mandar un mail con el siguiente texto en el cuerpo del mensaje:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

y para realizar un test de virus podemos ver esta dirección: http://www.gfi.com/emailsecuritytest/

Instalación de estadísticas WEB avanzadas para cada dominio del panel: AWSTATS

Para empezar instalaremos los paquetes necesarios:
# apt-get install awstats libapache2-mod-auth-mysql

Luego, registramos el modulo de apache:
# a2enmod auth_mysql
Reiniciamos el apache y ya estamos listo para configurar el awstats:
# /etc/init.d/apache2 force-reload

Comenzamos con la configuración, para eso vamos a /etc/awstats y descargamos los siguientes archivos:

y lo renombramos a dostatsAjustamos los permisos del script…
# chmod 755 dostats

Copiamos awstats_updateall.pl al lugar correcto…
# cp /usr/share/doc/awstats/examples/awstats_updateall.pl /usr/sbin/awstats_updateall.pl

Editamos el template de apache en /etc/vhcs2/apache/parts/dmn_entry.tpl y debajo de donde diga “Alias /errors {WWW_DIR}/{DMN_NAME}/errors/” agregamos:
Redirect /stats http://{DMN_NAME}/awstats/awstats.pl

Editamos /etc/apache2/sites-available/vhcs2.conf y /etc/vhcs2/apache/working/vhcs2.conf y antes de donde diga “# Default GUI.” agregamos las siguientes lineas:
# awstats modifications
Alias /awstatscss “/usr/share/doc/awstats/examples/css/”
Alias /awstats-icon “/usr/share/awstats/icon/”
Alias /awstatsicons “/usr/share/awstats/icon/”
ScriptAlias /awstats/ “/usr/lib/cgi-bin/”
Options None
AllowOverride None
Order allow,deny
Allow from all

Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

Usamos phpmyadmin para crear un usuario mysql llamado vhcs2_awstats con acceso de solo lectura únicamente a vhcs2 -> admin (es fundamental que este user tenga contraseña, por razones de seguridad)

Editamos /usr/lib/cgi-bin/.htaccess y ponemos algo asi (reemplacen con la clave correcta del usuario):
AuthName “AWStats”
AuthType Basic
AuthMySQL_Host localhost
AuthMySQL_DB vhcs2
AuthMySQL_Password_Table admin
AuthMySQL_User vhcs2_awstats
AuthMySQL_Password <<<>>>
AuthMySQL_Username_Field admin_name
AuthMySQL_Password_Field admin_pass
AuthMySQL_Encryption_Types Crypt_DES Crypt_MD5 Crypt MySQL PHP_MD5
require valid-user

Por ultimo agregamos una linea al crontab (crontab -e) del root para que procese los logs de apache:
30 */2 * * * /etc/awstats/dostats &> /var/log/vhcs2/vhcs2-awstats.log

Si deseamos un link a /stats en el panel de cada dominio debemos agregar un “custom link” con nuestro usuario administrador de VHCS con el siguiente texto: “../../awstats/awstats.pl?config={uname}”
Con esto ya tendríamos el acceso a las estadísticas via awstasts para cualquier dominio con solo anexar /stats en la URL. La contraseña es la misma que para el panel.

Tuneando VHCS

Este paso es optativo, acá voy a poner los ajustes menores que le hice a la configuración de los dominios y demás:

Vamos a /etc/vhcs2/apache/parts/dmn_entry.tpl y donde pusimos el Redirect para el AWstats agregamos dos mas muy utiles:
Redirect /webmail http://{DMN_NAME}/vhcs2/tools/webmail
Redirect /cpanel http://{DMN_NAME}/vhcs2

En ese mismo archivo vemos que tenemos una directiva que dice: Options Indexes Includes FollowSymLinks MultiViews
Cambiamos esa línea por: Options -Indexes Includes FollowSymLinks MultiViews
Con esto evitaremos que por defecto se listen los contenidos de los directorios y así poner un index o un .htaccess en cada dir que creemos.

Ahora vamos a /etc/vhcs2/bind/parts/db_e.tpl y donde dice: “ns IN A {DMN_IP}” agregamos dos líneas mas:
ns1 IN A {DMN_IP}
ns2 IN A -IP DNS SECUNDARIO-
Listo, a partir de ahora, todos los dominios que creemos van a tener la entrada ns1 y ns2 con los IPs correspondientes y los redireccionamientos /cpanel y /webmail como tiene el ya conocido cpanel.

VHCS listo

Ahora solo debemos ingresar a nuestro servidor mediante el navegador tecleando la IP y anexando /vhcs2/ a la dirección:

http://-DIRECCIONIP-/vhcs2/

Nos logueamos con nuestro usuario administrador y empezamos a dar de alta usuarios resellers quienes van a poder crear dominios y cuentas de email.

Saludos y hasta la próxima.

Capturas:

Bibliografía y más Información:
VHCS: Link
Instalar Spamassasin & amavis: Link
SMART monitor: Link
AWStats para VHCS: Link
Squirrelmail: Link

Fuente: http://www.wikipeando.com.ar/index.php/archives/36/

Modificado y adaptado a Debian etch Por _TuXeD_.

viernes, septiembre 12, 2008

SUSE Linux en USB USB SUSE instalación a un disco duro USB

SUSE Linux en USB


CD de OpenSUSE y realiza la instalación a través de YaST2 incluido el script de instalación para instalar SUSE USB a un disco duro. Then the user reboots from the Portable SUSE installation and launches the custom script to convert some files in the running SUSE system for portable compatibility. Entonces el usuario reinicia el portátil de SUSE instalación y se inicia el script personalizado para convertir algunos archivos en el sistema de funcionamiento de SUSE para portátiles la compatibilidad.

Thanks James for directing us to your script and asking us to do a writeup of the Portable SUSE USB conversion process. Gracias James para dirigir a su guión y nos pide que hacer un writeup del portátil USB SUSE proceso de conversión.

OpenSUSE running Portably from USB: OpenSUSE Portably funcionamiento de USB:







SUSE Linux en USB

USB SUSE install Requirements: USB SUSE instalar Requisitos:

* External USB Hard Drive (Rotating Platter "Not a Flash Drive") Externo USB Hard Drive (Plato giratorio "No es un Flash Drive")
* OpenSUSE Live CD OpenSUSE Live CD
* Portable SUSE conversion script Portable SUSE script de conversión

How to make a Portable SUSE: ¿Cómo hacer un portátil SUSE:

Warning: Before proceeding, backup all data you wish to save from your USB Hard Drive. Advertencia: Antes de proceder, copia de seguridad de todos los datos que desee guardar de su disco duro USB. In addition, physically disconnect any internally attached hard drives to avoid the possibility of installing to the wrong device. Además, físicamente desconectar cualquier adjunto internamente los discos duros para evitar la posibilidad de instalar al dispositivo equivocado.

1. Download the Live CD KDE (685MB) ISO , burn to a CD and start your system from the CD Descargue el KDE Live CD (685MB) ISO, para grabar un CD y arrancar su sistema desde el CD
2. Once SUSE is up and running, insert your USB Hard Drive Una vez que SUSE está en marcha y funcionando, inserte su Disco Duro USB
3. When prompted that a new medium has been detected , select the option to Do Nothing and check the box to Always do this for this type of media then click OK Cuando se le pida que un nuevo medio se ha detectado, seleccione la opción de no hacer nada y marque la casilla para hacer esto siempre para este tipo de medios de comunicación a continuación, haga clic en Aceptar






4. Next, click the My Computer icon from your SUSE desktop A continuación, haga clic en el icono Mi PC de su escritorio de SUSE
5. Locate your USB device from the Disk Information section on the page Localice su dispositivo USB de disco de la sección "Información sobre la página
6. Right click on the device and select to Safely Remove Haga clic derecho sobre el dispositivo y seleccione Quitar con seguridad



7. Right click on the device again, this time select Properties Haga clic derecho sobre el dispositivo de nuevo, esta vez seleccione Propiedades





8. From the Properties window that appear, click the Mounting tab Desde la ventana Propiedades que aparece, haga clic en la pestaña de montaje
9. Uncheck the Mount automatically box and click OK Desmarque la casilla monte automáticamente y haga clic en Aceptar






10. Next, start the installer via the install icon on your desktop and follow the onscreen instructions. A continuación, iniciar el instalador a través de la instalación icono en el escritorio y siga las instrucciones en pantalla. You can click Cancel to any pop ups notifying you of newly detected media Puede hacer clic en Cancelar para cualquier pop ups notificación de los medios de comunicación recientemente detectados
11. Once the installer has finished, reboot your computer. Una vez que el instalador haya terminado, reinicia el equipo. Remove the CD from the drive and proceed to boot from the USB device. Retire el CD de la unidad y proceder a arrancar desde el dispositivo USB.
12. Continue the onscreen setup process… users and passwords etc Continuar el proceso de configuración en pantalla… los usuarios y contraseñas, etc
13. Once your up and running again, press alt+f2 and type konsolesu then press Enter Una vez que su puesta en marcha de nuevo, pulse Alt + F2 y el tipo konsolesu pulse Entrar
14. Type wget pendrivelinux.com/downloads/portablesuse.tar.gz Tipo wget pendrivelinux.com / descargas / portablesuse.tar.gz
15. Type tar -zxvf *.tar.gz Tipo tar-zxvf *. tar.gz
16. Type ./installation and follow the onscreen instructions answering y to all of the questions Tipo. / Instalación y siga las instrucciones en pantalla y responder a todas las preguntas
17. Type reboot to reboot and ensure that everything is still working Tipo de reiniciar el sistema para iniciar el sistema y asegurarse de que todo está todavía trabajando

That concludes this Portable SUSE how to tutorial. Con esto se cierra este portátil SUSE forma de tutorial. You should now be able to run your Portable SUSE from any PC that can boot from a USB device. Ahora debe ser capaz de ejecutar SUSE su portátil desde cualquier PC que puede arrancar desde un dispositivo USB. It should be safe to re-attach any internal drives to your PC. Se deben ser seguros para volver a adjuntar toda las unidades internas de su PC.