Spawnzao

PHP

Captive Portal completo com o Squid no CentOS 7

by on Jan.17, 2016, under Iptables, Linux, PHP, Selinux, Software Livre, Squid

O captive portal para redes wireless são uma mão na roda, ainda mais em redes que utilizam autenticação ntlm ou outra autenticação via navegador. Entretanto, por mais que existam diversos captive portal disponíveis na internet, as vezes eles não se adequam perfeitamente as nossas necessidades, uns por se focarem em lan houses, outros por não serem compatíveis com nossa base de usuários (ex: ldap, mysql, sqlserver, …), outros por não terem um log completo de todos os acessos dos usuários, dentre outros problemas.

captiveportal

Então, utilizando o squid montei um captive portal, dividido em 3 partes.

No squid temos 2 scripts que fazem a verificação dos usuários autenticados e seus determinados ips, o primeiro script verifica se o ip da máquina está autenticado, caso não esteja, retorna HTTP Status Code 302 (redirecionamento) e a url do captive portal para o usuário se autenticar, caso o ip esteja autenticado ele prossegue a url desejada. No segundo script, verificamos novamente se o ip está autenticado, caso ele não esteja, retorna erro para o squid e a navegação é negada, caso ele esteja autenticado, ele busca no banco de dados o usuário e informa para o squid para que a sessão seja logada, impedindo que os acessos fiquem sem um usuário responsável. O squid está configurado em modo transparente, nas portas http (3128) e https (3129), entretanto no https estamos utilizando para tunelar todas as conexões, caso deseja abrir as conexões essa configuração deverá ser feita a parte. O firewall, captura todas as conexões de portas conhecidas e redireciona para o squid, as que utilizam texto plano, como por exemplo o telnet (porta 23), são redirecionadas para a porta 3128 e as conexões critografadas, como por exemplo o ssh (porta 22), são redirecionadas para a porta 3129. Com isso não saberemos qual a url acessada e qual o conteúdo, mas o ip e a porta para aquele determinado usuário estará salvo.

Para armazenar as sessões dos usuários autenticados utilizo o mysql, nele temos 3 tabelas, a primeira é a sessions, que armazena as sessões dos usuários autenticados, a segunda é a logs, que armazena tudo que acontece no captive portal e por último a tabela disallow, que armazena os usuários bloqueados, que não conseguirão fazer a autenticação no portal, tem como objetivo bloquear usuários coringas, convidados, usuários que violaram os termos de uso, dentre outros.

E por último o portal web que realiza a autenticação dos usuários, desenvolvido em PHP e subdividido em 2 partes, a primeira que realiza a verificação do nome e senha do usuário na base de dados LDAP e a segunda que realiza o gerenciamento das sessões, logs e usuários bloqueados utilizando o banco de dados mysql.

Deixar um pouco de conversa e colocar a mão na massa.

(continue reading…)

14 Comments :, , , , , , , , , , , , , more...

Falha de Segurança PhpMyAdmin – Análise

by on Jan.14, 2011, under Linux, PHP, Software Livre

Essa é uma simples análise de um problema no servidor de um cliente, abaixo seguem os passos que eu segui para descobrir o que estava acontecendo.

O primeiro passo foi abrir o Cacti e visualizar o estado do servidor, e ai a primeira surpresa: os 2 processadores estavam com 100% de processamento. Obviamente algo anormal estava acontecendo.

O segundo passo foi acessar o servidor e descobrir qual o processo estava consumindo o processamento da máquina. Para isso utilizei o comando:

top

E para minha surpresa um processo chamado ./s rodando com o usuário apache estava consumindo todo o processamento do servidor, por ai já dava pra perceber que o servidor estava de alguma forma vulnerável.

(continue reading…)

1 Comment :, , , , , , , , , , , , , more...

Template do Cacic para o Cacti – Continuação

by on Jun.22, 2010, under Cacic, Cacti, PHP, Software Livre

Após 1 ano, dá pra se ter uma real noção do comportamento dos agentes do Cacic nas máquinas.

De acordo com que as máquinas vão sendo ligadas, elas vão automaticamente se atualizando e consequentemente voltando para o estado verde, enquanto que as máquinas que permanecem desligadas ou fora da rede, vão cada vez mais se aproximando da cor vermelha e ficando preto.

Segue mais alguns gráficos do Cacic.

6 Comments :, , , , , , , more...

Template do Cacic para o Cacti

by on Jun.15, 2009, under Cacic, Cacti, PHP, Software Livre

No começo desse ano no trabalho definimos algumas metas, dentre elas está o Cacic um Sistema de Inventário de Hardware e Software.

O Cacic é uma ferramenta muito poderosa, capaz de fornecer um diagnóstico preciso do parque computacional, disponibilizando informações centralizadas como o número de equipamentos e sua distribuição nos mais diversos órgãos, configurações de hardware, atualizações de segurança, entre outras. Também pode fornecer informações patrimoniais e a localização física dos equipamentos, ampliando o controle do parque computacional e a segurança na rede.

Hoje o Cacic não roda com 100% de suas funcionalidades, mas atende nossas necessidades. E quanto gerenciamos algum serviço ou equipamento de informática acabamos tendo outras necessidades, como gerenciar esse gerenciador? Nós Administradores de TI somos muito ocupados, vivemos correndo atrás do tempo e na maior parte do tempo não temos tempo para gerenciar nossos gerenciadores.

E é ai que apresento o Cacti um completo frontend para RRDTool, ele recolhe, armazena e exibe essas informações em forma de gráficos, pode ser utilizado para gerar gráficos do uso de CPU, memória, disco, rede, etc… Utilizo o Cacti como o gerenciador que monitora todos os servidores(Linux e Windows), ativos de rede (switchs, roteadores, etc…), serviços (Apache, Mysql, DHCP, etc…) e outros gerenciadores(Cacic). Mas isso fica para um outro post.

Voltando ao assunto principal, como gerenciar esse gerenciador? Então tive a idéia de criar templates do Cacic para o Cacti que atualmente monitora toda a minha rede, é nele que descubro que meu servidor está precisando de mais memória, quando meu link de internet está no gargalo, quando meu servidor fica mais ocioso.

No primeiro gráfico, criei um monitoramento da atualização dos agentes:

Cacic Semanal

Cacic Mensal

Esse é o primeiro gráfico do cacic em breve virão mais, aceito sugestões de gráficos para cacic 😀

Para baixar o zip com os arquivos clique aqui.

1 Comment :, , , , , , , more...

Licença

Creative Commons License

Techs

 Blog Tool, Publishing Platform, and CMS
Powered by PHP
Powered by MySQL
Mozilla Foundation
hacker emblem
Mozilla Foundation
Open Source Initiative
Creative Commons