Osiris - Integridade do sistema de arquivos

Osiris é um sistema integrado de monitoração de hosts que periodicamente monitora as alterações em um ou mais hosts. Mantém registros detalhados das mudanças do sistema de arquivos, do usuário e grupo, dos módulos residentes no kernel e muito mais. Aprenda como instalar este fantástico aplicativo que roda em Linux e Windows.

[ Hits: 27.281 ]

Por: Gilberto Russo em 30/06/2007


Configurando o servidor Osiris



2.6. Configurando o servidor Osiris

Abaixo as descrições dos arquivos e diretórios de configuração:
  • osirismd.conf: Arquivo de configuração principal do osiris, encontra-se no diretório /usr/local/osiris.
  • configs: Diretório "configs" contém arquivos padrões de configuração básica, encontra-se no diretório /usr/local/osiris.
  • certs: Diretório do certificado para transferência de dados, encontra-se no diretório /usr/local/osiris.
  • private: Diretório onde se encontra o arquivo de autenticação para o sistema de gerenciamento, esse arquivo encontra-se no diretório /usr/local/osiris.
  • auth.db: Arquivo que contém o usuário e a senha do administrador do Osiris, encontra-se no diretório /usr/local/osiris/private.
  • host.conf: Arquivo de configuração do host, onde é definido, ip, descrição, chave, log, agendamentos, etc. Este arquivo encontra-se em "/usr/local/osiris/nome_do_host/".
  • databases: Diretório que contém todas as bases de dados geradas pelo host e gravadas no servidor. Essas informações são gravadas em /usr/local/osiris/databases/.
  • logs: Diretório onde estão localizados todos os arquivos que contem as diferenças entre as bases de dados.

O Osiris tem uma ferramenta que auxilia a configuração do servidor:

# osiris
Osiris Shell Interface - version 4.1.8-release
unable to load root certificate for management host:
(/root/.osiris/osiris_root.pem)
>>> fetching root certificate from management host (127.0.0.1).

The authenticity of host '127.0.0.1' can't be established.

[ server certificate ]

subject = /C=US/CN=Osiris Management Console/OU=Osiris Host Integrity System
issuer = /C=US/CN=Osiris Management Console/OU=Osiris Host Integrity System

key size: 2048 bit
MD5 fingerprint: DC:D9:6F:A3:60:E0:9F:4D:DB:FF:BB:E6:05:ED:24:E1

Verify the fingerprint specified above.
Are you sure you want to continue connecting (yes/no)? yes
>>> authenticating to (127.0.0.1)

User: admin
Password:

connected to management console, code version (4.1.8-release).
hello.

WARNING: your password is empty, use the 'passwd' command
to set your password.

osiris-4.1.8-release:

O próprio sistema manda um warning dizendo que a senha deve ser trocada porque se encontra vazia no momento. Para efetuar essa alteração, execute o comando "passwd", que será pedido o nome e depois a senha.

# passwd
User: admin
Password:
>>> user: (admin) updated.
osiris-4.1.8-release:

Para verificar quais comandos podem ser utilizados nesse aplicativo podemos consultar o help.

Como configuração padrão de sistema, somente localhost (127.0.0.1) está liberado para ter acesso ao servidor. Portanto é preciso editar a configuração principal do Osiris para a liberação das redes necessárias.

osiris-4.1.8-release: edit-mhost
[ edit management host (127.0.0.1) ]
> syslog facility [DAEMON]:
> control port [2266]:
> http control port [0]:
> notify email (default for hosts) []:
> notification smtp host [127.0.0.1]:
> notification smtp port [25]:
> authorized hosts:
127.0.0.1
Modify authorization list (y/n)? [n] y
s) show current listing.
a) add a new authorized host.
r) remove authorized host.
q) quit
> a
> authorized hostname/IP (*=wildcard): 172.47.0.*

No caso acima foi adicionado a rede 172.47.0.* na lista de hosts autorizados a se conectar ao server.

s) show current listing.
a) add a new authorized host.
r) remove authorized host.
q) quit
> q
[ management config (127.0.0.1) ]
syslog_facility = DAEMON
control_port = 2266
http_port = 0
http_host =
notify_email =
notify_app =
notify_smtp_host = 127.0.0.1
notify_smtp_port = 25
hosts_directory =
allow = 127.0.0.1
allow = 172.47.0.*
Is this correct (y/n)? y
>>> management host configuration has been saved.

