Portal de autenticação wireless (HotSpot)
Construção de um portal de autenticação Wireless do tipo HotSpot, utilizando o projeto Nocat.
Parte 4: 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:
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.
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.
(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.
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.