O programa NoCatAuth, criado pela nocat.net, tem o propósito de evitar que pessoas não autorizadas tenham acesso a internet em rede Wireless. Para isso, esse programa em Perl captura o tráfego na porta 80 e o desvia para um servidor HTTP, onde haverá uma página solicitando usuário e senha, e opcionalmente, uma página para cadastro.
O Slackware 10.0 vem com o Apache 1.3, mas eu particularmente
prefiro o Apache 2.0.50, por isso vou usá-lo nesta solução. Se
você tem experiência como Apache 1.3.x, fique a vontade em usá-lo,
senão:
Removendo Apache 1.3:
# removepkg apache-1.3.31-i486-2
O OpenSSL versão 0.9.7.d, GnuPG 1.2.4, MySQL 4.0.20 e Perl 5.8.4 (e modulo perl Digest::MD5) já vêem instalados por padrão (instalação FULL) no Slack 10.
Instalação do Apache 2.0.50
# cd /usr/local/src
# wget http://apache.usp.br/httpd/httpd-2.0.50.tar.gz
# tar xvzf httpd-2.0.50.tar.gz
# cd httpd-2.0.50
# ./configure --enable-ssl --enable-cgi --enable-suexec --enable-so
# make
# make install
O Apache será instalado no diretório /usr/local/apache2, os arquivos de configuração ficarão na pasta usr/local/apache2/conf.
Módulos Perl
Os módulos usados pelo NoCat para esta solução são:
Net::Netmask
DBI
DBD::mysql
Digest::MD5
Se você deseja usar outro tipo de autenticação, consulte a documentação do NoCat. Várias tecnologias são suportadas: IMAP, LDAP, SAMBA, PAM, RADIUS, etc.
A primeira vez que você invocar o CPAN do Perl, ele solicitará algumas configurações do sistema e da localidade, basta responder N que ele usará a configuração padrão. Necessário estar conectado.
# perl -MCPAN -e shell
cpan> install Bundle::CPAN (ENTER para todas as perguntas)
cpan> install DBI
cpan> install DBD::mysql
cpan> install Digest::MD5
cpan> install Net::Netmask
cpan> exit
Atenção, as linhas seguintes testam os módulos e não podem retornar erros:
Vamos ativar o MySQL, pois no Slackware 10.0 ele se encontra instalado, porém alguns ajustes são necessários para colocá-lo rodando.
Como nós iremos usar o MySQL apenas para armazenar algumas centenas de logins, não convém reservar recursos desnecessários. Por isso será usado o arquivo de configuração my-small.cnf (ver documentação do MySQL).
Em seguida criaremos um banco de dados para o NoCatAuth e um login de acesso para ele.
# nmap localhost -p 3306
Starting nmap 3.50 ( http://www.insercure.org/nmap/ ) at 2004-07-26 16:02 Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE 3306/tcp open mysql
Nmap run completed - 1 IP address (1 host up) scanned in 0.331 seconds
Ajustando a senha do root mysql:
# mysqladmin password senhadorootmysqlaqui
# mysql -u root -psenhadorootmysqlaqui
mysql> CREATE DATABASE nocat;
mysql> GRANT ALL PRIVILEGES ON nocat.* TO nocat@localhost IDENTIFIED BY "senhadonocat" WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> exit
Substitua "senhadorootmysqlaqui" pela senha de root do MySQL, cuidado com esta senha. Faça o mesmo com "senhadonocat".
NoCAT
Todos os códigos necessários para construção do nosso servidor, tanto Auth como Gateway estão no mesmo pacote:
A chave de PGP deve ser a mesma para ambas as instâncias para que elas se comuniquem, portanto, vamos criá-la no authserv e copiá-la para o gateway. Não defina uma senha para esta chave.
# make PREFIX=/usr/local/nocat/authserv pgpkey
# cp /usr/local/nocat/authserv/trustedkeys.gpg /usr/local/nocat/gw/pgp
Pronto, a instalação já está feita, agora vamos configurar tudo, começando pelo Apache.
[1] Comentário enviado por rattus em 30/08/2004 - 13:21h
Vc tem alguma coisa similar para acesso discado?
Por exemplo, alguns provedores gratuitos utilizam isso.
Vc conecta com qq senha e depois é redirecionado para a página deles para logar.
[3] Comentário enviado por worms em 31/08/2004 - 10:40h
Falae Patrick!!
10 seu artigo man! Parabéns ;)
Você tem ideia como utilizar o Nocat na mesma maquina que use um squid e cbq?
hehehe mei q to apanhando disso faiz tempo, pq as regras do nocat de iptables anulam as do squid e cbq.... vira uma zona =[
onde 192.168.10.1 deve ser substituido pelo ip da maquina onde esta squid e 8080 pela porta onde o squid escuta as conexoes.
Quando ao controle de banda, eu ainda nao trabalhei o NoCat nisso, mas voce pode dar uma olhada na mesma pasta onde está o access.fw, tem um arquivo chamado throttle.fw que te deve ser util, voce também pode editar o arquivo initialize.fw e altera-lo para seus propositos.
[8] Comentário enviado por patrickbrandao em 06/10/2004 - 13:08h
Em qual modo o nocat esta operando (passive, captive, open)?
Qual tipo de autenticação voce usa (mysql, radius, imap, ...) ?
Voce instalou o modulo Perl para o tipo de autenticação que está usando?
O perl está instalado corretamente? (tente reinstalar atravez de sua ferramenta de controle de pacotes)
Tentou reinstalar?
Aplicou algum patch?
Estava funcionando?
A pagina está sendo capturada ou voce está indo direto para o formulario login?
[9] Comentário enviado por fabiorvs em 06/10/2004 - 13:12h
Irei fazer outro teste, estava usando o RH9 e os pacotes necessarios ja estavam instalados, agora estou instalando o Slack 10 e vou fazer tudo na mão vamos ver se o erro ira continuar pois ai eu que estou fazendo algo de errado, valeu pela força, se tiver mais duvidas notifico.
[11] Comentário enviado por rvgodoi em 06/10/2004 - 17:31h
Olá Patrick,
Você sabe me dizer se o noCatAuth possui algum módulo ou alguma configuração que eu possa fazer que faça com que informações sobre tempo de conexão e tráfego sejam logados no mysql?
O NoCatAuth já possiu suporte para autenticação Radius, voce so tem que instalar um Modulo Perl para isso (Authen::Radius).
O freeradius voce encontra em www.freeradius.org , instale-o com o padrao ./configure, make, make install, e no arquivo radiusd.conf use sql para autenticação configurando o arquivo sql.conf.
Infelizmente, só consegui fazer isso com muito trabalho uma vez, o path para accounting funciona, no que diz respeito a guardar informaçoes sobre a sessao, mas, porem cria outros bugs (brincadeira né, um path que cria bugs!).
voce pode instala-lo e consertar no dedo, basta alterar algumas coisas nos arquivos html.
[15] Comentário enviado por eduardo.ramos em 25/10/2004 - 13:52h
Meu amigo, quando tento estartar o apache com a include do nocat ele dar este erro:
root@mx:/etc/init.d # ./apache start
Configuration syntax error detected. Not reloading.
Syntax error on line 20 of /usr/local/nocat/authserv/httpd.conf:
Invalid command 'SetEnv', perhaps mis-spelled or defined by a module not included in the server configuration
o que pode ser o modulo mod_setenv.so nao existe só o mod_setenvif.so, uso o apache 1.3.
[16] Comentário enviado por patrickbrandao em 25/10/2004 - 14:37h
Bom, infelizmente você nao incluiu os modulos que dão suporte a variaveis de ambiente no Apache, ou não os declarou com LoadModule, faça isso ou instale a versão recente a partir dos fontes que com certeza vai conseguir!
[18] Comentário enviado por patrickbrandao em 27/10/2004 - 01:12h
Modo captive apenas se o gateway nao faz nat. Se há traducao de enderecos que deve ser feito pelo nocat, use Passive
O erro acima é tipico de casos que voce vai direto para a página de login, isso nao pode ser feito, pois o modulo gateway no nocat precisa capturar o trafego pois no comando de redirecionar, ele passa variaveis para o modulo authserv com os dados da sessao, MAC, ip, etc...
Voce pode tentar o seguinte se continuar o erro: no arquivo de configuracao do gateway, procure a linha "IgnoreMAC" e sete com valor "1" (sem aspas). Assim as regras vao ser geradas baseadas no ip, isso diminuia a seguranca, já que spoof de ip é mais facil de fazer do que spoof de MAC.
[19] Comentário enviado por welton.melo em 03/11/2004 - 14:51h
Amigos, tentei seguir o artigo, mas quando executo o comando install DBD::mysql
Aparece a seguinte mensagem de erro:
------------------------------------------------------------------------------------
Unsuccessful stat on filename containing newline at /usr/lib/perl5/5.8.0/ExtUtils/Liblist/Kid.pm line 97.
Multiple copies of Driver.xst found in: /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI/ /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/auto/DBI/ at Makefile.PL line 295
Using DBI 1.45 (for perl 5.008 on i386-linux-thread-multi) installed in /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/DBI/
Writing Makefile for DBD::mysql
Makefile:89: *** faltando o separador. Pare.
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible
------------------------------------------------------------------------------------
Como posso resolver o problema?
Grato,
[22] Comentário enviado por patrickbrandao em 03/11/2004 - 21:23h
Tem sim! a solucao se chama: NoCatAuth modos captive ou passive.
O artigo é justamente sobre isso!
O NoCat é um gateway/firewall, os pacotes só poderão atravessar o gateway se o usuario autenticar-se. Ele captura o trafego da porta 80 mas fora isso, os pacotes com destino a todas as outras portas sao dropados caso a autenticacao na pagina de login nao seja feita. Apos o login, todas as portas sao liberadas.
[24] Comentário enviado por patrickbrandao em 15/11/2004 - 12:31h
olha, como disse a loirinha do filme KILL BILL: vamos por partes!
Se vc instou o nocat auth e gateway corretamente, no arquivo nocat.conf do gateway, deve esta os seguintes valores:
ExternalDevice eth0
InternalDevice eth1
O método usado deve ser PASSIVE (tem que fazer NAT), o ip válido nao precisa ser devinido em lugar algum, ele vai descobrir qual é quando verificar a eth0
execute o gateway (/usr/local/nocat/gw/bin/gateway), use o rc.nocat para isso (veja no artigo)
Se voce fez tudo de acordo com o artigo, os clientes que chegar na eth1 vao ser direcionados para a tela de login. nao esqueca de dar para os clientes os mesmos servidores DNS definidos em /etc/resolv.conf
[26] Comentário enviado por fsilvarib em 15/11/2004 - 13:27h
Outra coisa que eu esqueci de falar quando eu reinicio o servidor ele ta dando um erro no rc.local na linha 11, e esse erro é do código que esta do artigo.
O código é o seguinte:
# iniciando servidor DHCPD
dhcpd
# iniciando apache com suporte a SSL
If [ -x /usr/local/apache2/bin/apachectl ]; then
/usr/local/apache2/bin/apachectl startssl
fi
[28] Comentário enviado por patrickbrandao em 15/11/2004 - 17:29h
voce colocou 'i' maiusculo no if (If), o linux faz diferenciaçao entre maiusculas e minusculas, tenta colocar:
if [ -x /usr/local/apache2/bin/apachectl ]; then
/usr/local/apache2/bin/apachectl startssl
fi
Nao precisa colocar regras de NAT, o NoCat faz isso, vc tem que saber se a resoluçao de DNS ta funcionando e se ele esta redirecionando para a pagina de login, veja no nocat.log e no access.log do apache
[29] Comentário enviado por robertorr em 25/11/2004 - 22:09h
Tenho um server slack 10 rodando o server de e-mail e firewall.
Gostaria de saber como faço pra:
1 - Autenticar para somente passar pelo firewall depois que logar com o login e senha igual do e-mail (/etc/shadow).
2 - Depois de logado registrar no squid os acessos feitos em qualquer página deste usuário para emitir relatorios posteriores do usuários.
[30] Comentário enviado por patrickbrandao em 25/11/2004 - 22:34h
Se sua rede interna é uma rede de ip invalido (nao roteavel na web), voce usa o modo PASSIVE, caso contrario, modo CAPTIVE, para que a autenticacao seja baseada nos dados de logins do sistema, vc vai ter que usar PAM + NoCat, veja os docs e o conteudo da pasta etc/ dentro do pacote com os fontes da distribuiçao do nocat, vc vai ter que instalar um modulo perl apropriado, o arquivo nocat.conf do authserv deve ser configurado para acessar o PAM, assim, leia os comentarios do autor no arquivo de configuracao do nocat (nocat.conf - authserv).
obrigado por contribuir com sua dúvida,
qualquer coisa manda mais!
[32] Comentário enviado por andrei_piovesan em 24/01/2005 - 23:06h
instalei tudo conforme o tutorial e da o seguinte erro
Syntax error on line 31 of /usr/local/apache2/conf/ssl.conf:
CustomLog takes two or three arguments, a file name, a custom log format string or format name, and an optional "env=" clause (see docs)
estas são respectivamente as linhas 30 e 31 do script
nao estou conseguindo identificar nada errado
CustomLog /usr/local/apache2/logs/ssl_request_log \
%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \%r\ %b
[33] Comentário enviado por patrickbrandao em 24/01/2005 - 23:24h
Bom Andrei,
esse artigo tem alguns bugs em relacao a digitação de algumas linhas, mas voce pode substituir https por http para fazer testes do sistema (altere o nocat.conf e procure por https e substitua), ativa o https usando a configuracao ssl de outros!
[36] Comentário enviado por marcioslackware em 16/02/2005 - 16:49h
quando inicializa o nocat no final aparece socket 0.0.0.0
isso e normal, e toda vez que acesso o browser e direcionado para a pagina principal do apache, como direcionar para a autenticação no nocat.
[37] Comentário enviado por patrickbrandao em 17/02/2005 - 11:00h
Marcio,
quanto ao "socket 0.0.0.0", significa que ele está respondendo na porta 5280/tcp em todos os endereços ip da maquina (127.0.0.1, 192....). Quando a redirecionara para o apache, vc tem que ver a configuracao no nocat.conf do gateway, as variaveis que informam o endereço do authserv, que deve ser http://ip.do.auth.serv/cgi-bin/login, etc...
[38] Comentário enviado por marcioslackware em 20/02/2005 - 10:14h
Agora esta direcionando para http://ip.do.auth.serv/cgi-bin/login, so que aparece mais argumentos na frente do endereço como http://ip.do.auth.serv/cgi-bin/login?redirect =1%92mac=10% ... mas nao abre nada, esses parametros na frente ja deveria estar cadastrados no mysql para logar ou entra na tela de login.
[39] Comentário enviado por patrickbrandao em 20/02/2005 - 14:05h
Bom marcio, o nocat funciona assim:
1 - voce digita no navegador: www.patrick.eti.br, apos teclar ENTER, o navegador resolve o nome no DNS, e tenta se conectar ao host que hospeda a página.
2 - ao passar pelo gateway, o pacote com destino a pagina www.patrick.eti.br é redirecionado pelas regras do iptables para o modulo gateway do nocat. O modulo gateway, consulta qual o ip e MAC do host, e redireciona novamente para o authserv, passando os parametros MAC, pagina de destino original (www.patrick.eti.br) como parametros GET (esse que aparecem na frente da url).
3 - no authserv, os scripts em perl recebem os parametros e abre uma sessao de autenticacao. Apos autenticar com sucesso, o authserv passa uma url para seu navegador, do tipo: http://ip.do.modulo.gw:5280/...parametros
onde parametros sao seus dados originais e um hash que comprova que voce autenticou corretamente no authserv, assim o modulo gateway libera seu acesso.
Sendo assim, voce precisa, atravez dos arquivos de log do apache e do nocat, descobrir onde está o problema, como nao abre nenhuma pagina, possivelmente é algo no apache.
log do nocat ta assim
[2005-02-22 16:48:17] Gateway running on port 5280.
[2005-02-22 17:21:35] Gateway running on port 5280.
[2005-02-22 17:30:05] Spawning child process 1245.
[2005-02-22 17:30:05] Connection to 192.168.2.3 from 192.168.2.200
[2005-02-22 17:30:05] Received notify from 192.168.2.200
[2005-02-22 17:30:05] Missing notify from 192.168.2.200
[2005-02-22 17:30:05] Capturing 192.168.2.200 for http://192.168.2.3192.168.2.3:443 (poque repete o ip, e certo isso?)
[2005-02-22 17:30:05] Notifying parent of Capture on peer 00:D0:09:83:9E:0B
[2005-02-22 17:30:05] Got notification Capture of peer 00:D0:09:83:9E:0B
[2005-02-22 17:30:05] Child process returned 1
[2005-02-22 17:30:05] Spawning child process 1247.
fica repetindo isso todo o tempo como se tivesse solicitando algo.
[41] Comentário enviado por patrickbrandao em 24/02/2005 - 01:02h
Bom, o certo é:
o usuário abre a pagina inicial, mas ela é capturada e substituida pela tela de login, apos o login, o usuario é novamente direcionado para a pagina que de principio visitaria.
Se nao aparece imagem, veja se o caminho dela existe na pasta virtual, tente configurar htdocs do apache /usr/local/nocat/authserv/htdocs (reinicia o apache).
[42] Comentário enviado por godhacker em 26/02/2005 - 14:26h
ola, recentemente eu botei no "ar" um mini provedor a radio, como a idéia deu certo e os clientes estao aumentando, eu estava pré-configurando um freebsd pra rodar comos servidor squid etc...
vc acha q seria interessante pra mim migrar para o slackware 10, e rodar, squid, dhscpd, apache, nocatnet, firewall, mysql, perl com todos os recursos de um servidor do porte em um pIII 1.1 512 ecc reg e hd scsi?
[44] Comentário enviado por patrickbrandao em 26/02/2005 - 16:00h
Como disse a loirinha do killbill: "Vamos por partes"
1 - Se voce esta com uma boa demanda, deve oferecer seguranca e disponibilidade, quanto mais servicos vc tem num servidor, mais serviços voce tem fora do ar se ele parar.
2 - todos os linux sao rápidos, desde que configurados corretamente e depois de uma "limpa".
3 - colocar mysql e squid é arriscado, ambos são amantes de memoria ram, se vc ocupar sua memoria ram, o processamento será desviado para a swap, seu disco ficará mais ocupado, resultando numa lentidão em tudo, o que é contrario a finalidade do firewall
4 - o nocat é para firewall, vc pode colocar num 486 da vida e manter o mysql em um servidor seguro se o numero de registros exigir que o mysql tenha alta disponibilidade
5 - vc tem uma maquina muito boa para o proposito, só não a deixe sozinha (compra o pentiun 233 com 64 de ram para o firewall e nocat)
6 - o nocat garante a autenticacao por mac, mas não isola um usuario a um mac (ex: joao só pode conectar com 00:0e:dc:f0:0a:bc). Eu sei fazer isso, mas não é com nocat...
7 - sua duvida não é sobre nocat, mas sim sobre uma implementaçao complexa que o envolve, use meu e-mail para isso! www.patrick.eti.br -> contato
[46] Comentário enviado por hugohaas em 02/03/2005 - 15:28h
Cara, eu preciso de um sistema que capture o volume de dados que um determinado cliente trafegou pelo gateway, é possível isso com o nocat, outro detalhe é que não quero fazer autenticação pelo browser, somente pelo MAC.
[48] Comentário enviado por hugohaas em 03/03/2005 - 15:42h
Patrick, assim, eu vendo acesso à Internet por volume, se o cliente passa o limite contratado ele paga uma taxa adicional, então preciso contabilizar o volume de dados que passa pelo gateway e inserir esses dados em uma Base de dados SQL, o MAC é só pra indentificar o cliente.
[49] Comentário enviado por patrickbrandao em 03/03/2005 - 16:26h
Hugo,
o nocat + patchaccounting + radius faz isso, a cada sessao finalizada, ele submete ao servidor radius os bytes enviados, recebidos, tempo da sessao, etc... acontece que é um sofrimento instalar, eu só consegui uma vez na vida!!! Mas se quiser tentar, pode começar:
1 - google:
radius +nocat
2 - baixar o patch e instalar (somente no modulo gateway, o authserv permanece): http://www.pogozone.net/projects/nocat/
[52] Comentário enviado por wanto em 27/03/2005 - 16:15h
Patrck gostaria de receber alguns auxilips para ta instalando essa soluacao em um FreeBsd 5.3, tentei seguindo o manual, mas té o momento nao tive sucesso. anailson@gmail.com
FreeBsd+Mysql+nocat+Apache2
da uma maozinha
vlw
[57] Comentário enviado por patrickbrandao em 09/05/2005 - 01:10h
O nocat trabalha com templates de formularios, localizados na pasta htdocs da pasta onde voce instala o nocat authserv, veja se no nocat.conf o Documentroot está apontado para a pasta htdocs que contem os arquvos .html dos formularios.
[58] Comentário enviado por ronner em 09/05/2005 - 09:27h
já verifiquei e estar tudo correto de acordo com o tutorial mais mesmo assim ele não consegue, o apache estar com criptografia e os certificados foram criados.. na barra de endereços ele aparece como quem estar capturando as páginas para fazer a autenticação mais sem sucesso estou usando ele em modo Passive.
[59] Comentário enviado por ronner em 09/05/2005 - 13:49h
Patrick, fiz um novo teste instalei um slackware 10 full e refiz td a instalção e continua dando a mesma mensagem, quando estou compilando o programas não e me mostrado nenhuma informação com condição de erro, o pro maior e que a documentação do nocat e muita poca ou quase nenhuma, tem outra forma de fazer este serviço de autenticação com outro software para Linux?
[60] Comentário enviado por patrickbrandao em 09/05/2005 - 17:24h
Bom,
quando me interessei pelo nocat, percebi que era muito dificil, rodei as tecnologias que ele usa: Apache, iptables, perl, mysql, etc... e consegui fazer funcionar, mas tem dia que nem eu consigo colocar essa gato para miar.
O nocat ja tem uma versao em C sendo desenvolvida, veja em www.nocat.net , se voce quer uma solucao de captura, tem uma comercial chamada MyAuth (www.patrick.eti.br/?pg=myauth).
boa sorte, pretendo reescrever esse artigo em brever, acompanhe minha página!
[62] Comentário enviado por pauloafonso em 11/05/2005 - 13:15h
Patrick,
Estou tendo problemas na configuraçao do nocat, instalei ele segundo seu artigo, mas quando vou testar me retorna no browser que a pagina nao pode ser exibida, segue os logs do nocat
[2005-05-11 13:09:26] Spawning child process 2612.
[2005-05-11 13:09:26] Spawning child process 2613.
[2005-05-11 13:09:26] Connection to x.x.x.x from 153.29.254.254
[2005-05-11 13:09:26] Capturing 153.29.254.254 for http://www.zaz.com.br/
[2005-05-11 13:09:26] Notifying parent of Capture on peer 00:11:5B:33:51:BB
[2005-05-11 13:09:26] Use of uninitialized value in join or string at /usr/local/nocat/gateway/bin/../lib/NoCat.pm line 148.
[2005-05-11 13:09:26] Connection to x.x.x.x from 153.29.254.254
[2005-05-11 13:09:26] Got notification Capture of peer 00:11:5B:33:51:BB
[2005-05-11 13:09:26] Child process returned 1
[63] Comentário enviado por gleisonpauloc em 13/05/2005 - 18:04h
Patrick, estou querendo fazer com que os usuarios atualize seus dados.
Estou com alguns problemas com isso! Eu executo a pagina de update do nocat, digito o login e a senha atualizo, digito a nova senha e repito novamente, depois atualizo novamente. Só que a senha não muda e ele volta a pedir para incerir a senha e não dá a mensagem de Sucesso!!!
Tem alguma solução!!!! Obs os cadastros dos usuários eu estou fazendo pelo comando admintool do nocat.
[64] Comentário enviado por reinaldojr em 02/10/2005 - 17:27h
parabéns patrick pelo artigo muito bom mesmo!!!
Aconteceu comigo o seguinte, eu segui a risca o artigo e deu tudo certo já estava autenticando, estava funcionando, ae eu instalei o squid para fazer o proxy transparente e PIMBA!!!! parou de funcionar tudo quando entro no browser ele captura a pagina pega o mac mas não abre a pagina de login. o que pode ter acontecido???
estou a ponto de formatar o micro e fazer denovo!!!
[68] Comentário enviado por studioweb em 01/06/2006 - 23:58h
estou tendo o mesmo problema que o do paulo afonso mas no meu caso diz que eu recebo a amensagem de acesso negado
You don't have permission to access /cgi-bin/login on this server.
mas eu dei permissão na pasta cgi-bin
[69] Comentário enviado por patrickbrandao em 02/06/2006 - 09:14h
Procure no error_log onde ele acusa o erro de acesso negado. Execute o sudo em nome do usuário que roda o apache e tente acesso ao arquivo cgi-bin/login.
[73] Comentário enviado por horst_silva em 17/07/2006 - 19:09h
Cara, fiz tudo e da o maldito "internal server error"
to usando o slack 10.2, no modo passive. Ele ta redirecionando pra pagina de login, aih eu cadastrei com sucesso um usuario, entro com ele, aih nao redireciona pra pagina que eu quero, da um internal...
me ajude!!!
[76] Comentário enviado por horst_silva em 19/07/2006 - 17:36h
Aew PatrickBrandao, consegui!
O erro que estava dando, (Can't call method "text" on an undefined value at ../lib//NoCat/AuthService.pm line 134.) e o erro do gpg (gpg: Sorry, no terminal at all requested - can't get input,) e (gpg --sign --armor --homedir=/usr/local/nocat/authserv/pgp --keyring trustedkeys.gpg --no-tty -o- returned error: ( 2 )) sumiram depois que eu deletei as pastas gw e authserv, e dei o make PREFIX=/usr... denovo, aih copiei os arquivos de configuracao (os mesmos) e criei a trustedkeys.gpg denovo.
Acho que o erro tava na trustedkeys.gpg que eu tinha criado duas... (a primeira tinha passphrase :( )
[77] Comentário enviado por TheHawk em 03/08/2006 - 14:21h
Olá patrick, como faço aqui para implantar o nocat, tenho uma rede aqui q tem ips não validos e validos(roteadosn não podem ter NAT)... se eu rodar o nocat ele vai fazer nat para esses ips reais, alguma solução?
[79] Comentário enviado por kassiao em 07/08/2006 - 22:52h
vei , eu consegui instalar as paradas tudoblza.. mas qdo eu rodo bixo e tento abrir qq pagina abre pra fazer o login, eu boto o user e senha certos e mando fazer login ae da erro 500 :\ nao sei por onde começar a analisar. o erro eh tao detalhado ehehhe
se eu boto a senha errada diz q ta errada tal... soh q a desgraça da erro 500 qdo boto certo :(
oq eu faço? tou tentando a um tempao ja!! :|
[82] Comentário enviado por ultra7 em 26/09/2006 - 15:14h
Ola Patrick!
Parabéns pelo artigo!
Estou fazendo alguns testes com o nocat e me surgiu uma duvida.....
Tem como eu fazer uma excecao? ou melhor, somente marcar os ip's que precisam autenticar no nocat?
Gostaria de autenticar somente os usuarios convidados, o resto fica transparente.
[83] Comentário enviado por patrickbrandao em 27/09/2006 - 12:01h
Infelizmente isso não é possivel no nocat, mas tenho uma ideia:
invoque o arquivo access.fw com os parametros corretos apos iniciar
o nocat, talvez funcione.
[84] Comentário enviado por bernal em 26/10/2006 - 23:56h
Ola pessoal... to com um probleminha na hora de compliar o nocat
olha soh o erro q ele me da:
NoCatAuth-0.82]# make PREFIX=/usr/local/nocat/gw gateway
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
[85] Comentário enviado por cyber.rick em 13/11/2006 - 16:08h
Alguem conseguiu instalar o sistema no debian?
instalar eu consegui, mas na hora de executar o apache (/usr/local/apache2/bin/apachectl starssl) dá um erro: THE STARTSSL OPTION IS NO LONGER SUPORTED. PLEASE EDIT HTTPD.CONF TO INCLUDE THE SSL CONFIGURATION SETTINGS AND THEN USE APACHECTL START..
Aparece este erro e não inicia o apache, se dou um: /usr/local/apache2/bin/httdp, ele starta, mas na hora que abro o navegador do client, aparece o seguinte erro:
http 403 - proibido
alguém sabe o q fiz de errado?
em nenhum momento deu erro, exceto na hora de executar o apache.
[86] Comentário enviado por pmsinfo em 30/11/2006 - 17:35h
Estou com problemas na instalação dos modulos perl onde no digest retorna is out date. Como realizo a atualização para poder instalar os modulos corretamente? So o digest::md5 que apresentou esta falha os demais instalaram normalmente. O sistema é fc6.
[91] Comentário enviado por hantricito em 30/07/2007 - 21:01h
Olá pessoal...
tenho esse erro aí quando faço start da gateway
ncserver:/# /etc/rcS.d/rc.nocat start
Starting the NoCat gateway ...
[2007-07-31 00:38:40] Resetting firewall.
[2007-07-31 00:38:40] Detected InternalDevice 'eth1'
[2007-07-31 00:38:40] Detected ExternalDevice 'eth0'
[2007-07-31 00:38:40] Detected LocalNetwork '192.168.1.0/255.255.255.0'
[2007-07-31 00:38:55] Can't bind to port 5280: Endereço já em uso. (Is another gateway already running?)
Can't call method "sockhost" on an undefined value at /usr/local/nocat/gw/bin/../lib/NoCat/Gateway.pm line 64.
já tentei varias coisas, e continua dando isso
nao sei mais o k fazer... alguem ajuda?
[92] Comentário enviado por joabes em 06/08/2007 - 16:16h
Caros, boa tarde, vejam a situação.
Nocat está funcionando blz, tudo ok, porém surgiu a seguinte situação:
Atraz do server existe um AP e alguns clientes não são visiveis no linux, alguem conseguiu fazer com que o nocat aceite várias autenticações com a mesma mac, isso por que para o linux só existe a mac do AP e não dos clientes, assim posso autenticar os usuários sem problemas.
[93] Comentário enviado por lucianolbarbosa em 03/10/2007 - 16:45h
Primeiramente quero parabenizar o Patrick pelo ótimo tutorial!
Gostria de saber se alguém teve problema com um erro ocorrido ao tentar abrir a pagina para authenticação no Nocat!
[94] Comentário enviado por carita666 em 09/01/2008 - 18:14h
Hi everyone sorry i was following your post ( http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7352 ) step to step but i have a problem... when I try to use my user and pass I don't see the pop-up. Ithink that almost all is ok because if I use the option AllowedWebHosts i can use internet
my logs are the next...thanks everyone
hola a todos disculpen estuve siguiendo su post ( http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7352 ) paso a paso pero tengo un peque;o problema. cuando trato de usar mi usuario y contrasenia no me aparece el pop-up. creo tener todo bien. si uso la opcion AllowedWebHosts puedo navegar el unico problema es que no me aparece el pop-up cuando trato de logearme
mis logs son los siguientes... gracias a todos
ssl_error_log
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate CommonName (CN) `localhost.localdomain' does NOT match server name!?
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate CommonName (CN) `localhost.localdomain' does NOT match server name!?
[warn] RSA server certificate CommonName (CN) `tecver' does NOT match server name!?
[warn] RSA server certificate CommonName (CN) `tecver' does NOT match server name!?
[error] [client 10.34.122.20] [2008-01-09 10:34:09] User UNKNOWN from 10.34.122.20 requests form
[error] [client 10.34.122.20] File does not exist: /usr/local/nocat/authserv/htdocs/favicon.ico
[error] [client 10.34.122.20] [2008-01-09 10:36:20] User carita666@hotmail.com from 10.34.122.20 requests form, re
ferer: https://10.34.122.1/cgi-bin/login">https://10.34.122.1/cgi-bin/login
[error] [client 10.34.122.20] [2008-01-09 10:36:20] gpg --sign --armor --homedir=/usr/local/nocat/authserv/pgp --k
eyring trustedkeys.gpg --no-tty -o- returned error message:, referer: https://10.34.122.1/cgi-bin/login">https://10.34.122.1/cgi-bin/login
[error] [client 10.34.122.20] gpg: WARNING: unsafe permissions on homedir `/usr/local/nocat/authserv/pgp', referer
: https://10.34.122.1/cgi-bin/login">https://10.34.122.1/cgi-bin/login
[error] [client 10.34.122.20] gpg: Sorry, no terminal at all requested - can't get input, referer: https://10.34.1
22.1/cgi-bin/login
[error] [client 10.34.122.20] Premature end of script headers: login, referer: https://10.34.122.1/cgi-bin/login">https://10.34.122.1/cgi-bin/login
[error] [client 10.34.122.20] [2008-01-09 10:36:45] User UNKNOWN from 10.34.122.20 requests form
error_log
[error] [client ::1] Directory index forbidden by Options directive: /usr/local/nocat/authserv/htdocs/
ssl_error_log
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate CommonName (CN) `localhost.localdomain' does NOT match server name!?
[warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[warn] RSA server certificate CommonName (CN) `localhost.localdomain' does NOT match server name!?
[warn] RSA server certificate CommonName (CN) `tecver' does NOT match server name!?
[warn] RSA server certificate CommonName (CN) `tecver' does NOT match server name!?
[error] [client 10.34.122.20] [2008-01-09 10:34:09] User UNKNOWN from 10.34.122.20 requests form
[error] [client 10.34.122.20] File does not exist: /usr/local/nocat/authserv/htdocs/favicon.ico
[error] [client 10.34.122.20] [2008-01-09 10:34:19] User carita666@hotmail.com from 10.34.122.20 requests form, referer: https://10.34.122.1/cgi-bin/login">https://10.34.122.1/cgi-bin/login?redirect=http%3a%2f%2fwww%2egoogle%2ecom%2emx%2f&timeout=600&gateway=10%2e34%2e122%2e1%3a5280&mac=00%3a13%3aA9%3a02%3a97%3a1C&token=%241%2499088592%24rfYsi7zu8oORcgglasZcy1
[error] [client 10.34.122.20] [2008-01-09 10:35:24] User UNKNOWN from 10.34.122.20 requests form
nocat.log
Gateway running on port 5280.
Spawning child process 3630.
Connection to 127.0.0.1 from 127.0.0.1
Received notify from 127.0.0.1
Missing notify from 127.0.0.1
Can't capture peer 127.0.0.1 without MAC
Spawning child process 5868.
Notifying parent of Capture on peer 00:13:A9:02:97:1C
Got notification Capture of peer 00:13:A9:02:97:1C
Child process returned 1
Connection to 10.34.122.1 from 10.34.122.20
Capturing 10.34.122.20 for http://gateway.messenger.hotmail.com/gateway/gateway.dll?Action=open&Server=NS&IP=messenger.hotmail....
Notifying parent of Capture on peer 00:13:A9:02:97:1C
Spawning child process 5870.
Got notification Capture of peer 00:13:A9:02:97:1C
Child process returned 1
[96] Comentário enviado por shirglei em 01/04/2008 - 14:24h
bom demais o artigo.. alguem sabe se tem como "amarrar" o MAC da placa de rede do usuário com seu login e senha. de forma que mesmo que alguem consiga mascarar um MAC de um outro usuário so seja permitido o acesso a ele se a senha e o login corresponder ao MAC cadastrado.
[99] Comentário enviado por fernandocesario em 22/03/2009 - 23:39h
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"
[100] Comentário enviado por andrebisinoto em 12/05/2009 - 11:47h
Olá
Estou seguindo o tutorial e estou com as seguintes problemas:
- Consigo fazer o registro de usuários, mas não consigo acessar a internet em uma máquina da rede.
- O programa /usr/local/nocat/gw/bin/admintool retorna com os seguintes erros quando eu tento cadastrar um usuário:
[2009-05-12 10:53:36] Missing UserIDField directive required for NoCat::User object!
[2009-05-12 10:53:36] Missing UserPasswdField directive required for NoCat::User object!
[2009-05-12 10:53:36] Missing Database directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing DB_User directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing DB_Passwd directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing UserTable directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing UserIDField directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing GroupTable directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing GroupIDField directive required for NoCat::Source::DBI object!
[2009-05-12 10:53:36] Missing GroupAdminField directive required for NoCat::Source::DBI object!
Can't connect to data source '' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at /usr/local/nocat/gw/bin/../lib/NoCat/Source/DBI.pm line 18
Estou em uma máquina Debian, com o perl 5.8.8, apache 2.2.3.
[101] Comentário enviado por pardz em 09/06/2009 - 17:28h
Excelente Artigo!!!
Consegui instalar o Nocat sem problemas.
Agora estou com uma dúvida.
Eu não quero deixar para que os clientes se registrem para acessar, quero apenas fornecer um usuario e uma senha aleatoria que expira em X horas. Fiz um PHP que grava no banco tudo isso que eu quero, exceto o Password, por causa da criptografia usada.
Eu não sei qual é a criptografia que o Nocat usa, se soubesse isso ja poderia pesquisar como faria pro PHP traduzir.
Um exemplo de senha criada por ele: lueSGJZetyySpUndWjMBEg
essa senha seria: 111111
(6 vezes o numero 1)
[103] Comentário enviado por nelson junior em 18/10/2010 - 15:40h
como instalar o nocatauth no ubunto? em qual pasta colocar o arquivo ?
esses modelos de perl que estao no tutorial são os mesmos para o ubunto?
se vc poder me responder, muito obrigado amigo!!!
[104] Comentário enviado por fabiorvs em 08/11/2010 - 21:06h
Ola pessoal, uso nocat a um bom tempo e tenho uma duvida, é possivel gerar um log com a data, login, mac, ip do usuario? preciso gerar esse tipo de log por dia.
[105] Comentário enviado por raphaeldelucena em 11/11/2011 - 14:24h
Cara, excelente artigo!!!
Só que como sou novato em Linux, preciso de uma ajuda que pode parecer ridicula...
Quando tento startar o DHCP no Ubuntu, aparece a seguinte mensagem:
dhcpd self-test failed. Please fix the config file.
The error was:
Internet Systems Consortium DHCP Server V3.1.3
Copyright 2004-2009 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
bad range, address 192.168.10.12 not in subnet 192.168.10.10 netmask 255.255.255.255
root@nocat:~#
assim está no meu dhcpd.conf:
# A slightly different configuration for an internal subnet.
subnet 192.168.10.10 netmask 255.255.255.254 {
range 192.168.10.10 192.168.10.200;
option domain-name-servers 192.168.10.10,200.149.45.142 ;
# option domain-name "internal.example.org";
option routers 192.168.10.10;
option broadcast-address 192.168.10.255;
default-lease-time 600;
max-lease-time 7200;