Você está na página 1de 40

Verso 2.

S na 4Linux voc
aprende

MUITO MAIS!
2

Auditoria de Logs e
Autenticao Linux

IT Experience
Nesta Aula:
Usaremos os todos os
Servidores da Dexter:

Firewall

Audit

Mq. Interna

Objetivos da Aula
Implementao de sistema de monitoramento

Requisitos do Sistema

Configurao do LAMP

Instalao do PhpLogCon

Configurao do Syslog-NG

Configurao do PhpLogCon

Autenticando Usurio no PhpLogCon

Auditoria
5

Implementao de Sistema
de Monitoramento
Implementao de sistema de monitoramento
O "PhpLogCon" uma interface Web para o syslog e dados de
eventos de rede;
Ele fornece fcil navegao e algumas anlises bsicas de
eventos de rede em tempo real;
Dependendo dos aplicativos que alimentam o banco de dados,
ele pode processar mensagens syslog-ng, entradas de log de
eventos do Windows e os dados de interceptao SNMP.

Implementao de Sistema
de Monitoramento

1. Caso de Uso - Coleta de Logs de dispositivos de rede


Coleta e centralizao de log dos dispositivos de rede, como
roteadores, uma das implementaes mais comuns de
syslog-ng com phplogcon;
A configurao mais comum composto do servidor syslog-ng,
que recebe as mensagens de log via UDP ou TCP;
As mensagens acessadas no servidor syslog-ng podem ser
encaminhadas para o phplogcon sobre o protocolo TCP, por ser
mais confivel, ou armazen-los em arquivos simples para
serem lidos pelo prprio phplogcon depois.
7

Implementao de Sistema
de Monitoramento

1. Caso de Uso - Coleta de Logs de dispositivos de rede


As vantagens desta configurao so as seguintes:

Confiabilidade;

Performance;

Flexibilidade;

Para reduzir a perda de mensagem,


particularmente no caso de
transporte UDP, recomenda-se, se
possvel, que o servidor syslog-ng esteja
diretamente nos dispositivos de rede.
8

Implementao de Sistema
de Monitoramento
1. Caso de Uso - Coleta de Logs de dispositivos de rede

Recebendo logs UDP e TCP passando


por um Servidor Retransmissor
9

Implementao de Sistema
de Monitoramento
2. Caso de Uso - Alimentao de vrias ferramentas de
anlise
Muitas organizaes que implantam o phplogcon j possuem outras
formas de anlise dos seus logs;
O phplogcon tem a capacidade de transmitir dados para outros
sistemas em formato cru ou syslog utilizando o seu prprio fluxo de
sada de rede, podendo tambm encaminhar os dados em formatos
personalizados;
Uma vantagem de usar syslog-ng com phplogcon que ele pode
encaminhar eventos atravs de uma conexo criptografada fazer a
reformatao de mensagens (usando modelos) simultaneamente.

10

Implementao de Sistema
de Monitoramento
2. Caso de Uso - Alimentao de vrias ferramentas de
anlise

11

Implementao de Sistema
de Monitoramento
3. Caso de Uso - Armazenamento de Logs a longo prazo
Dependendo do tipo de mensagens de log a ser coletada,
as empresas so obrigadas a arquivar esses dados para
fins de conformidade;
Se as organizaes precisam analisar esses dados, e
manter

arquivado

de

forma

segura

syslog-ng,

juntamente com o phologcon, fornece uma soluo de


custo eficaz e conveniente.

12

Implementao de Sistema
de Monitoramento
3. Caso de Uso - Armazenamento de Logs a longo prazo

13

Implementao de Sistema
de Monitoramento
4. Caso de Uso phplogcon + syslog-ng na filtragem
avanada para reduzir a carga de dados em clientes
Muitos usurios usam o phplogcon para filtrar as mensagens
de log e reduzir as cargas de rede nos clientes;
Ao definir um caminho de log, o usurio pode inserir um filtro
para encaminhar mensagens com base em critrios
pr-definidos;
Esta filtragem avanada permite aos usurios sintonizar
finamente

nmero

de

mensagens

enviadas

para

phplogcon.
14

Implementao de Sistema
de Monitoramento
4. Caso de Uso phplogcon + syslog-ng na filtragem
avanada para reduzir a carga de dados em clientes

15

Configurao do LAMP
1. Apache e Php

Para comear instale os pacotes na maquina "Audit"para


criao do ambiente LAMP:
root@audit:~#
libapache2-mod-php5

aptitude
php5

install

php5-curl

php5-gd

apache2
php5-intl