Pronto, o servidor já esta configurado para receber os hosts. Inicie o agent na máquina cliente para podermos adicionar a mesma ao server. Antes reinicie os serviços.

# /etc/init.d/osirisd stop

# /etc/init.d/osirisd start

Continuando a configuração, entre novamente no aplicativo de configuração para adicionar um novo host a ser verificado.

osiris-4.1.8-release: new-host
[ new host ]
> name this host []: sua_empresa
> hostname/IP address []: 172.47.0.215
> description []: Fedora
> agent port [2265]:
> enable log files for this host? (yes/no) [no]: yes
Scan Databases:
=> keep archives of scan databases? Enabling this option means that the database generated with each scan is saved, even if there are no changes detected. Because of disk space, this option is not recommended unless your security policy requires it. (yes/no) [no]: yes
=> auto-accept changes? Enabling this option means that detected changes are reported only once, and the baseline database is automatically set when changes are detected. (yes/no) [yes]:
=> purge database store? Enabling this option means that none of the scan databases are saved. That is, whenever the baseline database is set, the previous one is deleted. (yes/no): [yes]: no
Notifications:
=> enable email notification for this host? (yes/no) [no]:
=> send notification on scheduled scans failures? (yes/no) [no]:
yes
=> send scan notification, even when no changes detected (yes/no)
[no]: yes
=> send notification when agent has lost session key (yes/no)
[no]: yes
=> notification email (default uses mhost address) []:
Scheduling:
> configure scan scheduling information? (yes/no) [no]: yes
[ scheduling information for sua_empresa ]
Scheduling information consists of a start time and a frequency
value.
The frequency is a specified number of minutes between each scan,
starting from the start time. The default is the current time. Specify the
start time in the following format: mm/dd/yyyy HH:MM
enter the start date and time using 'mm/dd/yyyy HH:MM' format: [Mon Jun 3 19:06:23 2007]
enter scan frequency in minutes: [1440]
> enable this host? (yes/no) [yes]:
host => sua_empresa
hostname/IP address => 172.47.0.215
description => Fedora
agent port => 2265
host type => generic
log enabled => yes
archive scans => yes
auto accept => yes
purge databases => yes
notifications enabled => no
notifications always => yes
notify on rekey => yes
notify on scan fail => yes
notify email => (management config)
scans starting on => Mon Jun 3 19:06:23 2007
scan frequency => daily (every 1440 minutes).
enabled => yes
** warning: you've enabled both the db_purge and the db_archive option.
This combination rarely makes sense; you might want to reconsider.
Is this correct (y/n)? y
>>> new host (sua_empresa) has been created.
Initialize this host? (yes/no): yes
Initializing a host will push over a configuration, start a scan, and set the created database to be the trusted database.
Are you sure you want to initialize this host (yes/no): yes
OS Name: Linux
OS Version: 2.6.17-1.2139_FC5
use the default configuration for this OS? (yes/no): yes
>>> configuration (default.linux) has been pushed.
>>> scanning process was started on host: Gilberto

Com a configuração que foi realizada, foi deixado um agendamento para que a verificação dos hosts ocorra de 1440 minutos (24 horas), então diariamente será feito uma verificação e gerado um log indicando quais foram as mudanças.

Na criação do novo host a ser verificado já foi criada uma nova base de dados com todas as informações do estado que se encontra o sistema de arquivo no host sua_empresa. A configuração usada para esse novo host foi a default.linux, que indica um host Linux padrão. Portanto o arquivo de configuração para esse novo host está nesse formato:

# Default Configuration for Linux.
Recursive no
FollowLinks no
IncludeAll
Hash sha
<System>
Include mod_users
Include mod_groups
Include mod_kmods
Include mod_ports
</System>
<Directory /bin>
IncludeAll
</Directory>
<Directory /usr/bin>
IncludeAll
</Directory>
<Directory /usr/local/bin>
IncludeAll
</Directory>
<Directory /usr/local/sbin>
IncludeAll
</Directory>
<Directory /sbin>
IncludeAll
</Directory>
<Directory /usr/sbin>
IncludeAll
</Directory>
<Directory /boot>
IncludeAll
</Directory>
# EOF

