Aprenda a capturar a página inicial de seus usuários

Este artigo tem como objetivo ensinar você a capturar a página inicial de seus usuários através é claro de um servidor Linux, mas não apenas isto, tem também o objetivo de estimular sua criatividade para que você consiga pensar nas infinitas e por que não dizer lucrativas possibilidades desta técnica em vez de ficar se perguntando: "Mas em que isto pode me ser útil?".

[ Hits: 141.579 ]

Por: Bruno Ricci, CISSP, PMP, CCNP, CBCP em 28/08/2003 | Blog: https://techexpert.tips/


Configurando nosso gateway



Primariamente devemos optar pelo tipo de gateway que utilizaremos, nossas opções são:
  • Captive: este é o modo que utilizamos em nosso exemplo de provedor, é onde antes de utilizar os recursos da rede, o usuário deve se autenticar em uma página web com usuário e senha. Este modo tem como objetivo SEGURANÇA.
  • Passive: método que deve ser utilizado quando o gateway está funcionando por trás de NAT. Este modo também tem como objetivo SEGURANÇA.
  • Open: este é o método abordado neste artigo. Método este que nos permite capturar a página inicial de nossos usuários e nos fornece uma página em branco para personalizá-la como desejado, mantendo apenas um botão "Login" para que ao clicar o usuário tenha a liberdade necessária para utilizar os recursos da rede. Este método foi utilizado nos dois últimos exemplos (Hotel de luxo/ Empresa de telemarketing) de nossos três exemplos iniciais.
As configurações de nosso gateway devem ser feitas no arquivo /usr/local/nocat/nocat.conf, vamos personalizá-lo para que atenda nossas necessidades:

# cd /usr/local/nocat
# vi nocat.conf


Comentarei apenas as partes onde alterei algo no arquivo de configuração:

#####Gateway Aplication settings.
#
# GatewayName -- The name of this gateway, to be optionally displayed
# on the splash and status pages. Any short string of text will do.
#
GatewayName INFOTEC Consultoria & Planejamento

Aqui é onde você pode informar detalhes que serão utilizados na página inicial que você disponibilizará para seus usuários. Detalhes como o aparecimento de "Bem vindo a INFOTEC Consultoria & Planejamento", clique em aceitar e você poderá utilizar nossa rede para acessar a Internet!

##
#
# GatewayMode -- Determines the mode of operation of the gateway. Possible
#   values are:
#
#   Captive     - Allow authentication against an auth service. LEGACY.
#   Passive     - Like Captive, but YOU MUST USE THIS if your gateway
#                   is behind a NAT. Will work anyway if not. *RECOMMENDED*.
#   Open        - Simply require a user to view a splash page and accept
#                   a use agreement.
#
# If Captive or Passive Mode is set, you will need to have values set for
#   AuthServiceAddr, AuthServiceURL, and LogoutURL. You will want to leave a
#   short value for LoginTimeout (probably <600).
#
# If Open Mode is set, you will need to have values set for SplashForm,
#   HomePage, and possibly DocumentRoot (or provide an absolute path for
#   SplashForm).  Also, you will want to set a large value for LoginTimeout
#   (probably >3600).
#
GatewayMode     Open

Nesta opção você vai escolher o modo em que deseja que o gateway funcione, como foi explicitado utilizaremos o modo Open.

# For Open Mode portals, you probably want to comment out
# the preceding and set LoginTimeout to
# something large (like 86400, for one notification
# per day).
#
LoginTimeout   86400

Agora devemos informar ao gateway depois de liberado, quanto tempo de acesso o usuário terá livre antes que o gateway capture sua página inicial novamente, por padrão esta diretiva vem setada para 86400 que é um dia contado em segundos (isso mesmo segundos!!!).

###### Open Portal settings.
#
##
# HomePage -- The authservice's notion of a default
# redirect.
#
HomePage http://www.linuxdicas.com.br/

