Cambiar formato de fecha en el Log de Squid

22 08 2008

Al revisar el archivo /var/log/squid/access.log veia algo así:

1219016125.813 258 192.168.16.110 TCP_MISS/404 669 GET http://liveupdate.symantecliveupdate.com/sesm$20antivirus$20client$20win64_11.0.0_hungarian_livetri.zip – FIRST_UP_PARENT/127.0.0.1 text/html

La fecha del log esta en formato UTC y necesito verlo GMT: dd/month/yyyy:hh:mm:ss

La solución la encontré aqui

1. Editar el archivo: /etc/squid/squid.conf

2. Agregar la línea al final: emulate_httpd_log on

3. Reiniciar el demonio: /etc/init.d/squid restart

4. Revisar log: tail -f /var/log/squid/access.log

El resultado es:

192.168.16.110 – – [22/Aug/2008:11:04:35 -0500] “GET http://quimbaya.banrep.gov.co/images/b_volver.gif HTTP/1.1” 304 294 TCP_IMS_HIT:NONE

Anuncios




Portal Captvo Chillispot

11 08 2008

Chillispot es un portal captivo que funciona con autenticación Web, es decir, garantiza que solo navegen por internet usuarios autorizados/registrados

El sistema de autenticación chillispot consta de dos partes principales, una es el demonio Chillispot que se encarga de gestionar los clientes de la subred y pedirles autenticación y la otra consta del servidor radius llamado freeradius que es quien realiza la autenticación en este caso con el servidor LDAP.

Software y equipo Necesario:

  • Chillispot

  • Radius server, en este caso es utilizado el Freeradius

  • Servidor Web, Apache2.

  • Soporte ssl para el servidor web, apache-ssl.

  • Access point inalámbrico o Router inalámbrico

La topología de la red propuesta para el sistema es el siguiente:

Topologia de red para chillispot

Topología de red para chillispot

Chillispot crea una interfaz de red virtual que se vale de la interfaz de red física por el cual esta conectada la red inhalambrica, por esta interfaz virtual chillispot habilita su propio servidor DHCP.

Instalación Chillispot

Antes de instalar chillispot se debe verificar que el kernel soporta interfaces virutales:

# apt-get install modconf Chillispot
# modconf
Kernel/drivers/net —>
tun [Universal TUN/TAP device driver support] —>
# modprob tun

Ahora hay que decirle al kernel que inicie el modulo al arrancar

# vi /etc/modules
Añadir al final:
tun

Habilitar el forwarding para hacer NAT.

# echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
# vi /etc/sysctl
La linea:
#net.ipv4.conf.default.rp_filter=1
Se le quita el # para que se habilite

Ahora si instalamos chillispot:

# apt-get install chillispot

Acá pide configuración del servidor chillispot
servidor radius: 127.0.0.1
contraseña compartida del radius: pasword
Interfaz ethernet para el servicio DHCP: ponemos la interfaz de red conectada al access point
URL del servidor de autenticación: https://192.168.182.1/cgi-bin/hotspotlogin.cgi
Página de inicio de UAM: http://192.168.182.1:3990/prelogin
Contraseña compartida entre chillispot y el servidor web: password

Instalación del freeRadius y su soporte para ldap:

# apt-get install freeradius freeradius-ldap

Copiar la página de inicio de chillispot en la carpeta ‘/usr/lib/cgi-bin’

# cp /usr/share/doc/chillispot/hotspotlogin.cgi.gz /usr/lib/cgi-bin
# gunzip /usr/lib/cgi-bin/hotspotlogin.cgi

Configuracioń del apache

Es necesario que el apache soporte ssl, de no ser así el chillispot no funcionará.:

# apt-get install apache2 apache-ssl

Ahora generar el certificado de apache-ssl:

# make make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache-ssl/apache.pem

Se llena con los datos que pide y despues se habilita el modúlo:

# a2enmod ssl

Decirle al apache que escuche también por el puerto del apache-ssl:

# echo “Listen 443” >> /etc/apache2/ports.conf

Crear y habilitar el sitio SSL:

# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
# vi /etc/apache2/sites-available/ssl

Debe quedar algo así:

NameVirtualHost *:443
<virtualhost *:443>
ServerAdmin webmaster@localhost

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem

DocumentRoot /var/www/
<directory />
Options FollowSymLinks
AllowOverride None
</directory>

<directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2’s default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<directory “/usr/lib/cgi-bin”>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined
ServerSignature On

Alias /doc/ “/usr/share/doc/”
<directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</directory>

</virtualhost>

Habilitamos el nuevo sitio SSL:

# a2ensite /etc/apache2/sites-available/ssl

Archivos de configuración

Es necesario editar los archivos: ‘/etc/chilli.conf’, ‘/etc/freeradius/radiusd.conf’, ‘/etc/freeradius/clients.conf’

En /etc/chilli.conf: Los parámetros necesarios son:

net 192.168.182.0/24
dynip 192.168.182.0/24
dns1 ipDNS1 # Servidor DNS1 Real
dns2 ipDNS2 # Servidor DNS2 Real
radiusserver1 127.0.0.1
radiusserver2 127.0.0.1
radiusauthport 1812
radiusacctport 1813
radiussecret password # Contraseña manejada entre el chillispot y freeradius
dhcpif eth1 # interfaz de red conectada a la red inhalambrica
uamhomepage http://192.168.182.1:3990/prelogin
uamsecret password
uamlisten 192.168.182.1
uamport 3990
# uamallowed son las páginas permitidas sin autenticación
# Por lo menos debe estar las dns reales y en las que se desee navegar sin autenticación
uamallowed ipDNS1
uamallowed ipDNS2

En /etc/freeradius/clients.conf:

client 127.0.0.1 {
secret = password
shortname = localhost
nastype = other # localhost isn’t usually a NAS…
}
# La red de chillispot
client 192.168.182.0/24 {
secret = password
shortname = redChilli
}

En /etc/freeradius/radiusd.conf: Editamos este archivo para que soporte la autenticación con LDAP.
Buscamos la parte del modúlo LDAP:

ldap {
server = “IP Servidor LDAP”
port = 389
password = password
basedn = “cn=users,dc=empresa,dc=com,dc=co”
authtype = ldap
password_attribute = “userPassword”
filter = “(uid=%{Stripped-User-Name:-%{User-Name}})”
start_tls = no
ldap_connections_number = 5
timeout = 4
timelimit = 3
net_timeout = 1
}
En el modúlo authenticate:
authenticate {

Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
unix
Auth-Type LDAP {
ldap
}
eap

}

En hotspotlogin.cgi habilitamos las lineas ‘$uamsecret’ y ‘userpassword’

$uamsecret = “password”;
$userpassword=password;

Ahora solo se procede a editar la parte html del hotspot.cgi para personalizar la presentación.

Para hacer nat, al instalar chillispot se crea una carpeta en /usr/share/doc/chillispot donde esta el archivo firewall.iptables, se revisa y se verifica que la variable $EXTIF corresponda a la interfaz de red corresponda a la interfaz de salida y la varibale $INTIF corresponda a la interfaz de red conectada al access point. Ya hecho esto se ejecuta y esto pone las reglas de iptables para NAT.

Ya teniendo listo todo, por ultimo un pequeño paso, al subir chillispot con ejecutando /etc/init.d/chillispot start nos dice que editemos un archivo para que se habilite, lo hacemos y todo listo.