martes, junio 23, 2009

FreeBSD + Squid + Sarg

Ya tenemos instalado FreeBSD

Ya tenemos instalado Squid

Instalacion de SARG

# whereis sarg
sarg: /usr/ports/www/sarg
# cd /usr/ports/www/sarg
# make install clean

Configuracion de SARG

# edit /usr/local/etc/sarg/sarg.conf
# egrep -v '#|^ *$' /usr/local/etc/sarg/sarg.conf
---
language English
access_log /usr/local/squid/logs/access.log
graphs yes
graph_days_bytes_bar_color orange
title "Squid User Access Reports"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
background_color white
text_bgcolor lavender
title_color green
logo_image none
logo_text ""
image_size 80 45
background_image none
temporary_dir /usr/home/hd3/sarg/tmp
output_dir /usr/local/www/apache22/data/squid-reports
output_email none
resolve_ip yes
user_ip yes
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
date_format u
lastlog 4
remove_temp_files yes
index yes
index_tree file
overwrite_report yes
topsites_num 100
long_url no
---

Nota:
La opcion
lastlog 4
hace que solo se mantengan los ultimos 4 reportes, esto es importante si por ejemplo se tiene programado hacer un reporte semanal y no se quiere llenar el disco con los reportes.

Para ver las opciones de un archivo sin los comentarios
# egrep -v '#|^ *$' /usr/local/etc/sarg/sarg.conf

Generar el reporte
# /usr/local/bin/sarg

Para ver el reporte hay que entrar a:
http://miequipo/squid-reports/

Aqui se puede ver un ejemplo de los datos que genera
http://sarg.sourceforge.net/squid-reports/index.html

Generar un reporte de un equipo especifico

Copiar el access.log de squid
# cp /usr/local/squid/log/access.log /home/angel

Entro al directorio
# cd /home/angel

Filtro el access.log con la IP del equipo a investigar
# cat access.log | grep 192.168.1.119 > access1.log

Genero el reporte con SARG
sarg -o /home/angel/ -d 22/05/2010-24/05/2010 -g e -l /home/angel/access1.log

Se creara el siguiente contenido, que es el reporte
23May2010-24May2010 index.html images

Para ver el reporte, se abre el archivo index.html

Tambien puedo convertir el access1.log a un formato entendible por humanos
# sarg -convert -l /home/angel/access1.log > access2.log

miércoles, junio 17, 2009

FreeBSD + PHPMailer

Para poder hacen envios de correos desde PHP, se puede utilizar

# cd /usr/ports/mail/phpmailer
# make install clean

(OJO A ESTO)
You need to adjust php's include_path to contain `/usr/local/share/phpmailer'!
For example, insert
include_path = ".:/usr/local/share/phpmailer"
into `/usr/local/etc/php.ini'.
===> Registering installation for phpmailer-2.0.2

Listo, instalo la version 2.0.2

Le pondre la linea que dicen en el /usr/local/etc/php.ini'
UPS! busco y en FreeBSD no existe el php.ini, lo que encuentro es
/usr/local/etc/php.ini-dist y una nota sobre el php.ini dentro que
dice:

;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; This file controls many aspects of PHP's behavior. In order for PHP to
; read it, it must be named 'php.ini'. PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory. The
; path in which the php.ini file is looked for can be overridden using
; the -c argument in command line mode.

Bueno, no entiendo bien, pero ya que en este archivo fue donde se
activo la linea

default_charset = "iso-8859-1"

Supongo que es donde se controla al PHP y por esto le metere la linea
:/usr/local/share/phpmailer

Hago copia del archivo por si me lo tiro
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini-dist-
20-04-2009

Listo a editar el archivo tranquilo

Veo que el archivo /usr/local/etc/php.ini-dist esta estructurado por
sectores y en la parte donde dice Paths and Directories, justo al
final lo meto, queda asi:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; Activamos PHP Mailer el port es /usr/ports/mail/phpmailer
include_path = ".:/usr/local/share/phpmailer"

NOTA:
Hay que re-iniciar algo al cambiar o poner cosas en el
/usr/local/etc/php.ini-dist ???

Ahora a configurarlo:

Para saber que y donde quedo instalado phpmailer, uso:

alpha# find . -name "phpmailer"
./usr/local/share/doc/phpmailer
./usr/local/share/examples/phpmailer
./usr/local/share/phpmailer
./usr/local/www/glpi/lib/phpmailer
./usr/ports/mail/phpmailer
./usr/home/hd1/apps/GLPI/glpi-0.70.1a/glpi/lib/phpmailer
./usr/home/hd1/apps/GLPI/glpi-0.70/glpi/lib/phpmailer
alpha#

Vamos a ver los examples...

# ls /usr/local/share/examples/phpmailer/
contents.html pop3_before_smtp_test.php
test_sendmail.php
images test_gmail.php test_smtp.php
index.html test_mail.php
alpha#

Supongo que este port /usr/ports/security/php5-
openssl/ hara
lo mismo para PHP con OpenSSL

Instalandolo:

# cd /usr/ports/security/php5-openssl
# make install clean
...

Libraries have been installed in:
/usr/ports/security/php5-openssl/work/php-5.2.9/ext/openssl/modules

FreeBSD + Samba + ClamAV

Requerimientos:
Tener instalado y funcionando FreeBSD
Tener instalado y funcionando Samba 3.0

Instrucciones:

Instalar el port clamav
# cd /usr/ports/security/clamav
# make install clean

Editar el archivo de configuracion
# edit /usr/local/etc/clamd.conf

Y cambiar las lineas:

LocalSocket /var/run/clamav/clamd.sock
por
LocalSocket /var/run/clamav/clamd

User vscan
por
User vscan root

Instalar el port sama-vscan
# cd /usr/ports/security/samba-vscan
# make install clean

Editar el archivo de configuracion
# edit /usr/local/etc/samba-vscan/vscan-clamav.conf

Y cambiar las lineas:

infected file action = nothing
por
infected file action = quarantine

quarantine directory = /tmp
por
quarantine directory = /usr/home/hd1/infected

Cargar el clamav al iniciar el sistema con unas lineas en /etc/rc.conf

# Activamos ClamAV (antivirus para Samba)
clamav_freshclam_enable="YES"
clamav_clamd_enable="YES"

Activar en le archivo de samba el escaneo

# edit /usr/local/etc/smb.conf

Y colocar en los shares que queramos las siguientes lineas:

# Antivirus ClamAV + Samba-vscan y recycle
vfs objects = vscan-clamav
vscan-clamav: config-file = /usr/local/etc/samba-vscan/vscan-clamav.conf

Re-iniciar samba
# /usr/local/etc/rc.d/samba restart

Para probar que funciona clamav, se pueden bajar unos archivos supuestamente infectados de
http://svn.clamav.net/svn/clamav-devel/trunk/contrib/test/

y tratar de compiarlos en uno de los shares protejidos

Nota:
samba-vscam solo funciona con samba 3.0, con las versiones superiores, como 3.3 ó 3.4 no funciona.