Nesta opção temos uma ferramenta comercialmente muito útil, porque com esta diretiva informamos ao gateway para que página desejamos jogar o usuário após a sua liberação, julgo esta diretiva comercialmente incrível pois com uma grande quantidade de usuários e uma mente comercialmente maliciosa podemos gerar grande lucro, tudo isso apenas com esta linha HUAHUAHUAHUAHUA.

# DocumentRoot -- Where all of the application templates (including
# SplashPage) are hiding. Can be different from Apache's DocumentRoot.
#
DocumentRoot /usr/local/nocat/htdocs

Aqui informamos ao gateway onde estarão os templates (!?!).

# SplashForm -- Form displayed to users on capture.
#
SplashForm splash.html

A página (template) que será visualizada pelos usuários quando sua página inicial for capturada, fica localizada em /usr/local/nocat/htdocs, faça um backup do template e modifique a original para personalizar e mandar a mensagem que quiser para seus usuários, mensagens estas comerciais, pessoais, informativas, advertências etc.

### Network Topology
#
# ExternalDevice - Required if and only if NoCatAuth can't figure it out
# from looking at your routing tables and picking the interface
# that carries the default route. Must be set to the interface
# connected to the Internet. Usually 'eth0' or 'eth1'
# under Linux, or maybe even 'ppp0' if you're running
# PPP or PPPoE.
#
# ExternalDevice  eth0

##
# InternalDevice - Required if and only if you have ethernet devices
# on your gateway besides your wireless device and your 'Net connection.
# Must be set to the interface connected to your local network, normally
# your wireless card. In Linux, some wireless devices are named 'wvlan0'
# or 'wlan0' rather than 'ethX'.
#
# InternalDevice  eth1

Especifique qual placa de rede está ligada diretamente a Internet em ExternalDevice e em qual placa de rede está localizada a rede interna InternalDevice. A princípio mantenha estas diretivas comentadas e teste o software, caso não funcione com as diretivas comentadas tente especificar qual placa está ligada externamente e qual está ligada internamente.

OBS: no meu micro só funcionou ao contrário, tive de colocar a placa de rede que estava ligada na Internet em InternalDevice e a rede interna em ExternalDevice?????? Mistérios do software : )

##
# LocalNetwork - Required if and only if NoCatAuth can't figure out
# the network address of your local (probably wireless) network,
# given your InternalDevice(s). Must be set to the network
# address and net mask of your internal network. You
# can use the number of bits in the netmask (e.g. /16, /24, etc.)
# or the full x.x.x.x specification.
#
LocalNetwork 192.168.0.1/24

Em nossa última diretiva especifique a rede local, tente primeiro com esta diretiva comentada, talvez o software tenha conseguido detectar sozinho sua rede local (Comigo não funcionou da 1ª vez mas funcionou de 2ª), caso o software não detecte sua rede local será necessário especificar manualmente.

OBS: além destas configurações comente tudo que não pertencer ao nosso contexto.
Exemplo:

Estamos utilizando o gateway de autenticação no modo OPEN, com isso tudo que for relativo aos outros modos CAPTIVE e PASSIVE deve ser comentado (Veja como ficou meu arquivo de configuração nocat.conf no final deste artigo).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Padrões utilizados neste artigo
   3. Implementação de um servidor DHCP
   4. Implementação de um servidor DNS
   5. Obter e instalar o software GnuPG
   6. Obter e instalar o NoCatAuth
   7. Configurando nosso gateway
   8. Personalizando as páginas apresentadas aos usuários
   9. Criando um script de inicialização
Outros artigos deste autor

Asterisk - Configuração de conferência com PIN

Asterisk - Configuração de Ramais SIP

Asterisk - Configuração de Voice Mail

Asterisk - Recebimento de Fax com encaminhamento por e-mail

Squid 3 - Instalação no Debian/Ubuntu

Leitura recomendada