Caso seja uma máquina Windows para ser configurada o servidor utilizará o arquivo default.windowsxp, que está nesse formato:

# Default Configuration for Windows XP.
Recursive no
FollowLinks no
IncludeAll
Hash md5
<System>
Include mod_users
Include mod_groups
Include mod_kmods
</System>
<Directory c:\windows>
Recursive yes
NoEntry temp
NoEntry system32\cache
NoEntry system32\dllcache
Include suffix("exe")
Include suffix("dll")
Include suffix("com")
Include suffix("conf")
Include suffix("sys")
Include suffix("pif")
Include suffix("inf")
Include suffix("dev")
Include suffix("ocr")
Include suffix("ocx")
ExcludeAll
</Directory>
<Directory C:\Program Files>
Recursive yes
Include suffix("exe")
Include suffix("dll")
Include suffix("com")
Include suffix("conf")
Include suffix("ini")
Include suffix("sys")
Include suffix("pif")
Include suffix("inf")
Include suffix("pnf")
ExcludeAll
</Directory>
# EOF

Após ter adicionado um novo host no servidor, verifique se foi criada a base de dados. Caso tenha sido criada, sem apresentar nenhum erro, o sistema já está em funcionamento. Para conferir a criação:

osiris-4.1.8-release: databases sua_empresa

Caso queira fazer alguma alteração, listagem, verificação, ou qualquer outra função em um host é necessário acessar primeiramente o host:

osiris-4.1.8-release: host sua_empresa

Com o host acessado, é possível visualizar as bases criadas e qual a data da criação de cada uma. Toda vez que é criada uma nova base de dados, automaticamente é gerado um log com as diferenças entre a base de dados do dia anterior e a nova gerada no dia atual.

osiris-4.1.8-release[sua_empresa]: list-db
This may take a while...
[ name ] [ created ]
2 Tue Jul 4 19:07:10
* 3 Tue Jul 4 19:08:47
total: 3
(*) denotes the base database for this host.]
osiris-4.1.8-release[sua_empresa]: list-logs
This may take a while...
[ name ] [ date ]
2 Tue Jul 4 19:06:09
3 Tue Jul 4 19:07:47
total: 2

Para visualizar o conteúdo do log, execute o comando print-log e depois o número do log.

osiris-4.1.8-release[sua_empresa]: print-log 3
-------- begin log file --------
compare time: Wed Jul 5 08:50:46 2006
host: Gilberto
scan config: default.linux (c8ce9c09)
log file: 3
base database: 2
compare database: 2
[221][Gilberto][new][mod_ports][TCP:0:80][TCP:80;local=0;remote=0]
Change Statistics:
----------------------------------
checksums: 0
SUID files: 0
root-owned files: 0
file permissions: 0
new: 1
missing: 0
total differences: 1
-------- end log file --------

Caso haja a necessidade de forçar uma verificação de um host qualquer, mesmo sem um agendamento prévio, com o comando start-scan é gerado uma nova base de dados.

osiris-4.1.8-release[Gilberto]: start-scan
>>> scanning process was started on host: Gilberto
osiris-4.1.8-release[Gilberto]: list-db
This may take a while...
[ name ] [ created ]
3 Tue Jul 4 19:07:10
*5 (pending)
4 Tue Jul 4 19:08:47
total: 3
(*) denotes the base database for this host.

Página anterior    

Páginas do artigo
   1. Introdução e pré-requisitos
   2. Instalação do Osiris - servidor e cliente
   3. Configurando o servidor Osiris
Outros artigos deste autor

KnowledgeTree - Um Gerenciador Eletrônico de Documentos funcional

Firewalls redundantes utilizando VRRP

Proxy reverso e balanceamento de carga utilizando o Pound

Monitoração de Hosts e Serviços com o NAGIOS

ISCSI - Um sistema de transferência de arquivos diferente

Leitura recomendada

Deduplicação com LessFS

Clonando HDs via rede com G4U (Ghost for UNIX)

Subversion - Controle de versão de documentos

Instalando e gerenciando programas no Linux

Recuperando arquivos em um Windows corrompido com Linux

  
Comentários
[1] Comentário enviado por y2h4ck em 30/06/2007 - 18:05h

Legal, falou bastante da install e conf, porém não demonstrou o funcionamento.

Abraços.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts