Portal de autenticação wireless (HotSpot)

Construção de um portal de autenticação Wireless do tipo HotSpot, utilizando o projeto Nocat.

[ Hits: 392.199 ]

Por: Marcos Antonio Rosa em 30/11/2007


Instalação do NOCAT



# mkdir /home/root/src
(crie uma pasta para baixar as fontes, pode ser em qualquer lugar)

# cd /home/root/src
# wget
http://nocat.net/downloads/NoCatAuth/NoCatAuth-nightly.tgz
# tar zxvf NoCatAuth-nightly.tgz
# cd NoCatAuth-nightly


IMPORTANTE: O Nocat não vem configurado para detectar firewall para kernel 2.6, portanto é preciso alterar manualmente este parâmetro, conforme segue.

# cd bin/
# vi detect-fw.sh


Substitua:

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

Por:

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

Salve.

# cd .. (retorne para diretório principal dos fontes do Nocat)

Crie o diretório principal para o Nocat e execute a instalação conforme segue.

# mkdir /usr/local/nocat
(cria diretório padrão)

# make PREFIX=/usr/local/nocat/gw gateway
(instala o gateway)

# make PREFIX=/usr/local/nocat/authserv authserv
(instala o módulo autenticador)

O Nocat já vem por padrão com uma chave para assinatura digital, vamos apagar e criar uma nova:

# rm -rf /usr/local/nocat/gw/pgp/trustedkeys.pgp
# rm -rf /usr/local/nocat/authserv/pgp/trustedkeys.pgp


E agora criar uma chave nova:

# make PREFIX=/usr/local/nocat/authserv pgpkey

Algumas perguntas serão feitas, responda conforme segue.
  • Escolha DSA (opção 1);
  • Escolha chave com 1024;
  • Expira deixe com 0 , confirme nunca expira;
  • Responda as perguntas de nome, e-mail, conforme necessários;
  • Confirme suas opções.

Agora será solicitada uma senha, importante, não coloque nada, tecle apenas enter e novamente será solicitado para confirmar, tecle enter novamente.

Sua chave será gerada em alguns instantes, procure usar o micro normalmente, como por exemplo acessar alguma página e etc, para que sejam coletados dados aleatórios para a geração da chave.

Depois de concluído a geração da chave copie-a para:

# cp /usr/local/nocat/authserv/trustedkeys.pgp /usr/local/nocat/gw/pgp/
# cp /usr/local/nocat/authserv/trustedkeys.pgp /usr/local/nocat/authserv/pgp/


Para que o servidor Apache possa utilizar, altere o dono destes arquivos:

# chown -R apache:apache /usr/local/nocat/authserv/pgp
# chown -R apache:apache /usr/local/nocat/gw/pgp


Mude as permissões:

# chmod 755 /usr/local/nocat/authserv/pgp
# chmod 755 /usr/local/nocat/gw/pgp


Esta instalação do Nocat está utilizando o MySQL para armazenar os usuários e senhas, posteriormente pode-se utilizar outras bases para a autenticação, como servidor radius, ldap, arquivo texto e etc, para tanto iremos agora iniciar o MySQL, em services (system-config-services) marque para que o mysql seja iniciado no boot.

Inicie o mysql:

# /etc/init.d/mysqld start

Crie uma senha para o mysql:

# mysqladmin password senha

Criar o banco Nocat:

# mysqladmin create nocat -p

Ainda de dentro da pasta principal dos fontes do mysql, copie a base padrão do Nocat, conforme segue:

# mysql nocat < etc/nocat.schema -p

Entre com a senha definida anteriormente.

Entre no modo root no mysql:

# mysql -u root -p
(entre com a senha)

Dê privilégios para o usuário nocat, com senha nocatauth:

mysql> grant all on nocat.* to nocat@localhost identified by 'nocatauth';
mysql> flush privileges;
mysql> quit;

Acesse o mysql com o usuário nocat e senha nocatauth, configurados anteriormente para conferir se as tabelas foram criadas.

# mysql -u nocat -pnocatauth
mysql> use nocat
mysql> show tables;

Você deve ver as tabelas do nocat:

mysql> quit

Pronto, o nocat está instalado, vamos às configurações.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação de pré-requisitos
   3. Configuração do gateway
   4. Instalação do NOCAT
   5. Configurações do NOCAT
   6. Configurações do APACHE (web-server)
   7. Instalação do access point (AP)
   8. Configurações finais
   9. Login
   10. Conclusão
Outros artigos deste autor

Servidor de autenticação 802.1x com Freeradius

Instalação do Freeradius com suporte a EAP-TLS e PEAP-TTLS MSCHAPv2 no Ubuntu

Instalação de MRTG em ambiente Windows

