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.

Anuncios




Flash Para Linux 64 bits

21 04 2008

Saludos.

Despues de pasar mucho tiempo intentando reproducir flash en el navegador iceweasel en un Debian amd64; pasé por gnash, un reproductor libre, pero insuficiente; finalmente encontré en nspluginwrapper que no es propiamente un reproductor, mas bien es un puente entre el navegador y el reproductor, es decir, con este paquete puedo hacer que el plugin de 32 bits de flash funcione en el navegador de 64 bits; a continuación listo los pasos que seguí para hacerlo:

Como verán obtiene el plugin oficial de adobe; ahora puedo ver videos de youtube, y puedo ver las animaciones sin problemas





Preparativos FLISOL 2008

17 02 2008

En esta reunión tuvimos la compañia de algunos de los miembros del reciete grupo Ubuntu Manizales, conformado por alrededor de 21 personas pero no estuvieron todos ellos; a pesar de ser un grupo nuevo en Linux tienen mucho animo para trabajar.

Por la Universidad estuvo el Ingeniero electrónico Jesse Padilla – Malak, el Administrador de Sistemas Informáticos Juan Pablo Botero – JPill (Ahh se siente distinto), la bella estudiante De Administración de Sistemas Monica ?? y El estudiante de Ingeniería electrónica Carlos Isaza – Conti.

s73003202.jpg

todos

FLISOL 2008: http://www.installfest.info

FLISOL 2008 Manizales: http://www.installfest.info/FLISOL2008/Colombia/Manizales





Fomularios elegantes con Iceweasel

30 12 2007

Saludos.

Hace días encontré un blog donde explica la instalación de un tipo de formularios para Firefox y para Iceweasel; el link de la entrada es: http://damr.net/blog/2007/06/02/firefox-bonito-aplicado-en-debian-iceweasel/#comment-31243

$ wget http://users.tkk.fi/~otsaloma/art/firefox-form-widgets.tar.gz
$ tar xzvf firefox-form-widgets.tar.gz

Se crea un backup de las hojas de estilo por si las moscas:

# cp /usr/share/iceweasel/res/forms.css /usr/share/iceweasel/res/forms.css.ba

Ahora si instalar las nuevas css:

# cat firefox-form-widgets/res/forms-extra.css | tee –append /usr/share/iceweasel/res/forms.css > /dev/null
# sudo cp -r firefox-form-widgets/res/form-widgets /usr/share/iceweasel/res

por Ultimo borrar la carpeta desempaquetada

# rm -rf firefox-form-widgets

Solo resta que reinicies el navegador, y nota los cambios.