Hello modafokers!!!
Hoje vou resumir neste post,uma forma simples de realizar um centralizador de log's e filtrando acessos a compartilhamentos seja Window$ ou linuX :) Para isso vamos imaginar o seguinte cenário onde nosso Objetivo é receber LOG'S de acesso de uma determinada rede ou Estação de Trabalho, consequentemente podendo filtrar pesquisa a outros recursos da maquina em nosso caso compartilhamento.
Laboratorio:
* Servidor linux: Fileserver ( Servidor de Arquivos Samba )
* Servidor linux: SRV-Auditoria ( Loganalyser+Mysql+PHP+Rsyslog)
* Clientes Window$ e Linux.
DevOp's:
Para estudar o recebimento dos log's foi realizado a seguinte organização lógica.
Servidor Auditoria: 192.168.25.9
Servidor de Arquivos Samba: 192.168.25.9
Clientes Maquinas: 192.168.25.0/24
Obs: esta rece foi montada sem regras de FIREWALL, abaixo vou listar as portas que são importantes para determinados serviços se comunicarem, caso possua um Fw em sua rede deverá realizar a abertura das seguintes portas: http: 80 / Mysql: 3306 / smb: 445 / Rsyslog: 514. firmeza? depois que você conferir regras de comunicação entre as maquinas, sem delongas a ordem de execução das atividades:
Obs: em meu caso coloquei o servidor de log (loganalyser) no mesmo servidor onde se encontra os arquivos, mas isto fica a seu critério ok? :)
1- Instalando Servidor LAMP
No MEU CASO optei pela distribuição Debian, onde fiz a instalação do LAMP , SAMBA ,Rsyslog no mesmo servidor.
2- Instalando SAMBA
em seu servidor crie dentro da "home" uma pasta MAE chamada Empresa e dentro dela insira 2 setores administrativo e outro o financeiro. a Pasta Empresa será diretório matriz para organização das subpastas.
Grupos: grupo de permissão de acesso a pasta.
Usuarios: serão usuarios a acessar compartilhamento.
Setores: os setores da empresa aqui serão as pastas compartilhadas.
no rootshell do servidor digite:
$ Groupadd administrativo
$ Groupadd financeiro
no rootshell do servidor digite:
$ adduser kembolle
$ adduser Cliente
agora temos que criar os 2 usuarios no samba tambem para acessar os compartilhamentos.
no rootshell do servidor digite:
$ smbpasswd -a kembolle
$ smbpasswd -a cliente
agora vamos setar permissões de acesso onde kembolle acessa a pasta financeira e o cliente a pasta administrativa . a lógica é a seguinte:
chown [opção] [usuário dono].[grupo que acessa] [diretório/pasta]
no rootshell do servidor digite:
$ chown kembolle.administrativo /home/empresa/administrativo
$ chown cliente.financeiro /home/empresa/financeiro
então temos administrativo e financeiro criados!!!! Homes, print$ , public são padrões dentro de smb.conf que você pode desabilita-los.
agora com os compartilhamentos funcionando perfeitamente e testado a permissão dos usuarios vamos realizar a configuração do rsyslog para monitorar este diretório compartilhado neste momento temos um Jump the CAT :D
" o parâmetro vfs object = full_audit deve ser inserido na propriedade do compartilhamento em SMB.conf "
por exemplo:
# Compartilhamentos Empresa .
[Financeiro]
comment = Financeiro
path = /home/empresa/financeiro
read only = no
browseable = yes
writeable = yes
valid users = @kembolle
force group = financeiro
force create mode = 0770
force directory mode = 0770
vfs object = full_audit
firmeza? se quiser conhecer mais sobre o recurso full_audit e demais configurações avançadas no samba,você pode consultar aqui para maiores informações. :)
3- Instalando o RSYSLOG
Antes de mais nada instale o pacote chamado rsyslog-mysql, que irá solicitar integração com SGDB syslog criando 2 tabelas : SystemEvents, SystemEventsProperties conforme print abaixo:
no rootshell do servidor digite:
$ sudo aptitude install rsyslog-mysql
Um ótimo tutorial explicando a instalação do Rsyslog server é a do Tecadmi.net é necessario para que o Loganalyser receba os as mensagens você habilitar as portas e serviços do recurso que se encontra em /etc/rsyslog.conf .
# provides UDP syslog reception
# $ModLoad imudp
# $UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
# $ModLoad imudp
# $UDPServerRun 514
APAGUE as tralhas em vermelho #, e insira as linhas abaixo:
# Auditoria enviada para loganalyser
vfs objects = full_audit
full_audit:success = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice
# Auditoria SMB
local5.notice /var/log/samba-full_audit.log
e por fim, onde tiver #*.*;auth,authpriv.none -/var/log/syslog
mude para *.*;local5,auth,authpriv.none -/var/log/syslog
e salve o arquivo rsyslog.conf. pronto passo é reiniciar o serviço.
no rootshell do servidor digite:
$ service rsyslog restart
$service rsyslog status
2º Instalando e configurando Loganalyser
Melhor tutorial que achei sobre a instalação do Loganalyser, é a do Tecadmi.net .
neste ponto se você fez a instalação corretamente do Loganalyser com certeza você irá cair no painel de administração e já conseguirá visualizar os Log's sendo recebidos.
Print: Em nosso exemplo temos uma estação de trabalho windows acessando compartilhamento linux e os dados sendo registrados pelo loganalyser.
Sem Usuarios:
Com Usuarios:
Em um proximo tutorial vou apresentar como receber log's de estações de trabalho windows com o Loganalyser. forte abraço []'s (:
Fontes:
* http://www.profissionaisti.com.br/2015/09/auditoria-e-rotacionamento-de-logs-em-servidores-de-arquivos-linux/
* http://wiki.fabriciovc.eti.br/doku.php/linux/artigos/samba-fullaudit
* http://rareboucas.blogspot.com.br/2010/10/auditoria-de-acesso-no-samba-no-linux.html