php5-xmlrpc php5-mysql php-pear

O PHP5 ativado por padro durante a instalao do mdulo,


porm, caso necessrio habilite o suporte manualmente:
root@audit:~# a2enmod php5

16

Configurao do LAMP
1. Apache e Php

Em seguida, configure o arquivo php.ini conforme as


recomendaes do PhpLogCon:
root@audit:~# vim /etc/php5/apache2/php.ini
post_max_size = 16M
# linha 731 => alterar
upload_max_filesize = 100M
# linha 882
alterar
display_errors = On
magic_quotes_gpc = On
max_execution_time = 60

=>

E reinicie o servio do Apache para aplicar as mudanas:


root@audit:~# service apache2 restart
Restarting web server: apache2 ... waiting .

17

Configurao do LAMP
2. MySQL

Na mquina Datacenter acesse o prompt do MySQL e crie um


novo banco para gravar os Logs, e configure as permisses de
acesso ao usu- rio syslog:
root@datacenter:~# mysql -u root -p
mysql> create database Syslog;
mysql> grant all privileges on Syslog.* to syslog@'%'
identified by '4linux';
mysql> quit

18

Instalao do PhpLogCon
1. Na mquina Audit utilize o comando wget para baixar o fonte do
PhpLogCon:
root@audit:~#

wget

-c

http://download.adiscon.com/phplogcon/phplogcon-2.8.1
.tar.gz

2. Desempacote e descompacte a fonte no diretrio /usr/local:


root@audit:~#

tar

xzvf

phplogcon-2.8.1.tar.gz

-C

/usr/local/

19

Instalao do PhpLogCon
3. Copie o contedo do diretrio /usr/local/phplogcon-2.8.1/src
para /var/www/audit:
root@audit:~#

cp

-a

/usr/local/phplogcon-2.8.1/src

/var/www/audit

4. Em seguida crie o arquivo config.php no diretrio audit com


permisso de acesso para o usurio do Apache:
root@audit:~# touch /var/www/audit/config.php
root@audit:~# chown www-data /var/www/audit/config.php

20

Instalao do PhpLogCon
5. Agora, vamos criar a configurao do VirtualHost para o
PhpLogCon:
root@audit:~# vim /etc/apache2/sites-available/phplogcon
<VirtualHost audit.dexter.com.br:80>
DocumentRoot /var/www/audit
ServerName audit.dexter.com.br
ServerAdmin root@dexter.com.br
ErrorLog /var/log/apache2/phplogcon-error.log
CustomLog /var/log/apache2/phplogcon-access.log common
</VirtualHost>

21

Instalao do PhpLogCon
6. Para terminar, ative o site do PhpLogCon e reinicie o Apache
para aplicar as configuraes:
root@audit:~# a2ensite phplogcon
root@audit:~# service apache2 restart

22

Configurao do Syslog-NG
1. O primeiro passo a instalao do pacote que cria a ligao do
Syslog-NG com o MySQL:
root@audit:~# aptitude install libdbd-mysql

2. Em seguida, precisamos adicionar uma nova configurao para o


Syslog-NG gravar logs da maquina Dexter no banco de dados MySQL
root@audit:~# vim /etc/syslog-ng/syslog-ng.conf
### Destino dos Log no banco de dados MySQL da maquina
Datacenter
destination d_mysql {
sql(type(mysql)
host("192.168.200.2")
username("syslog")
password("4linux")
database("Syslog") table("SystemEvents")
# --------------------------------------------------#

23

columns("ID int unsigned not null auto_increment primary


key","ReceivedAt datetime NULL", "DeviceReportedTime datetime
NULL", "Facility smallint NULL","Priority smallint
NULL","FromHost varchar(60) NULL", "Message text","InfoUnitID
int NULL","SysLogTag varchar(60)", "CustomerID
bigint","NTSeverity int NULL","Importance int
NULL","EventSource varchar(60)","EventUser varchar(60) NULL",
"EventCategory int NULL","EventID int NULL","EventBinaryData
text NULL","MaxAvailable int NULL","CurrUsage int
NULL","MinUsage int NULL", "MaxUsage int NULL","EventLogType
varchar(60)","GenericFileName VarChar(60)","SystemID int NULL")
values("","$R_ISODATE",
"$S_ISODATE","$FACILITY_NUM","$LEVEL_NUM","$HOST",
"$MSGONLY","1","$MSGHDR","","","","","","","","","","","",""
,"","","")
indexes("ID","ReceivedAt","Facility","Priority","FromHost","
SysLogTag",));
};
### Logs das maquinas da Dexter
log { source(maqremotas); destination(d_mysql); };
log { source(src); destination(d_mysql); };

24

Configurao do Syslog-NG
Descrio das diretivas

sql: Define o tipo de base de dados onde o Syslog-NG ira gravar


os Logs;

host: IP da maquina que contem o servidor MySQL;

username: Nome do usurio que possui permisses de acesso a


tabela;

password: Senha do usurio que possui permisses de acesso a


tabela;

database: Nome da banco onde o Syslog-NG ira gravar os Logs;

25

Configurao do Syslog-NG
Descrio das diretivas

table: Nome da tabela onde o Syslog-NG ira gravar os Logs;

columns: Nome do campos na tabela que armazena os Logs;

values: Valores gravados na tabela que armazena os Logs

indexes: Define quais registros com valores de colunas sero


encontrados rapidamente.

3. Feitas as alteraes, reinicie o servio do Syslog-NG para


aplicar as novas configuraes
root@audit:~# service syslog-ng restart

26

Configurao do PhpLogCon
Acesse o PHPLogCon no endereo http://audit.dexter.com.br
em uma mquina interna da rede e siga as etapas para
configurao do PhpLogCon:
1. O erro que aparece normal e faz parte da configurao,
clique em here para configurar o phplogcon;

27

Configurao do PhpLogCon
2. Agora o instalador verificar se o sistema tem os pr-requisitos
necessrios para rodar o programa. Clique em Next para continuar;

28

Configurao do PhpLogCon
3. Um teste foi feito para saber se o PHPLogCon tem acesso de escrita
no arquivo config.php, criado e definido com as permisses para o
usurio www-data. Clique em Next para continuar;

29

Configurao do PhpLogCon
4. Nesta tela possvel alterar algumas configuraes, como nmeros
de mensagens, caracteres, etc. Deixe como padro e clique em Next
para continuar;

30

Configurao do PhpLogCon
5. Aps preencher os dados, clique em Next para continuar;

31

Configurao do PhpLogCon
Acabamos de implementar um sistema de monitoramento em tempo
real para os servidores da empresa DEXTER.

32

Autenticando Usurios
no PhpLogCon

1. Abra o arquivo do site padro do Apache e adicione a


configurao no final do arquivo (vide slide a seguir):

33

root@audit:~# vim /etc/apache2/sites-available/phplogcon


<VirtualHost audit.dexter.com.br:80>
DocumentRoot /var/www/audit
ServerName audit.dexter.com.br
ServerAdmin root@dexter.com.br
ErrorLog /var/log/apache2/phplogcon-error.log
CustomLog /var/log/apache2/phplogcon-access.log
common
</VirtualHost>
<Directory "/var/www/audit">
AuthType Basic
AuthName "Area de Monitoramento DEXTER - Acesso
Restrito"
AuthUserFile
/var/www/audit/.password
Require valid-user
</Directory>

34

Configurao do PhpLogCon
2. Crie uma senha para o usurio admin e grave no arquivo
oculto /var/www/audit/.password:
root@audit:~#

htpasswd

-c

/var/www/audit/.password

admin

3. Restarte o Apache para aplicar as configuraes:


root@audit:~# service apache2 restart

4. Acesse o PHPLogCon no endereo http://audit.dexter.com.br e


entre com o usurio admin e a senha criada.

35

Configurao do PhpLogCon

36

Auditoria
Lastcomm
1. Instale o pacote acct, que o pacote que traz o comando
lastcomm:
root@audit:~# aptitude install acct

2. Teste o lastcomm de maneira geral:


root@audit:~# lastcomm

3. Teste o comando para somente um usurio da seguinte


maneira:
root@audit:~# lastcomm root
root@audit:~# lastcomm toor

4. Pode-se tambm fazer a consulta pelo comando no lugar do


usurio:
root@audit:~# lastcomm ls

37

Auditoria
Snoopy
1. Para comear, vamos instalar o snoopy:
root@audit:~# echo "deb http://www.backports.org/debian
squeeze-backports
main
contrib
non-free"
>>
/etc/apt/sources.list
root@audit:~# aptitude update
root@audit:~# aptitude install snoopy

Ao compilar ainda precisamos incluir a chamada de uma


biblioteca em um arquivo.
# echo "/usr/local/lib/snoopy.so" > /etc/ld.so.preload
# cat /etc/ld.so.preload

38

Auditoria
Snoopy
2. Com um usurio qualquer, digite alguns comandos e
visualize nos logs os registros do snoopy:
root@audit:~# tail -f /var/log/auth.log

39