Leitura recomendada

Análise Forense - Aspectos de perícia criminal

Instalando o Nagios via APT ou YUM

Um dia depois da inundação

O Kerberos não é um cachorro de 3 cabeças!

Instalando o Cisco VPN Client no Linux

  
Comentários
[1] Comentário enviado por matux em 01/12/2007 - 01:12h

?comentario=Simplismente PARABÉNS! Excelente Artigo! Amanhã mesmo estarei testando ele. Mto Show mesmo! Precisamos de artigos assim no VOL.

[2] Comentário enviado por RYUDO em 02/12/2007 - 01:41h

Amigo eu estou implementando um hotspot para acesso livre , eu tenho um servidor linux com 4 interfaces, WAN (eth0) , eth1 192.168.0.0, eth2 192.168.6.0 (DMZ) e 172.16.0.1(eth3)

oAp será ligado nessa rede 172.16.01(eth3) é possivel que eu instale o NOCAT para que ele autentique os usuarios conectados somente no AP ? sem que interfira com os outros hosts ligados nessa rede ?
tipo o nocat autenticando só as pessoas que vem do ip 172.16.0.254 (AP)
se não eu faço uma vlan utilizando alias na eth3 somente para o ap o que acha ?
No mais parabéns ! seu artigo está ótimo !

[3] Comentário enviado por tecnorede em 02/12/2007 - 13:43h

RYUDO , seguinte quanto a possibilidade do NoCat responder apenas em um IP isso é possível sim , porem você precisara tomar cuidado com as regras no IPTABLES, no artigo eu removo todas as regras do iptables ja existentes neste caso você não deve removelas e precisa ter certeza que nenhum regra pré estabelecida esteja se referindo a esta interface, porque para esta interface o nocat criará as regras ... o NoCat basicamente faz é isso criar regras para o iptables, nos arquivos de configuração do NoCat sempre coloque os endereços IP nunca * ... , basicamente é isso para que a autenticação aconteça.
A partir dai é que você precisa se preocupar, para usar o NoCat sem mecher em sua implementação após ocorrer a autenticação o cliente possivelmente terá acesso a suas outras interfaces, "claro que você pode bloquear isso criando regras no próprio iptables" , mas para evitar que por algum descuido fique algum furo e mesmo evitar as tentativas, faça como vocÊ mesmo comentou crie uma vlan nesta interface com rota apenas para as redes que você quer permitir ... abraço , se tiver problemas na implementação me da um toque que ajudo no que for possível .

[4] Comentário enviado por RYUDO em 02/12/2007 - 18:58h

Bom então tec eu vo fazer usando vlan, é mais seguro vo fazer assim:
ifconfig eth3:hotspot 10.0.0.1 netmask 255.255.255.240 up
Criar regras no iptables d emodo que eth3:hotspot não possa comunicar com eth1 e sim apenas com o servidor web que está na eth2 (dmz), acho que assim fica perfeito, nesse caso eu coloco o ap com ip 10.0.0.254 fazendo nat com os clientes por tras dele ou eu desabilito o modo roteador do ap e deixo bridge ? tenho algumas dúvidas que se possivel gostaria de te perguntar no msn :) tem como vc me passar ?

[5] Comentário enviado por oliveirajh em 06/12/2007 - 13:36h

Olá Tecnorede.
Estou querendo implementar aqui esse seu excelente tutorial. Acontece que tenho várias VLANs, mais precisamente uma pra cada cliente, sendo que cada IP é fornecido via DHCP, conforme o MAC da placa do cliente. Neste caso é possível instalar o NOCAT na forma que está descrita em seu tutorial? Mais uma coisa, como faço para desabilitar o cadastro via página inicial do NOCAT?

[6] Comentário enviado por RYUDO em 14/12/2007 - 15:16h

Tec tentei aqui usando vlans e não funcionou ele da vários warnings ao levantar o serviço e o pior é que ele tambem zoa todas as regras de firewall estabelecidas.
[2007-12-14 13:23:58] Resetting firewall.
Warning: weird character in interface `eth1:ap' (No aliases, :, ! or *).
Warning: weird character in interface `eth1:ap' (No aliases, :, ! or *).

Descobri que esses erros são do iptables, pq o iptables não cria regras pra interfaces virtuais, no meu caso eth1:ap não pode .... no caso não vo poder usar essa solução :(

[7] Comentário enviado por carita666 em 09/01/2008 - 15:31h

sorry

[8] Comentário enviado por elliott em 16/01/2008 - 00:27h

Alguem poderia me ajudar? Toda vez que eu tento logar da Internal Server error =/

[9] Comentário enviado por tecnorede em 17/01/2008 - 11:04h

Olá Galera

Estive fora uns tempos (férias hehehe) , sigo agora com as contribuições e ajudando no que estiver a meu alcance .

Sobre os ultimos posts deste artigo ai , segue :

oliveirajh => Quando você utiliza Vlans tem que tomar alguns cuidados, a implementação do nocat com vlans precisa de algumas alterações no artigo, vc tem que ter em mente que cada vlan terá que representar uma interface de rede distinta no gateway com o nocat , para tanto nos arquivos de configuração nocat.conf vc precisara especificar todas estas interfaces como interfaces que o nocat ira trabalha (deixe um espaço entre cada uma), vc tbm poderia deixar comentada a linha da interface e a linha da rede, assim ele ira detectar automaticamente ,,, importante também vc deixar o start do Nocat depois obviamente de levantar suas interfaces.

RYUDO => Cara o Nocat basicamente cria regras para o iptables, este que sim barra as conexões , o que deve estar acontecendo é que no arquivo nocat.conf você não apontou as subinterfaces então ele deve estar criando regras apenas para a interface especificada lá

carita666 => Sorry, Just not enough, you must specify your problem. heheheheh.





[10] Comentário enviado por jatoba em 07/02/2008 - 13:42h

Boa tarde !
Parabens !!!
Seguinte, é possivel em vez de usuario e senha, apenas uma chave, do tipo xxx.xxx.xxx e que está chave expira em 30 minutos, 1 hora ou 24 horas,,, consigo fazer isto no nocat ???
Obrigado pela atenção..

[11] Comentário enviado por fenix_se em 08/02/2008 - 12:48h

Oi galera ! Seguinte: instalei conforme o artigo e está rodando mais assim que o usuário autentica é redirecionado para página inicialmente requerida mas depois não navega mais. apenas navega naquela página a qual foi redirecionado. segue os logs:

ssl_error_log

[Fri Feb 08 11:29:11 2008] [error] [client 113.13.13.13] [2008-02-08 11:29:11] User UNKNOWN from 113.13.13.13 requests form
[Fri Feb 08 11:29:44 2008] [error] [client 113.13.13.13] [2008-02-08 11:29:44] User fenix.se@gmail.com from 113.13.13.13 requests form, referer: https://113.13.13.254/cgi-bin/login?redirect=http%3a%2f%2fstart%2emozilla%2eorg%2ffirefox%3fclient%3...
[Fri Feb 08 11:29:45 2008] [error] [client 113.13.13.13] [2008-02-08 11:29:45] gpg --sign --armor --homedir=/usr/local/nocat/authserv/pgp --keyring trustedkeys.gpg --no-tty -o- returned error message:, referer: https://113.13.13.254/cgi-bin/login?redirect=http%3a%2f%2fstart%2emozilla%2eorg%2ffirefox%3fclient%3...
[Fri Feb 08 11:29:45 2008] [error] [client 113.13.13.13] gpg: WARNING: unsafe permissions on homedir `/usr/local/nocat/authserv/pgp', referer: https://113.13.13.254/cgi-bin/login?redirect=http%3a%2f%2fstart%2emozilla%2eorg%2ffirefox%3fclient%3...

ssl_access_log

113.13.13.13 - - [08/Feb/2008:11:29:11 -0300] "GET /cgi-bin/login?redirect=http%3a%2f%2fstart%2emozilla%2eorg%2ffirefox%3fclient%3dfirefox%2da%26rls%3dorg%2emozilla%3apt%2dBR%3aofficial&timeout=600&gateway=113%2e13%2e13%2e254%3a5280&mac=00%3a12%3aBF%3a3E%3aEE%3aE0&token=%241%2428233519%24z9y0QwFJn6cVEhaHGc%2e8e1 HTTP/1.1" 200 1712
113.13.13.13 - - [08/Feb/2008:11:29:23 -0300] "GET /images/login.gif HTTP/1.1" 200 296
113.13.13.13 - - [08/Feb/2008:11:29:23 -0300] "GET /images/skip.gif HTTP/1.1" 200 383
113.13.13.13 - - [08/Feb/2008:11:29:23 -0300] "GET /images/auth_logo.gif HTTP/1.1" 200 785
113.13.13.13 - - [08/Feb/2008:11:29:23 -0300] "GET /favicon.ico HTTP/1.1" 200 1078
113.13.13.13 - - [08/Feb/2008:11:29:44 -0300] "POST /cgi-bin/login HTTP/1.1" 200 1810

ssl_request_log

[08/Feb/2008:11:29:11 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "GET /cgi-bin/login?redirect=http%3a%2f%2fstart%2emozilla%2eorg%2ffirefox%3fclient%3dfirefox%2da%26rls%3dorg%2emozilla%3apt%2dBR%3aofficial&timeout=600&gateway=113%2e13%2e13%2e254%3a5280&mac=00%3a12%3aBF%3a3E%3aEE%3aE0&token=%241%2428233519%24z9y0QwFJn6cVEhaHGc%2e8e1 HTTP/1.1" 1712
[08/Feb/2008:11:29:23 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "GET /images/login.gif HTTP/1.1" 296
[08/Feb/2008:11:29:23 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "GET /images/skip.gif HTTP/1.1" 383
[08/Feb/2008:11:29:23 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "GET /images/auth_logo.gif HTTP/1.1" 785
[08/Feb/2008:11:29:23 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "GET /favicon.ico HTTP/1.1" 1078
[08/Feb/2008:11:29:44 -0300] 113.13.13.13 TLSv1 DHE-RSA-AES256-SHA "POST /cgi-bin/login HTTP/1.1" 1810

nocat.log

[2008-02-08 11:29:02] Spawning child process 2201.
[2008-02-08 11:29:02] Spawning child process 2202.
[2008-02-08 11:29:02] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:02] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:04] Spawning child process 2203.
[2008-02-08 11:29:04] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:04] Capturing 113.13.13.13 for http://start.mozilla.org/firefox?client=firefox-a&rls=org.mozilla:pt-BR:official
[2008-02-08 11:29:04] Notifying parent of Capture on peer 00:12:BF:3E:EE:E0
[2008-02-08 11:29:04] Got notification Capture of peer 00:12:BF:3E:EE:E0
[2008-02-08 11:29:04] Child process returned 1
[2008-02-08 11:29:07] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:07] Spawning child process 2204.
[2008-02-08 11:29:08] Spawning child process 2205.
[2008-02-08 11:29:08] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:25] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:25] Spawning child process 2207.
[2008-02-08 11:29:26] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:26] Spawning child process 2208.
[2008-02-08 11:29:27] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:27] Spawning child process 2209.
[2008-02-08 11:29:28] Spawning child process 2210.
[2008-02-08 11:29:28] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:31] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:31] Spawning child process 2211.
[2008-02-08 11:29:31] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:31] Spawning child process 2212.
[2008-02-08 11:29:31] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:31] Spawning child process 2213.
[2008-02-08 11:29:31] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:31] Spawning child process 2214.
[2008-02-08 11:29:44] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:44] Spawning child process 2215.
[2008-02-08 11:29:44] Spawning child process 2216.
[2008-02-08 11:29:44] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:46] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:46] Spawning child process 2220.
[2008-02-08 11:29:47] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:47] Spawning child process 2221.
[2008-02-08 11:29:50] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:50] Spawning child process 2223.
[2008-02-08 11:29:50] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:50] No header line from 113.13.13.13
[2008-02-08 11:29:50] Spawning child process 2224.
[2008-02-08 11:29:53] Connection to 113.13.13.254 from 113.13.13.13
[2008-02-08 11:29:53] Received notify from 113.13.13.13
[2008-02-08 11:29:53] Spawning child process 2225.
[2008-02-08 11:29:53] gpg --decrypt --homedir=/usr/local/nocat/gw/pgp --keyring trustedkeys.gpg --no-tty -o- returned error message:
gpg: WARNING: unsafe ownership on homedir `/usr/local/nocat/gw/pgp'
gpg: Signature made Fri Feb 8 11:29:45 2008 BRT using DSA key ID 4A3CE42D
gpg: Good signature from "edson <ui@ui.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 4815 626B BAAB 5049 50BD 7859 B21F D142 4A3C E42D
[2008-02-08 11:29:53] Got auth msg:
Redirect http://start.mozilla.org/firefox?client=firefox-a&rls=org.mozilla:pt-BR:official
Mac 00:12:BF:3E:EE:E0
Action Permit
User fenix.se@gmail.com
Mode login
Timeout 600
Token $1$28233519$z9y0QwFJn6cVEhaHGc.8e1
[2008-02-08 11:29:53] User () v. trusted (Any)
[2008-02-08 11:29:53] User fenix.se@gmail.com permitted in class Public
[2008-02-08 11:29:53] Notifying parent of Permit on peer 00:12:BF:3E:EE:E0
[2008-02-08 11:29:53] Available MACs: 00:12:BF:3E:EE:E0
[2008-02-08 11:29:53] Got notification Permit of peer 00:12:BF:3E:EE:E0
[2008-02-08 11:29:53] Child process returned 1

Descupem o tamanho dos logs mas esses são de apenas 1 usuário.
Muito obrigado mesmo a que puder me ajudar.

[12] Comentário enviado por tecnorede em 19/02/2008 - 00:22h

jatoba , é possível utilizar somente a senha sim e quanto ao tempo de expirar tu configura direto no nocat.conf

[13] Comentário enviado por joabes em 25/03/2008 - 21:02h

Caros, boa noite.

Alguém sabe como fazer com que permita apenas um autenticação por usuário? Alguém já fez?

Atenciosamente
Joabes

[14] Comentário enviado por edutech em 02/04/2008 - 10:29h

Bom dia!!
Primeiramente meu agradecimento ao colega tecnorede pelo capricho com o
Artigo, más me surgiram algumas dúvidas. Um mesmo usuário e senha conse-
guiria acessar duas máquinas simultaneamente ou não? Teria como implemen
tar sem muito problema no Slackware 12 ?

Edu

[15] Comentário enviado por tecnorede em 02/04/2008 - 17:10h

Olá Edutech e Joabes é possivel sim implementar este cotrole, meu artigo com a integração do NoCat com o freeradius esta quase pronto com esta integração ja por default o radius controla isso, mas como em nosso tutorial a base de usuários esta no mysql , vou da uma olhada no codigo , na documentação sei que não fala nada , de qualquer forma não seria muito complicado se precisarmos criar do zero , seria algo do tipo :
Criamos um campo a mais no registro de cada usuário (flag) , um IF() na autenticação se tiver marcada a flag não deixa autenticar e manda mensagem , se não autentica e marca a flag e quando deslogar desmarca a flag ..

bom mas deixa conferir que isso os caras devem ter pensado te retorno em breve , abraço

[16] Comentário enviado por joabes em 07/04/2008 - 11:15h

Meu caro amigo tecnorede, obrigado pela resposta, se puder nos passar essa informação, será de grande valia, no sistema não informa nada sobre.

Meu autenticador funciona blz, exceto por esse detalhe, quero restringir o user para apenas 1 sessão (login) por usuário.

Abraços
Joabes

[17] Comentário enviado por krigr88 em 10/10/2008 - 23:30h

poderiam postar um link para o fedora core 7 i386 ???

[18] Comentário enviado por fell em 31/10/2008 - 00:05h

Obrigado vou testar!Tava procurando alguma coisa deste tipo.Alguem conhece o coova,jradius.
Abraços.

[19] Comentário enviado por efloriani em 01/12/2008 - 11:52h

Ola,

Voce escreveu no artigo:" De um modo geral todos os bons AP´s oferecem o recurso de "lan isolation", que impede que um cliente wireless acesse outro (via acl). Caso você esteja usando um access point mais modesto, esse recurso pode ser implementado no NoCat, mostrarei mais adiante. "

Pergunto: Como implementar isso através do nocat?

Aguardo retorno,

[20] Comentário enviado por fernandocesario em 22/03/2009 - 23:34h

Senhores,

Eth1=Lan/Saida de Internet
Eth0=REDE WIFI

Ao tentar implementar a solucao no Debian 4 ETC tendo alguns problemas como por exemplo nao consigo acesso a pagina de login e senha para me autenticar e sair pela rede wireless.

Quando eu vo abrir o browser que ele direciona pra pra porta ssl(443) o browser me retorna o seguinte erro:
"O ssl recebeu um registro que excedia o comprimento maximo permitido"
(codigo do erro:ssl_error_rx_record_too_long)

Perdi um bom tempo tentando ver ser era algo no certificado, porem tenho uma grande desconfianca que o problema e o firewall pelo fato de na hora de executar o script de incialiacao do firewall ele me da o seguinte erro:

"The "nat" table is not intended for filtering, hence the use of drop is deprecated and will permanently be disable in the next iptables release.Please adjust your scripts"

Abaixo o resultado do IPTABLES -L :

wifi:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
NoCat all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain NoCat (1 references)
target prot opt source destination
NoCat_Ports all -- anywhere anywhere
NoCat_Inbound all -- anywhere anywhere
ACCEPT all -- 192.168.101.0/24 anywhere mark match 0x1
ACCEPT all -- 192.168.101.0/24 anywhere mark match 0x2
ACCEPT all -- 192.168.101.0/24 anywhere mark match 0x3
ACCEPT tcp -- 192.168.101.0/24 192.168.101.1 tcp dpt:www
ACCEPT tcp -- 192.168.101.1 192.168.101.0/24 tcp spt:www
ACCEPT tcp -- 192.168.101.0/24 192.168.101.1 tcp dpt:https
ACCEPT tcp -- 192.168.101.1 192.168.101.0/24 tcp spt:https
ACCEPT all -- 192.168.101.1 192.168.101.0/24
ACCEPT tcp -- 192.168.101.0/24 192.168.101.1 tcp dpt:domain
ACCEPT udp -- 192.168.101.0/24 192.168.101.1 udp dpt:domain
ACCEPT all -- 192.168.10.3 192.168.101.0/24
ACCEPT tcp -- 192.168.101.0/24 192.168.10.3 tcp dpt:domain
ACCEPT udp -- 192.168.101.0/24 192.168.10.3 udp dpt:domain
DROP tcp -- !192.168.101.1 anywhere tcp dpt:5280
DROP all -- anywhere anywhere

Chain NoCat_Inbound (1 references)
target prot opt source destination

Chain NoCat_Ports (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh mark match 0x3
ACCEPT udp -- anywhere anywhere udp dpt:ssh mark match 0x3
ACCEPT tcp -- anywhere anywhere tcp dpt:www mark match 0x3
ACCEPT udp -- anywhere anywhere udp dpt:www mark match 0x3
ACCEPT tcp -- anywhere anywhere tcp dpt:https markmatch 0x3
ACCEPT udp -- anywhere anywhere udp dpt:https markmatch 0x3
ACCEPT tcp -- anywhere anywhere tcp dpt:5280
ACCEPT udp -- anywhere anywhere udp dpt:5280
DROP tcp -- anywhere anywhere mark match 0x3
DROP udp -- anywhere anywhere mark match 0x3

Peco ajuda a comunidade pra que em seguida eu faca um artigo da configuracao para o Debian.

[21] Comentário enviado por dimago em 10/09/2009 - 11:21h

bom dia srs,

gostaria de reviver esse post.

possuo um firewall com proxy squid.
possuo DHCP em windows.
possuo uma VLAN para clientes na rede 192.168.10/24, por exemplo
Possuo uma outra classe de DHCP para a range acima, 192.168.10
Minha rede da empresa eh rede 10.
Meu AP possui duas SSID, uma pra cliente, e outra pra rede da empresa
Meu switch faz dhcp relay
Dentro do meu squid, possuo configuração para que usuarios com a range 192.168.10 nao precisam de configuração no navegador, logo, navega transparente, sem pedir user e senha.
Como está, está quase ideal, o que me falta ainda seria esse esquema do nocat, onde pede-se algum tipo de liberação para o usuário navegar... a ideia seria ele comprar um determinado tempo no caixa da empresa, e ai liberar para ele essa navegação.

vejamos...

poderia colocar esse servidor na VLAN 192.168.10 e configurar o nocat
acredito que como tenho muita coisa quase pronta.. eu nao precise configurar um DHCP e nem DNS... e fazerm com que ele navegue pelo meu proxy, sem ter que colocar esse servidor num IP válido para a internet.. e nem configurar regras do iptables..

Marcos, o que vc acha?

Aguardo vossas considerações, idéias.. enfim :)
muito obrigado

Diego

[22] Comentário enviado por tecnorede em 17/09/2009 - 22:02h

Você pode usar o NoCat sim , porem o tutorial nao esta abordando este aspecto, para funcionar como esta no tutorial e mantendo o mais proximo do teu cenário deixe o dhcp server para a faixa liberada no teu squid no nocat e coloque-o como gateway.

Você também pode configurar o squid para redirecionar para o NoCat e configurar o NoCat para liberar os Hosts que autenticarem com sucesso no squid , este e na verdade o mais indicado.

se precisar de detalhes de como configura isso me mande um diagrama mais detalhado de como esta que lhe retorno ....

Recomendo que você avalie o PFsense (http://www.pfsense.org/ ) , e uma ótima opção , primeiramente por se tratar de BSD segundo porque possui todas as funcionalidades que voce precisa , squid, dhcp, FIREWALL (muito bom) , QoS , Captive Portal ja integrado com base de dados radius etc ...

[23] Comentário enviado por dimago em 24/09/2009 - 08:23h

Bom dia Marcos,

Obrigado por responder minhas dúvidas.

Acredito que eu já esteja terminando as configurações.

Pois bem, possuo dois links aqui na empresa, um link dedicado, e uma adsl empresarial.

Meu default gw do meu firewall é meu link dedicado, minha navegação sai pelo adsl.

possuo uma eth para minha rede interna
possuo uma eth para meu link dedicado
possuo uma eth para minha adsl

a idéia seria sair pela adsl...

LocalGateway 10.0.0.12 /// ip da minha rede local
LocalNetwork 10.0.0.0

lembrando que esses clientes, que conectarem no nocat devem ter o endereço 192.168.5.0/24

gostei da idéia do squid redirecionando para o nocat.. posso fazer isso com que ele redirecione somente os endereços 192.168.5.0 ???

acho que o esquema vai ficar bom aqui...

nao mexi em DNS no meu linux...

subi o nocat no meu firewall..

e a configuração do gw - nocat.conf

como ficaria?

agradeço mais uma vez e to super empolgado para ver esse negócio funcionando

Obrigado

Diego

[24] Comentário enviado por dimago em 24/09/2009 - 09:09h

Fui dando continuidade nas configurações...

E na configuração do web server, tive esse problema:

service httpd start
Iniciando httpd: [Thu Sep 24 09:05:26 2009] [warn] module mysql_auth_module is already loaded, skipping
[Thu Sep 24 09:05:26 2009] [warn] module perl_module is already loaded, skipping
[Thu Sep 24 09:05:26 2009] [warn] module php4_module is already loaded, skipping
[Thu Sep 24 09:05:26 2009] [warn] module python_module is already loaded, skipping
[Thu Sep 24 09:05:26 2009] [warn] module ssl_module is already loaded, skipping
[Thu Sep 24 09:05:26 2009] [warn] The Alias directive in /etc/httpd/conf.d/mrtg.conf at line 6 will probably never match because it overlaps an earlier Alias.
[Thu Sep 24 09:05:26 2009] [warn] The Alias directive in /etc/httpd/conf.d/sarg.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Thu Sep 24 09:05:26 2009] [warn] The Alias directive in /etc/httpd/conf.d/webalizer.conf at line 6 will probably never match because it overlaps an earlier Alias.
[Thu Sep 24 09:05:26 2009] [warn] The ScriptAlias directive in /usr/local/nocat/authserv/httpd.conf at line 14 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 24 09:05:26 2009] [warn] The ScriptAlias directive in /etc/httpd/conf/httpd.conf at line 1044 will probably never match because it overlaps an earlier ScriptAlias.
[Thu Sep 24 09:05:26 2009] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
(98)Address already in use: make_sock: could not bind to address [::]:443
no listening sockets available, shutting down
Unable to open logs