Vazamento de informações vitais via "HP Operations Manager Perfd"

Tomcat + SSL: HOW-TO

Instalando o Cisco VPN Client no Linux

Verifique a sua fortaleza com lsat - software de auditoria em servidores e desktops

Autenticação via hardware: o módulo pam_usb

  
Comentários
[1] Comentário enviado por fabio em 28/08/2003 - 23:45h

Maneiríssimo o artigo Bruno! Eu sempre me perguntava como o IG fazia para forçar os usuários a terem como primeira página o site deles, aqui encontrei a resposta.

[2] Comentário enviado por mrluk em 29/08/2003 - 15:26h

Meu Deus!!! Q maravilha!!! Mais um mistérios esclarecido!!! Fabião, usaremos isso naqueles prédios q te falei!!! SHOW!!!

[3] Comentário enviado por tucs em 29/08/2003 - 20:22h

Que Predios ... conte ai tb quero saber ....

[4] Comentário enviado por T1AGO em 02/09/2003 - 20:12h

Boa matéria, mais não consegui configurar no modo Captive, se alguém sabe uma url ou artigo favor envia-lá :)

[5] Comentário enviado por brunoricci em 03/09/2003 - 10:22h

Quanto ao modo captive, este vai estar no meu livro, aguardem!!!!
=)

[6] Comentário enviado por jllucca em 03/09/2003 - 14:33h

Quando li "capturar o site" tava pensando que ele ia guardar em algum arquivo o primeiro site que os usuarios fossem entrar... até que depois de uma parte da leitura entendi que era um redirecionamento forçado pra um site hehehe... Mas, legal o artigo não conhecia isso ^^

[7] Comentário enviado por brunoricci em 03/09/2003 - 14:57h

Thanks!!

[8] Comentário enviado por jorgef em 04/09/2003 - 16:58h

muito bom!!!!!

[9] Comentário enviado por gustavo_marcon em 08/11/2003 - 11:30h

Bá... Isso é realmente fantástico p/ usar em redes sem fio e evitar o acesso de chalkers.....

Mas e caso eu queira que o cara digite uma senha e login p/ acessar, em que local ficará armazenado os dados p/ acesso?

a página pode ser feita em php???

vc poderia me dar mais detalhes sobre isso?

[10] Comentário enviado por brunoricci em 10/11/2003 - 09:23h

quanto ao wireless!!!
o projeto NoCat foi desenvolvido para o wireless em específico (mas se adapta fácilmente )

para utilizar a autenticação vc vai ter q utilizar o modo captivo!!

quanto a php não sei!!!! (vou dar uma olhada)

[]´s
Bruno Ricci
--
SlackwareNaVeia.org

[11] Comentário enviado por gustavo_marcon em 19/11/2003 - 19:47h

Como faço p/ usar em modo captive? Onde ficarão armazenados os arquivos de login e senha e o action do form da página tem que ser direcionado p/ onde p/ poder conferir se os resultados são válidos???


Muito bom seu artigo, muito obrigado pela atenção!!

[12] Comentário enviado por brunoricci em 21/11/2003 - 10:53h

eai blz?!!

kra, dentro do diretório docs q vem junto com o nocat tem uma ótima documentação com tudo que vc precisa saber!!!!

[]´s

Bruno Ricci
--
SlackwarenaVeia.org

[13] Comentário enviado por alfigueiredo em 07/01/2004 - 10:44h

Tem um problema, não consigo imprimir do XP para um servidor de impressão linux... o que pode ser?

[14] Comentário enviado por alfigueiredo em 07/01/2004 - 10:44h

Tem um problema, não consigo imprimir do XP para um servidor de impressão linux... o que pode ser?

[15] Comentário enviado por ErhnamDjinm em 23/03/2004 - 09:00h

Tem como fazer autenticação usando um programa externo??? Atualmente autentico em um servidor novell, usando um script, pelo squid.

[16] Comentário enviado por y2h4ck em 31/03/2004 - 09:41h

