Pular para o conteúdo

Gateway autenticado com Apache, Iptables e CGI em shell

Procurando uma solução que fosse ao mesmo tempo simples de ser implementada e de grande eficiência comparados aos gateways mais sofisticados que empregam bancos de dados e etc, cheguei a esta solução ideal para ser usada em provedores wireless ou a cabo. Ela ainda está em desenvolvimento e dada a sua enorme simplicidade de seu conceito pode servir de base para projetos mais elaborados.
Carlos Affonso Henriques. capitainkurn
Hits: 90.240 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

Preparando o Apache

Primeiramente criaremos o grupo e usuário "apache", pois na distro que implementei o gateway ele não existe por default, no caso o Slackware 11.0.

# groupadd -g 48 -o apache
# useradd -u 48 -o -g apache -d /mnt/sda6/httpd -s /bin/false apache


Agora editaremos nosso /etc/apache/httpd.conf e faremos as seguintes alterações:

#Adicionamos os parâmetros de usuário
User apache
Group apache

#Especifique o diretório onde está seus documentos
DocumentRoot "/mnt/sda6/httpd"

#No parâmetro <Directory...> faça o mesmo.
<Directory "/mnt/sda6/httpd">

   1. Preparando o Apache
   2. Configurando o SSL no Apache
   3. A topologia da rede
   4. O firewall
   5. A página de autenticação
   6. O arquivo de contas
   7. O script CGI de autenticação
   8. O script para desfazer a autenticação
   9. A tabela ARP estática
   10. O controle de banda
   11. Notas e agradecimentos

Docker - Combatento o COVID-19

Enviando e-mail pelo shell com smtp remoto

O que é ForceCommand

Filtro de conteúdo autenticado com níveis de privilégio

Sistema de arquivos criptografado

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

Utilização Segura do SSH

Biometria facial na autenticação do usuário root

Metaspoit: Brute force + invasão com meterpreter encriptado com RC4

webCalendar: a agenda e o PAM

#1 Comentário enviado por removido em 27/07/2007 - 15:57h
Olá Amigo,

Bom, para deixar seu artigo ainda mais rico eu gostaria de dar uma opinião! No caso de um hijack bem feito (roubo de seção), quando o cliente cai e em seguida entra o hijack seu arping vai consultar ele tranqüilamente! Concorda!? Espero que sim, pois eu já fiz testes com isso e infelizmente da certo! A solução é simples, ao invés de fazer o servidor consultar quem está de pé ou não, o que dependendo do número de estações tem um tempo elevado, eu sugiro mudar para o comando at. Como já uso o servidor Radius, foi fácil, no comando AT eu agendo uma verificação pra saber se o IP tal é do fulano de tal conectado no radius, aí sim, se não for a regra dele é derrubada! Pra substituir o uso do radius, pode-se pensar em cookie, por exemplo!

T+
#2 Comentário enviado por capitainkurn em 27/07/2007 - 17:50h
Boa! nem havia me ocorrido o at.

Quando elaborei aquele while de arping, pensei em coloca-los isoladamente rodando sob um shell filho do mac_accept4.cgi que seria chamado em background, mas esbarrei em um problema... não entendí ainda o por que de não conseguir rodar um loop em um shell filho a partir de um CGI, mas é uma coisa que estou bolando e a sua idéia do at foi grande.
Obrigado pela dica, e espero que tenha gostado do artigo.
#3 Comentário enviado por fabiorvs em 22/04/2008 - 19:07h
Ola tem como fazer a autenticação só por usuário, sem o MAC e ip, pois trabalho em uma faculdade e preciso cadastrar todos os alunos.
#4 Comentário enviado por capitainkurn em 23/04/2008 - 10:03h
É mais fácil ainda, a única razão para eu atrelar o ip ao mac address é o controle de banda, pois provedores em geral possuem planos de velocidade diferentes e se não houver vínculo entre o IP e o login e senha o usuário poderia configurar um IP manualmente e usar uma velocidade maior do que a contratada.
#5 Comentário enviado por cleibson em 03/05/2009 - 22:57h
Como o cliente será diretionado para autenticação, sendo que não há nenhuma regra redirecionando sua navegação para a porta 443 obrigando-o a autenticar antes de navegar
#6 Comentário enviado por removido em 06/05/2010 - 09:29h
òtima dica para o combate de ataques do TIPO MITM, originados por arpspoof.
#7 Comentário enviado por douglassironi em 28/06/2011 - 18:38h
Sobre a questão de atrelar MAC, podemos fazer isso com PHP, no momento que o cliente se cadastra e cria seu usuario e senha, podemos tranquilamente pegar o MAC dele com a função, abaixo tem um link explicando como fazer.

http://scriptbrasil.com.br/forum/index.php?showtopic=70543

No momento que o usuario/cliente se cadastrar, pode ser gerado o arquivo do DHCP atrelando um ip para o mac capturado.

Recomendo ultilizar um banco de dados para salvar as informações dos clientes/usuarios.
O freeradius tem as tabelas prontas em vários tipos de BD.

Qualquer duvida, estou a disposição.
contato@douglassironi.com

Contribuir com comentário

Entre na sua conta para comentar.