Spawnzao

Tag: centos 7

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...

Corrigir a permissão da pasta winbindd_privileged

by on Dec.15, 2014, under Linux, Samba, Software Livre, Squid

Quando utilizamos o Squid autenticando usuários ou grupos no Active Directory, temos a possibilidade de fazê-lo utilizando o serviço winbindd.

Entretanto a permissão default da pasta /var/lib/samba/winbindd_privileged está incorreta e não permite que o squid tenha acesso, além disso se você alterar a permissão para squid:squid ou para o modo 777, o serviço winbindd não aceitará a configuração e dará o seguinte erro: “invalid permissions on socket directory /var/lib/samba/winbindd_privileged”.

Para corrigirmos o problema teremos que acertar as configurações da pasta “/var/lib/samba/winbindd_privileged”, para que então os serviços winbindd e squid funcionem perfeitamente.

(continue reading…)

3 Comments :, , , , , , , , , more...

Alterar porta do SSH no CentOS 7

by on Dec.11, 2014, under Iptables, Linux, Selinux, Software Livre

A porta default do SSH (tcp 22) recebe uma quantidade enorme de ataques, e a maioria delas podem ser evitadas modificando a porta de acesso do SSH.

Nesse tutorial vamos ver o passo a passo completo para alterarmos a porta de acesso do serviço SSH.

Primeiro vamos editar o arquivo de configuração do SSH, para isso digite:


vim /etc/ssh/sshd_config

Vamos alterar a porta que default é 22 para 2242:

Port 2242

(continue reading…)

5 Comments :, , , , , , , , , , , , , more...

Resolvendo o problema de assinaturas do Snort chamados “Snort Alert [gid:sid:revision]” no Banco de Dados

by on Aug.23, 2014, under Linux, snort, Software Livre

Pessoal, mais um artigo que complementa a série de artigos sobre o Snort.

O Barnyard2 utiliza o arquivo sid-msg.map para indexar a descrição dos eventos do Snort, e quando ativamos algumas regras que não estão no arquivo sid-msg.map o Barnyard2 gera um erro no syslog e consequentemente adiciona no Banco de Dados uma descrição padrão: “Snort Alert [gid:sid:revision]”.

Segue o erro do syslog:

Aug 18 06:43:51 snort barnyard2: INFO [dbProcessSignatureInformation()]: [Event: 157] with [gid: 1] [sid: 21355] [rev: 3] [classification: 4] [priority: 2]
Aug 18 06:43:51 snort barnyard2: was not found in barnyard2 signature cache, this could lead to display inconsistency.
Aug 18 06:43:51 snort barnyard2: To prevent this warning, make sure that your sid-msg.map and gen-msg.map file are up to date with the snort process logging to the spool file.
Aug 18 06:43:51 snort barnyard2: The new inserted signature will not have its information present in the sig_reference table.
Aug 18 06:43:51 snort barnyard2: Note that the message inserted in the signature table will be snort default message “Snort Alert [gid:sid:revision]”
Aug 18 06:43:51 snort barnyard2: You can allways update the message via a SQL query if you want it to be displayed correctly by your favorite interface

Para resolver o problema vamos atualizar o arquivo sid-msg.map.

(continue reading…)

Leave a Comment :, , , , , , , more...

Criando um Script de Inicialização do Barnyard2 para o SystemD / SystemD service file (continuação)

by on Aug.19, 2014, under Linux, snort, Software Livre

Bom pessoal,

Quem seguiu até o último tutorial deve ter percebido que o script de inicialização do Barnyard2 fica no diretório /etc/init.d/, como o CentOS 7 está descontinuando essa forma de trabalho, o script está dando alguns erros, mas mesmo assim o barnyard2 é iniciado. Entretanto, podemos abandonar esse script de inicialização e criarmos um novo script para iniciarmos o Barnyard2 com o SystemD e já utilizarmos algumas melhorias que a ferramenta oferece, como por exemplo: dependência do serviço do Mysql (MariaDB) e reinicialização automática caso o serviço pare de funcionar. ;D
(continue reading…)

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

Instalando o Snort (NIDS) no CentOS 7

by on Aug.09, 2014, under Linux, snort, Software Livre

Hoje nenhum administrador de redes pode abrir mão da segurança da rede que administra, pensando nisso fiz esse tutorial explicando passo a passo a instalação e configuração do Snort um NIDS (network intrusion detection system) e em NIPS (network intrusion prevention system).

No nosso tutorial vamos supor o seguinte cenário:

snort_mirror

Na imagem acima, vemos que é feito um mirror (espelho) de 3 portas importantes, 1 do firewall (interface interna) e 2 do cluster do XenServer (interface interna), no qual reside todos os servidores virtuais, consequentemente todo tráfego é direcionado para a segunda interface de rede do nosso servidor, no qual eth0 é a interface conectada a rede local e a eth1 é a interface que vai receber o tráfego a ser analisado. A interface eth1, que vai receber o tráfego a ser analisado, não terá configuração ip, a fim de evitar a mistura de tráfegos.
(continue reading…)

4 Comments :, , , , , , , , , , , 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