Muito interessante esta tecnica e vou implementa-la aqui no Laboratorio de info ... para um melhor controle doque os usuarios veem
estamos com proxy transparente squid e o sarg fazendo relatorios e com esta tecnicas poderiamos gerar logs de quais usuarios estavam logados exatamente na maquina e como la e por hora o acessa
entao ... a autenticacao expirando 1 hora nossa as possibilidades sao infinitas :D

obrigado pelo otimo artigo que me mostrou essa tecnica que eu desconhecia valew

[17] Comentário enviado por gustavo_marcon em 14/04/2004 - 17:01h

Muito massa mesmo essa técnica.
A Brasil Telecom está começando a mudar todos os seus servidores que fazem parte do serviço de ADSL deles pra essa técnica como uma segunda autenticação, primeiro o pppoe e depois a captura da página p/ posteriormente colocar outra senha. No caso do adsl eles dizem que é pela segurança que vai aumentar, o que não é verdade, estão fazendo isso mesmo p/ forçar as empresas a trocarem de plano residencial pro empresarial, pois empresas que utilizam por exemplo roteadores, não conseguirão autenticar na captura da página, pelo menos foi isso que eu li num fórum.

Mas de qualquer forma é muito legal essa técnica, principalmente pra provedores wireless, pois todos sabem que tem muito mais chances de serem acessadas indevidamente do que em qualquer outro tipo de rede........ :-)

[18] Comentário enviado por dudu_away em 18/11/2004 - 18:24h

Soh um comentário a mais... O IG não utiliza o NoCath pra capturar páginas iniciais e sim um caríssimo Roteador da CISCO.... Não me lembro o modelo....

[19] Comentário enviado por brunoricci em 30/12/2004 - 13:28h

em momento algun afirmo q o ig utiliza o nocath, e sim afirmo q a ig utiliza a tecnica de captura =p

[]´s

bruno ricci

[20] Comentário enviado por palombino em 11/08/2006 - 18:07h

galera, ao executar o make gateway no mandriva 2006 recebi uma msg de erro: ¨No supported firewalls detected!"
pesquisei na net e vi que era só mudar no arquivo detect-fw.sh o kernel 2.4 para 2.6 e tudo funcionou


fica a dica até mais

[21] Comentário enviado por joabes em 01/11/2007 - 22:20h

Como liberar no nocat um determinado ip ou seja, isentar ele de autenticação?

Atenciosamente
Joabes

[22] Comentário enviado por reginaldoluiz em 29/01/2008 - 17:17h

Olá Bruno, gostaria de saber se posso usar o NoCatAuth juntamente com um proxy transparente e DHCP?
Tenho uma rede wirelless em um hotel que precisa que os usuarios sejam autenticados, precisa de um proxy transparente também e de um analisador de relatórios em que eu possa ver os relatórios classificados por nomes de usuarios e nao por IP?
Consigo isso com NoCatAuth?
Obrigado!

[23] Comentário enviado por jatoba em 06/02/2008 - 10:29h

Bruno,
Muito legal o artigo.

Posso criar usuarios com tempo limitado, tipo por 30 minutos, 60 ou 24 horas ?
´
É possivel em vez de autenticar usuario e senha, apenas uma chave tipo xxx.xxx.xxx valida por determinado tempo ?

Obrigado

[24] Comentário enviado por matux em 18/05/2008 - 11:09h

Bruno,
Excelente explicação do processo aí!
Parabéns cara!
PERFECT!
aBRAÇO!

[25] Comentário enviado por shaper em 03/02/2009 - 14:21h

É possível fazer controle de acesso por usuário?

Fulano tem acesso a tudo.
Sicrano só tem acesso à página xxx.com.br

?

Abrasssssssssss

[26] Comentário enviado por joao_barboza em 12/09/2009 - 16:26h