acredito que seja porque o nocat nao está no ar? nao subi ele porque nem todas as configurações estao ok...
seria isso tavlez?

obrigado

Diego

[25] Comentário enviado por tecnorede em 06/10/2009 - 21:31h

Diego
Agora acredito que estou entendendo melhor teu ambiente e objetivo , eu sempre tomo como premissa básica tentar reduzir a complexidade do ambiente a idéia inicial de fazer redirect dos clientes do HotSpot para o NoCat via squid, tomando como base que tanto os clientes do NoCat quanto os clientes de sua lan chegaram pela mesma interface eth, funcionara mas ficara bem complexa principalmente por causa do roteamento que precisara fazer baseado em origem (source) e não em destino sem falar na questão de segurança que ficara bem comprometido se não for configurado com cuidado, então tomando como objetivo reduzir a complexidade no teu servidor o mais adequado seria de criarmos uma quarta interface eth especificamente para os clientes do nocat, assim a configuracao no nocat nao sera alterada so observer para listar as interfaces corretas, bom para conseguir esta segmentação depende muito de como e sua infra-estrutura de lan se voce consegue segmentar fisicamente estas redes , por exemplo : digamos que os clientes desta rede do NoCat venha por uma rede Wireless entao voce pode providenciar que este Access Point(s) estejam conectados diretamente a esta interface , ou caso sua estrutura de rede tenha switches gerenciaveis podemos criar vlans e assim nem precisaria de uma quarta placa de rede apenas configuramos uma vlan (sub-interface) na eth da sua LAN.

