Você está na página 1de 6

Retirado de "http://wiki.underlinux.com.br/index.

php//Tutoriais/Seguranca/swatch " Contedo [esconder] * * * * * * * * 1 2 3 4 5 6 7 8 Introduo Plataforma utilizada Instalao dos mdulos do Perl Instalao do Swatch Configurao Exemplos Pondo em prtica Autor

[editar] Introduo Um dos grandes problemas da administrao de redes que a informao fica localizada em r egistros (logs) do sistema, os quais podem crescer bem rpido, e nem sempre se tem tempo para monitor-los. O Swatch vem preencher esta lacuna com um analisador de registros configurveis, que permite o envio de alertas em tempo real, atravs de ex presses regulares. [editar] Plataforma utilizada Pentium MMX 233MHz 32MB RAM Slackware 10.2 Kernel 2.4.31 Perl 5.8.7 [editar] Instalao dos mdulos do Perl Para poder utilizar o Swatch precisamos instalar alguns mdulos do Perl, e podem s er baixados em: http://search.cpan.org Neste tutorial foram utilizados os seguintes mdulos e suas respsctivas verses: Bit::Vector Carp::Clan Date::Calc Date::Manip File::Tail Time::HiRes Time::Date Bit-Vector-6.4.tar.gz Carp-Clan-5.3.tar.gz Date-Calc-5.4.tar.gz DateManip-5.44.tar.gz File-Tail-0.99.3.tar.gz Time-HiRes-1.86.tar.gz TimeDate-1.16.tar.gz

Algumas vezes um mdulo depende de outro para ser instalado, ento instale na seguin te ordem, caso a ordem no esteja correta, s ver a sada do erro que aparecer e instal ar o mdulo.. :) 1 2 3 4 5 File::Tail Time::HiRes Time::Date Carp::Clan Bit::Vector

6 - Date::Calc 7 - Date::Manip para instalao dos mdulos proceda da seguinte forma para todos: # # # # # # tar zxvf (xvf quando necessrio) modulo-1.2.3.tar.gz cd modulo-1.2.3 perl Makefile.PL make make test make install

Poderia ser feito tambm da seguinte forma: # perl -MCPAN -e shell Ele vai perguntar se deseja entrar no modo manual, responda no, ou sim, sei l.. se voc manjar de Perl faa o que achar melhor. No meu caso respondi "no" e foi no modo automatico. Ento entrou no prompt do cpan L digite: cpan> install File::Tail Ele vai baixar da internet e instalar automaticamente. No sei o que houve, mas aq ui isso no funcionou muito bem no, ou talvez eu que no tive pacincia para esperar ex ecutar a coisa, o trem demorou demais... ento cancelei e fiz da maneira que est ac ima. [editar] Instalao do Swatch Voc pode instalar o swath pelo apt-get, mas aqui abordarei somente por cdigo fonte . http://sourceforge.net/projects/swatch Depois de baixar o pacote proceda da seguinte forma: # # # # # # # tar zxvf swatch-3.1.1.tar.gz cd swatch-3.1.1 perl Makefile.PL make make test make install make realclean

[editar] Configurao Primeiro vc deve criar um arquivo (normalmente no diretrio home do seu usurio com o nome de .swatchrc) contendo as expresses regulares a serem pesquisadas. A lgica dester arquivo bem simples, cada linha no comentada do arquivo deve iniciar com w atchfor para testar a expresso ou ignore para ignorar a expresso e em seguida a ao o u aes sempre informando uma em cada linha at a prxima incidncia de watchfor. watchfor /expresso regular/ ao [ao,...] Na primeira linha esto as palavras-chave a serem pesquisadas no registro em forma to de expresses regulares usadas pelo perl. Nas linhas seguintes encontram-se a ao ou aes a executar se a expresso regular combinar com o texto.

As aoes possveis so mostradas a seguir: Ao echo , black, red, green, yellow, blue, magenta, cyan, white, black_h, red_h , green_h, yellow_h, magenta_h, cyan_h, white_h. Cores do tipo cor_h so cores m ais claras. bell . write comando write. Ser enviado um sinal sonoro para o controlador do terminal Usado para enviar cpia da linha encontrada utilizando-se o Descrio A linha ser mostrada na tela de controle de swatch. Valores possveis: normal, bold, underscore, blink, inverse