Legal kra, mas ser´
a que da pra fazer isso com uma interface fisica somente?
usando interfaces virtuais
ex: minha maquina tem somente uma placa de rede eth0
posso usar a virtual eth0:0 pra fazer isso?

[27] Comentário enviado por silviomaraujo em 11/03/2010 - 10:19h

O problema desse metodo é que se o usuario fecha o browser, e abrir novamento não aparecerá a Pagina Inicial novamente, pois esse metodo funciona pelo tempo, e não pela sessão de browser

[28] Comentário enviado por alexba em 07/04/2010 - 18:23h

Boa tarde;
Eu fiz a instalação conforme é explicada no artigo.
Quando eu starto o nocat esta dando essas mensagens:

[2010-04-07 18:14:39] Resetting firewall.
[2010-04-07 18:14:39] Detected InternalDevice 'eth1'
[2010-04-07 18:14:39] Detected ExternalDevice 'ppp0'
[2010-04-07 18:14:39] Detected LocalNetwork '192.168.0.0/24'
iptables v1.4.3.2:
The "nat" table is not intended for filtering, the use of DROP is therefore inhibited.


Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.3.2:
The "nat" table is not intended for filtering, the use of DROP is therefore inhibited.


Try `iptables -h' or 'iptables --help' for more information.
----------------------------------------------------------------------------
E na hora que entro no site :
Entra na página do nocat conforme é mostrada acima com a url assim:
http://192.168.0.1/?redirect=http%3a%2f%2fwww%2evivaolinux%2ecom%2ebr%2f

Só que na hora que clico no botão login, ele retorna página não encontrada com a url assim : http://192.168.0.1/$action.

Alguém pode me ajudar com isso? lembrando que é no modo GatewayMode Open.

[29] Comentário enviado por alexba em 07/04/2010 - 18:25h

Uso o slackware 13 2.6.29.6 x86_64

[30] Comentário enviado por red_slack em 17/08/2010 - 14:34h

Bem amigos do VOL tenho o Debian 5.0.4 32Bits com o DHCP + Bind + Apache rodado normalmente. Como faço para saber se GnuPG esta funcionando normalmente??? Fiz exatamente como ta no artigo.

O NoCatAuth esta dando esse erro:
=============
Looking for gpgv...
Checking for firewall compatibility: No supported firewalls detected! Check your path.
Supported firewalls include: iptables, ipchains, ipf, pf.
Can't seem to find supported firewall software. Check your path?
make: ** [check_fw] Erro 255
=============

Já tentei a versão 0.81 (do artigo) e a 0.82 e ambas dar o mesmo erro... alguém poderia me ajudar???

[31] Comentário enviado por red_slack em 17/08/2010 - 21:49h

Amigos consegui, tem que editar o arquivo bin/detect-fw.sh é só localizar a linha:

test X"`uname -sr | cut -d. -f-2`" = X"Linux 2.4"; then

edite e deixe com o seguinte conteudo:

test X"`uname -sr | cut -d. -f-2`" = X"Linux 2.6"; then

Kernel 2.4 usa 2.4 e 2.6 usa o 2.6 é obviu heheh

Agora como que inicio ele?? Me desculpem a ignorancia e como já disse antes a distro em uso éo Debian 5.04.

Posso usar junto com o Squid + Transparent????

Tava vendo tem uma tal chave, um tal certificado a ser gerando que aqui não fala nada... como é essa parada mesmo alguem pode me ajudar com esse NoCatAuth???

[32] Comentário enviado por moura_07 em 21/10/2014 - 11:45h

Bom Dia!!!

Reavivando o post.

Realizei a instalação do NoCat sem problemas, ele está em funcionamento para os usuários, mas não consigo acessar a página de ADM do programa, quando acesso "IP_NOCAT/cgi_bin/admlogin" apresenta a mensagem de formulário não encontrado.

O que devo fazer para conseguir acesso as ferramentas de gerenciamento?


Contribuir com comentário