Spawnzao

Author Archive

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

Configurar o Fail2ban no Centos 7

by on Jun.12, 2015, under Linux, Selinux, Software Livre

Manter um servidor hoje na internet requer alguns recursos mínimos de segurança, e hoje vamos configurar o Fail2ban, uma ótima ferramenta para evitar atauqes de força bruta no servidor.
O fail2ban fica auditando os arquivos de logs, procurando por múltiplos erros de login, e caso encontre 5 erros seguidos ele executa uma action, que normalmente é um bloqueio do ip de origem por 600 segundos. Podemos também configurá-lo para toda vez que ocorra um bloqueio ele nos informe por e-mail e também nos diga um WHOIS desse ip, para termos mais informações sobre o ip atacante.

A nova versão do Fail2ban além de ficar muito mais robusta e completa, trás suporte a multiplos serviços, como por exemplo: apache, modsecutiry, proftpd, vsftpd, mysqld, dentre outros, importantíssimo para manter a segurança de nossos servidores.

Instalar o Repositório epel:


yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

Instalar os pacotes do Fail2ban:


yum install fail2ban-systemd fail2ban-sendmail fail2ban-server whois

Eu não utilizo o Firewalld, mas quem utiliza precisa instalar o pacote:


yum install fail2ban-firewalld

Antes de fazer a nossa configuração, precisamos acertar um erro no arquivo jail.conf, que impede que o sistema envie e-mail caso haja algum bloqueio.

(continue reading…)

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

Forcar replicação entre Controladores de domínio Windows Server 2008

by on Dec.15, 2014, under Software Livre

Quando trabalhamos com diversos controladores de domínio no Windows Server, é necessário que as configurações de replicação do NTDS (NT Directory Service) estejam corretas, para que as replicações ocorram corretamente. Além disso, quando trabalhamos com diversos controladores em mais de um site ou em uma floresta, essa configuração é ainda mais importante, pois muitas das vezes os controladores não possuem roteamento para todos os outros controladores, já que normalmente as VPN’s são criadas para interligar as filiais na matriz, e as filiais acabam não tendo acesso as outras filiais.

O Windows Server cria a replicação automática, denominada ““, entre os controladores, entretanto é necessário verificar se esses 2 controladores realmente possuem acessoum ao outro, e caso não possua, remover a conexão criada automática e criar uma nova conexão entre os Controladores que se enxergam.

(continue reading…)

Leave a Comment 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 Barnyard2 (Snort) no CentOS 7 – Continuação

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

Dando continuidade ao artigo anterior (Instalando o Snort (NIDS) no CentOS 7), vamos agora instalar o Barnyard2, responsável por vigiar a inclusão de novos registros no arquivo de log do Snort e enviá-los para um Banco de Dados, no nosso caso vamos utilizar o Mysql ou MariaDB no CentOS 7.

Vamos instalar as dependências:


yum install mariadb-devel mariadb-server

Criar uma pasta temporária para compilar o Barnyard2:
(continue reading…)

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

Configurar Servidores de NTP (Linux) – parte 2

by on Aug.08, 2014, under Software Livre

Continuando o artigo anterior, já temos o nosso Servidor Windows rodando o Active Directory com a hora atualizada com os servidores NTP do www.ntp.br Oficiais:

  • a.st1.ntp.br
  • b.st1.ntp.br
  • c.st1.ntp.br
  • d.st1.ntp.br
  • a.ntp.br
  • b.ntp.br
  • c.ntp.br
  • gps.ntp.br

Agora vamos configurar os nossos servidores Linux para sincronizar o NTP com o Servidor principal de NTP interno, que no nosso tutorial é o domainserver.local.seweb.corp, no qual possui o Active Directory.

Abaixo segue a topologia sugerida:

ntp_infraestructure_linux
(continue reading…)

Leave a 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