Para poder receber mensagens com esse comando o terminal tem que ter as permisses de escrita liberada para mensagens (mesg y). Se voc deseja informar mais de um usurio separe-os usando o caracter ":". mail Usado para enviar uma cpia da linha encontrada utilizandose o comando mail. Valores possveis: address=<endereo>, subject=<assunto>. exec Utilizado para executar um comando no sistema com a opo de uso dos campos da linha encontrada como parmetros. $N ser substitudo pelo ensin o campo da linha encontrada, $0 ou $* ser substitudo pela linha int eira. Voc pode ainda usar o parmetro throttle para definir um intervalo para a exibio da p rxima mensagem que coincidir com a expresso regular, muito til para impedir repeties inteis da mesma mensagem, como por exemplo, "file system full". Seu formato : throttle hh:mm:ss Todas as linhas que iniciarem com o caracter "#" sero ignoradas. Quando o swatch iniciado sem parmetros ele entra no modo padro, apresentado a segu ir: # swatch -c ~/.swatchrc -t /var/log/messages Onde o parmetro -c indica o arquivo de configurao a ser lido e o parmetro -t o regis tro (arquivo de log) que ser analisado. A seguir ser mostrado os parmetros possveis para o swatch: Parmetro Descrio -c Aponta para o arquivo de configurao, se no for usado proc ura por ~/.swatchrc -r Tempo para reiniciar a aplicao -f Arquivo a ser analisado -p Programa de onde se obter a sada padro -t Arquivo que se continua identificadamente a analisar -P Separador padro -A Separador de aes -l Separador de gravao de entrada

O # # #

swatch pode ser utilizado de trs formas distintas: Ler arquivos de registro em uma passada; Ler registros enquanto so atualizados; Capturando a sada de outros programas para anlise.

comum que cada administrador de sistema tenha sua prpria configurao do swatch no se u home (~/.swatchrc), onde formatou as buscas e as aes que acreditar ser mais pert inentes ao seu trabalho, ou que fazem parte da sua responsabilidade. [editar] Exemplos Gerar alertas sobre tentativas de login mal sucedidas e encontrar quem est no sis tema: watchfor /INVALID REPEATED INCOMPLETE/ echo=inverse bell=3 Palavras chave importantes watchfor /LOGIN/ echo=blink bell=15 watchfor /password/ echo=bold bell=3 Ignora essas palavras-chave: ignore /sendmail/,/nntp/,/xntp ntpd/,/faxspooler/ Informa apenas mensagens incomuns sobre tftp: ignore /tftpd.*(ncd kfps normal exit)/ watchfor /tftpd/ echo=red_h bel=3 Problemas de Kernel: watchfor /(panic halt sunOS Release)/ echo=green bell Outros exemplos: watchfor /file system full/ echo=red bell=3 ignore /vmunix.*(at on)/ watchfor /vmunix/ echo cyan bell Exemplos para execuo em background: watchfor /INVALID REPEATED INCOMPLETE/

exec="/etc/backfinger $O" watchfor /darkstar.*(panic halt)/ mail address=root@maquina.com,subject="Servidor DARKSTAR est parado" exec="/sbin/call_pager 321654987"

nos exemplos acima voc pode adicionar um "&" ao final da linha de comando do swat ch e execut-lo em segundo plano j que no h ao que precise retornar algo para um termi al, como seria o caso da utilizao do "echo". [editar] Pondo em prtica Agora que j sabemos como funciona vamos por em prtica o que aprendemos. Crie o arquivo .swatchrc no diretrio home do root # touch /root/.swatchrc Abra este arquivo com um editor de arquivos de sua preferncia e coloque a expresso regular que ir capturar as linhas que tiverem algo sobre o sshd quando feito log in ou em erro de login. # vi /root/.swatchrc watchfor /sshd.*[Ff]ailed [Pp]assword/ echo=red bell=3 watchfor /sshd.*[Aa]ccepted [Pp]assword/ echo=yellow bell=3 Salve o arquivo e saia do editor. Agora pra facilitar o uso do swatch vamos criar um script para execut-lo: # touch /root/swt.sh # chmod +x /root/swt.sh # vi /root/swt.sh #!/bin/bash swatch -c ~/.swatchrc -t /var/log/messages Salve e saia do editor. Pronto, instalado e configurado, agora s executar e fazer um acesso ssh pra ver o resultado. # . /root/swt.sh Podemos tambm fazer da seguinte forma: Quando o micro que est rodando o swatch tem um monitor e teclado, podemos colocar o swatch pra rodar em outra tty e em segu ndo plano. Ex.: # . /root/swt.sh > /dev/tty12 & Desta forma s ir na tty12 pra ver os resultados. valew []'s [editar] Autor

* Luciano Gaspar Farias - lucianogf (lucianogf@yahoo.com) Retirado de "http://wiki.underlinux.com.br/index.php//Tutoriais/Seguranca/swatch "