Bom vai vendo ai , que vamos trocando idéia e evoluindo teu projeto , abraco

[26] Comentário enviado por dimago em 07/10/2009 - 09:09h

Marcos,
Meus switches sao gerenciaveis sim. A range 192.168.5.0/24 está em uma VLAN - jah tenho a VLAN criada...

Com esta solução, vai ser possivel gerar login e senha para o usuário, colocando tempo limite de expiração de login?

Consegui fazer o nocat subir, nao testei se acessava ele, apenas dei o start nele, e ele mexeu nas minhas regras de fwl..

parei ele e compilei novamente minhas regras, para nao dar problema....

Preciso fazer com que ele passe pelo meu squid, obedecendo minhas ACLs que possuo com o squid + squidguard

Penso que estamos bem perto de conseguir...

Como deve ficar as configurações?

Obrigado

Diego


[27] Comentário enviado por raffaelchacon em 27/06/2011 - 16:47h

Gostaria de reviver esse artigo. Será que tem mais alguem ai a fim de trocar uma ideia sobre o NoCat?
Fiz aqui e funcionou tudo, redondo!
Agora estou querendo fazer umas modificações, como mudar o login, fiz uma pagina em php que inseri as informações no banco, mas queria saber que tipo de criptografia que o nocat usa na hora que cadastra os seus usuários, e se alguem sabe se posso reproduzir isso em php.
Abraços a todos...

