|
1 - Introdução: Sudosh2 é uma ferramenta que provê aos administradores de sistemas uma auditoria extensiva dos usuários que utilizam shell. Há dois modos distintos para utilização do sudosh2: como um filtro para o sudo e diretamente como shell do login. Nos dois casos, você poderá auditar as sessões dos usuários revendo as sessões na sua tela, bem parecido com VCR. Sudosh2 é um fork do sudosh (by Douglas Hanks). Sudosh2 é licenciado sob a Open Source License v2.0. Website: http://sourceforge.net/projects/sudosh2/ 2 - Instalação:
http://sourceforge.net/project/showfiles.php?group_id=213047 tar jxf sudosh2-[version].tar.bz2 cd sudosh2-[version]
./configure --prefix=/usr --bindir=/bin make make install sudosh -i
3 - Configurações:
O arquivo de configuração padrão é o /etc/sudosh.conf # Sudosh Configuration File logdir = /var/log/sudosh default shell = /bin/bash delimiter = - syslog.priority = LOG_INFO syslog.facility = LOG_LOCAL2
# Allow Sudosh to execute -c arguements? If so, what? -c arg allow = scp -c arg allow = rsync -c arg allow = psql -c arg allow = mysql -c arg allow = /usr/libexec/openssh/sftp-server
- Verificar se o caminho do sftp-server
Verificar se o diretório de log foi criado: /var/log/sudosh chmod 733 /var/log/sudosh
Adicionar o caminho do sudosh no /etc/shells /bin/sudosh
Descrição das opções:
logdir: Onde os logs para as sessões serão gravados. O sudosh2 cria o diretório com suas permissões caso ele não exista. default shell: Se houver alguma falha com sudosh2 ele utilizará esse shell como padrão. delimiter: Separador para os campos dos arquivos gravados para as sessões. syslog.priority/syslog.facility: Esepecifica o canal do syslog para o sudosh2. Consulte a manpage do syslog para maiores informações. clearenvironment: Por padrão o sudosh2 limpa qualquer variável de ambiente. -c arg allow: Esse valor é usado quando o sudosh2 é utilizado para ser o shell de login dos usuários. Qualquer valor que você colocar serão aceitáveis para execução, tal como: sftp, scp, cvs, etc. Note deverá ser o comando exato! Por exemplo no Ubuntu o sistema chama o sftp com "/usr/lib/openssh/sftp-server". Comandos inválidos serão enviados ao syslog. Assumindo o sudosh2 como shell Editar o arquivo /etc/passwd e alterar o caminho do shell para: /bin/sudosh
Se preferir, poderá alterar o shell do usuário com o comando: chsh Sugestão: Para que os logs não fiquem ocupando muito espaço, recomendo que coloque na cron, as seguintes linhas: Adicionar as seguintes linhas na crontab: # Bzip the sudosh log files older then 2 days 0 5 * * * find /var/log/sudosh -ctime +2 -type f -exec bzip2 {} \; Isso fará com que os arquivos de 2 dias anteriores sejam compactados, poupando espaço no seu HD.
Para ler esses arquivos posteriormente, crie um diretório tmp qualquer, copie os arquivos que deseja ler para esse diretório, depois os descompacte. cd /var/log/sudosh mkdir tmp cp *RnZZPoi4EZ13D4MK.bz2 tmp cd tmp bunzip2 * sudosh-replay -d .
|