[28] Comentário enviado por tecnorede em 27/06/2011 - 23:40h

Caro raffaelchacon, os usuários são cadastrados no banco, você pode desenvolver sua pagina em PHP para criação e alteração dos usuários diretamente no banco e assim implementar novos recursos como por exemplo código pré-pago, quanto a questão de segurança basta usar https, no NoCat você direciona todos para sua pagina de autenticação.


[29] Comentário enviado por xitao em 13/09/2011 - 18:32h

comigo esta acontecendo o seguinte erro:

Reloading web server config: apache2[Tue Sep 13 18:27:33 2011] [warn] The Alias directive in /etc/apache2/conf.d/javascript-common.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Tue Sep 13 18:27:33 2011] [warn] The Alias directive in /etc/apache2/conf.d/phpmyadmin.conf at line 3 will probably never match because it overlaps an earlier Alias.
[Tue Sep 13 18:27:33 2011] [warn] The ScriptAlias directive in /etc/apache2/sites-enabled/000-default at line 7 will probably never match because it overlaps an earlier ScriptAlias.
[Tue Sep 13 18:27:33 2011] [warn] NameVirtualHost *:80 has no VirtualHosts


não consigo acessar o https

e o iptables tá com pau

interna eth0
externa eth1

[30] Comentário enviado por JEHFFINHO em 11/11/2011 - 22:56h

Boa noite Amigos, onde posso encontrar para efetuar o download do " Fedora Core 6 " ? Tem que ser esse ou pode ser alguma versão mais atualizada ?? Qual me recomendam ...se puderem enviar o link para download eu agradeço pela atenção!

[31] Comentário enviado por tecnorede em 05/12/2011 - 10:52h

Alguns comentários não foram respondidos por problemas no meu e-mail, novos comentários serão respondidos.

[32] Comentário enviado por diogenesneto em 11/04/2012 - 23:42h

Gostaria de saber se alguém conseguiu implementar a solução para que permita apenas um autenticação por usuário?

[33] Comentário enviado por kinderjoy em 13/03/2013 - 16:12h

Boa tarde Galera..olha eu de novo precisando de vcs rsrs
eu cheguei até o comando make PREFIX=/usr/local/nocat/gw gateway e a mensagem retorna como bash: make: comando não encontrado. Alguem sabe resolver isso ou fiz algo errado?
no aguardo..........

[34] Comentário enviado por eduinfo10 em 17/01/2014 - 15:59h

Boa Tarde Marcos Antonio Rosa e demais amigos do Forum.

Gostaria de usar os usuários do ldap para autenticação, mas não acho em nenhum lugar com ficaria a configuração.

Tem alguma dica ?

Muito obrigado.

[35] Comentário enviado por moura_07 em 20/10/2014 - 14:26h

Boa tarde,

Realizei a instalação do NoCat sem problemas, ele já está funcionando para os usuários, porém quando tento acesso pelo Administrador "IP_NOCAT/cgi_bin/admlogin" ele retorna a resposta de "Formulário não Encontrado".

Como realizar o Gerenciamento das funcionalidades do NoCat?

[36] Comentário enviado por removido em 20/02/2015 - 19:36h

Gente sou novo nesse sitema Linux.

Preciso fazer esse portal de autentificação wireless..
atualmente estou usando o fedora 21, mais enfim.
Tem como fazer esse portal no fedora 21 ?????

pois vi que no tutorial estão usando o fedora core 6...


[37] Comentário enviado por vichugolima em 23/07/2015 - 11:08h

cara....um problema..
cheguei na parte do banco de dados
mas quando chego nessa parte :

Ainda de dentro da pasta principal dos fontes do mysql, copie a base padrão do Nocat, conforme segue:
# mysql nocat < etc/nocat.schema -p

fala que não encontra esse arquivo nocat.schema.

a pergunta é : eu deveria , antes de instalar o Gw e o Authserv já ter o mysql na máquina???
pois eu criei essa máquina justamente pra isso e fui seguindo os passos até travar ai

agradeço


[38] Comentário enviado por jorgerabello em 18/10/2015 - 17:28h

Olá @tecnorede

Ao acessar http://hackerfriendly.com/downloads/NoCatAuth/NoCatAuth-nightly.tgz obtive Not Found...
Pesquisei no google por nocat captive portal e obtive isso dev.wifidog.org/wiki/NoCat que é uma solução já pronta, não tem os mesmos confs e é restrita ao sgbdr postgree....

Sabe me dizer o que houve ou se há alguma versão legada do nocat ?

Grato

[39] Comentário enviado por Rafa1508 em 11/08/2022 - 14:47h

Esse Fedora core 6, tem que ser apenas essa versão? Ou pode ser alguma versão mais atualizada ?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts