O Projeto Software Livre Bahia (PSL-BA) é um movimento aberto que busca, através da força cooperativa, disseminar na esfera estadual os ideais de liberdade difundidos pela Fundação Software Livre (FSF), possibilitando assim a democratização do acesso a informação, através dos recursos oferecidos pelo Software Livre. Esta busca tem seus alicerces fundados na colaboração de todos, formando um movimento sinérgico que converge na efetivação dos ideais de Liberdade, Igualdade, Cooperação e Fraternidade.
O Projeto Software Live Bahia é formado pela articulação de indivíduos que atuam em instituições publicas e privadas, empresas, governos ou ONGs, e demais setores da sociedade. Além disso o projeto não é subordinado a qualquer entidade ou grupo social, e não estabelece nenhuma hierarquia formal na sua estrutura interna.
Lucas Almeida Rocha: London’s Best Coffees
29 de Junho de 2011, 0:00 - sem comentários aindaAs a good Brazilian, I love good coffee. Here’s a short list of my favourite coffee shops in London. Most of them are in central London because they are close to litl’s office in Tottenham Court Road, where I worked for more than two years.
Monmouth. I usually go to their Covent Garden branch at Monmouth Street. Small, cosy, and earthy. They have two other branches. They import and provide coffee for restaurants too. For instance, my favourite pizza place in London serves Monmouth’s coffee. Perfect combination!
Milk Bar. Tiny coffee shop at Bateman street. Young and indie atmosphere. They expose art work from local artists in their shop, pretty cool.
Tapped & Packed. They are at Rathbone Place, number 26. Keep the street number in mind because the name of the shop is not shown anywhere—as far as I could see. They serve the tallest Victoria sponge I’ve ever seen!
Sacred. This is a little coffee place inside the Westfield shopping centre in Shepherds Bush. They have the creamiest flat white. Delicious!
If you have any other suggestions, please post them as comments. I’m definitely looking forward to hearing about other good coffee places in the city!
Gabriel "Pnordico" Menezes: Estamos no FISL!
29 de Junho de 2011, 0:00 - sem comentários aindaInfelizmente “eu” não estou, mas o GentooBR está presente no FISL 12!
E ganhamos um banner de nossa autoria para o artwork (Ano que vem sai melhor!)
Leonardo Couto Conrado: Google Social Networking
28 de Junho de 2011, 0:00 - sem comentários aindaGoogle já iniciou o desenvolvimento do aplicativo de rede social que irá competir com o Facebook; Ele se chama: Google+. Muito desafiador... Tarefa árdua essa eim? Será possivel colocar um aplicativo para disputar com o maior serviço de rede social do mundo, o Facebook? De qualquer forma estou curioso para conhecer o Google+.The Google+ project: real life sharing, rethought for the web.
plus.google.com
Alexandro Silva: LulzSec, Anonimous, Operação AntiSec…2011 bombando!!
21 de Junho de 2011, 0:00 - sem comentários ainda
O Anchises postou em seu excelente blog um comentário bastante sóbrio sobre o LuLzSec. Segue um techo:
Várias empresas e profissionais de segurança de todo o mundo estão em alerta desde que os grupos hacktivistas Anonymous e LulzSec lançaram a “Operation Anti-Security” (em português, “Operação Anti-Segurança”), ou simplesmente, AntiSec.
O grupo Lulz Security (conhecido principalmente como LulzSec) surgiu recentemente, como um dissidência do Anonymous. Enquanto o Anonymous tem focado suas operações recentes principalmente em ataques e protestos com motivação política, o LulzSec tem realizado ataques com objetivo de expor a fragilidade de várias empresas, como a Sony, um de seus alvos prediletos e que deu destaque ao grupo. Após um breve rumor surgido na semana passada de que os dois grupos estariam em guerra, ambos soltaram um comunicado em conjunto neste final de semana (no dia 19/06, mais precisamente) avisando de que juntaram forças e deram início a uma nova campanha contra governos, bancos e grandes empresas de todo o mundo, chamada “Operation Anti-Security”.
Recomendo muito a leitura!
Leia mais em AnchisesLandia
See:
JavaBahia: Mês do java
20 de Junho de 2011, 0:00 - sem comentários aindaGabriel "Pnordico" Menezes: DWA 125 – Ralink RT2870 – Linux
14 de Junho de 2011, 0:00 - sem comentários aindaEis que pro meu desespero “descubro” que o driver oferecido pela DLink ( DRIVER_LINUX_DWA-125_STA_v2.1.2.0.tar.gz ) e/ou pela Ralink ( 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2 ) já não compilam nas versões recentes do kernel (incompatibilidades, referências a funções descontinuadas, etc).
Eis que para minha felicidade “descubro” [1] que as versões mais recentes do kernel possuem suporte nativo (ainda que experimental) que até então tem se comportado muito bem. Siga o caminho:
Device Drivers —>
Staging Drivers —>
<*> Ralink 2870/3070 wireless support
Compile e seja feliz.
É necessário possuir o firmware disponível em http://www.ralinktech.com/support.php?s=2
Mais especificamente [Firmware RT28XX/RT30XX USB series (RT2870/RT2770/RT3572/RT3070)] (Preencha qualquer nome e email)
Curioso é que o módulo do kernel buscou por rt3070.bin enquanto o arquivo fornece rt2870.bin. Um link simbólico resolveu o problema.
Sem mais.
Lucas Almeida Rocha: Joining Mozilla
14 de Junho de 2011, 0:00 - sem comentários aindaI’m really excited to announce that I’m joining the Mozilla folks to work on Firefox Mobile! There are several reasons why I’m excited about it, here are a few of them.
Big Challenges. All major mobile platforms have their own built-in web browser. Being a third-party browser in the mobile space means that you have to offer an extremely compelling product in order to convince users to switch. And I do believe Mozilla can make it happen. Allowing users to seamlessly go from desktop to mobile without interruption is a major step on the right direction. I’m sure more compelling features will come out.
Space for innovation. The web browsing experience on mobile devices carries much less legacy than on desktop. This means there are less barriers and constraints for innovation and a lot of space for experimentation. For instance, tablets bring a whole world of possibilities in terms of new features and interaction models for larger touchscreens.
Public benefit, Open source. It feels good to work for a public benefit organization that is fully committed to improving the web. Mozilla is also a huge open source community. I’m sure it will be a great opportunity to meet new people and make new friends. As a long-time open source contributor, I’m eager to learn more about the Mozilla community and hopefully be able to contribute in a meaningful way.
My first day at Mozilla will only be in July as I want to take a well-deserved break between jobs to clear my head a bit before starting. It will be a good to spend more time with my girls, travel a bit, and maybe work on some of my pet projects.
Exciting times ahead!
Alexandro Silva: Ossec HIDS – Bloqueando o ZmEu bot e outros Web scanners
13 de Junho de 2011, 0:00 - sem comentários ainda<a href="http://blog.alexos.com.br/?p=2650&amp;lang=pt-br" title="Ossec HIDS - Bloqueando o ZmEu bot e outros Web scanners"></a><p><a href="http://blog.alexos.com.br/wp-content/uploads/2011/06/zmeu.jpg"><img class="alignleft size-thumbnail wp-image-2661" title="zmeu" src="http://blog.alexos.com.br/wp-content/uploads/2011/06/zmeu-150x150.jpg" height="150" alt="" width="150" /></a>A <a href="http://www.pentestit.com/2010/01/15/list-free-web-application-scanners/">enchurrada de Web scanners</a> disponíveis na internet e o infeliz do <a href="http://linux.m2osw.com/zmeu-attack">ZmEu bot</a> acabam tornando a vida dos nossos servidores Web um inferno.</p> <p>Geralmente o Apache responde a estas tentativas com sucessivos error 400 ( Bad Request ). Para acabar com essa apurrinhação podemos bloqueá-las usando o <a href="http://www.ossec.net/">Ossec HIDS</a>.</p> <p>Exemplo de um log do ZmEu bot</p> <blockquote><p> 82.145.xx.xx – – [13/Aug/2010:07:19:36 -0300] “GET /phpadmin/scripts/setup.php HTTP/1.1″ 404 192 “-” “ZmEu”<br /> 82.145.xx.xx – – [13/Aug/2010:07:19:35 -0300] “GET /typo3/phpmyadmin/scripts/setup.php HTTP/1.1″ 404 198 “-” “ZmEu”<br /> 82.145.xx.xx – – [13/Aug/2010:07:19:35 -0300] “GET /mysqladmin/scripts/setup.php HTTP/1.1″ 404 194 “-” “ZmEu”<br /> 82.145.xx.xx – – [13/Aug/2010:07:19:34 -0300] “GET /myadmin/scripts/setup.php HTTP/1.1″ 404 192 “-” “ZmEu”<br /> 82.145.xx.xx – – [13/Aug/2010:07:19:33 -0300] “GET /dbadmin/scripts/setup.php HTTP/1.1″ 404 191 “-” “ZmEu”<br /> 82.145.xx.xx – – [13/Aug/2010:07:19:33 -0300] “GET /admin/phpmyadmin/scripts/setup.php HTTP/1.1″ 404 196 “-” “ZmEu” </p></blockquote> <p>Para isso adicione as linhas abaixo dentro da tag <strong>Active Response Config</strong> localizada no arquivo <em><strong>/var/ossec/etc/ossec.conf</strong></em></p> <div class="codecolorer-container xml geshi" style="overflow: auto; white-space: nowrap;"> <table> <tr> <td class="line-numbers"> <div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8</div> </td> <td> <div class="xml codecolorer" style="white-space: nowrap;"><span style="color: #808080; font-style: italic;"><!– Active response to block http scanning –&gt;</span> <p></p> <p> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;active-response<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> <br /> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;command<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>route-null<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/command<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> <br /> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>local<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></p> <p> <span style="color: #808080; font-style: italic;"><!– Multiple web server 400 error codes from same source IP –&gt;</span> <br /> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rules_id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>31151<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rules_id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> <br /> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;timeout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>600<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/timeout<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> </p> <p> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/active-response<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></p></div> </td> </tr> </table> </div> <p>A configuração acima executará o script route-null sempre que a regra 31151 em web_rules.xml for detectada bloqueando o atacante por 10 min ( 600s ), isto significa que ocorrendo vários erros 400 no log do Apache o ip de origem será bloqueado por 10 min.</p> <p><strong>Fonte:</strong></p> <p><a href="http://itscblog.tamu.edu/protecting-web-servers-with-ossec/">ITSC Blog</a></p> <div><h3>See:</h3><ul><li><a href="http://blog.alexos.com.br/?p=2180&amp;lang=pt-br" class="crp_title">Nessus Viewer</a></li><li><a href="http://blog.alexos.com.br/?p=1644&amp;lang=pt-br" class="crp_title">Beta-Testing: Ossec 2.4 Beta</a></li><li><a href="http://blog.alexos.com.br/?p=1345&amp;lang=pt-br" class="crp_title">Habilitando o MSA ( submission ) no Postfix</a></li><li><a href="http://blog.alexos.com.br/?p=2157&amp;lang=pt-br" class="crp_title"> H3ll0 2k11</a></li><li><a href="http://blog.alexos.com.br/?p=1630&amp;lang=pt-br" class="crp_title">Novidades FLISOL 2010 Salvador</a></li></ul></div>
Lucas Almeida Rocha: Leaving litl
13 de Junho de 2011, 0:00 - sem comentários aindaAfter three years at litl, it’s time for me to move on. Writing a blog post to announce that you’re leaving is always a bit tricky. In this case, it’s because the experience at litl was so rich in so many ways that to it’s hard to know where start from.
Back in the beginning of 2008, I had already decided to leave the Maemo team at Nokia and started looking for my next gig. I heard about litl for the first time from OpenedHand’s Matthew. He said Havoc was working on something pretty cool there. I had started conversations with a couple of prospective employers but I thought it would be cool to talk to Havoc and get to know a bit more about the company’s plans anyway. I honestly thought it was very unlikely that litl would be my next thing mostly because I was under the impression that they were only hiring in the US.
Fast forward several weeks, I accepted an offer and started working at litl—a few months in Helsinki waiting for my UK work permit then finally in London. And I was not alone, the whole Maemo UI framework and toolkit teams—Tommi, Xan, Johan and I—got hired at the same time! Interestingly, this was not a collective move in any way. We only found out about each other’s interest in litl once we started having our first interviews. It was funny to see the rumors that were founding a Maemo-focused company of some sort.
The first two years at litl were quite intense! Each of us would be working on something totally different each week or month—cache management, webcam, photo app, contacts app, sync protocol, web browser, core UI, plugin framework, etc. All this while we were still trying to finalize the design and interaction model for the product. We finally released the litl webbook, our cloud-based computer, in November 2009. This is, by the way, long before Google actually released Chrome OS.
litl’s team is just awesome, full of extremely talented and generous people—quite a few of them are well-known for their contributions to GNOME and other F/OSS projects. Throughout those years, the team gradually grew on all fronts with people coming from Amazon, Novell, Red Hat, OLPC, US startups, and many others.
I’d like to make a special mention of a few people with whom a worked more closely since I joined. First of all, it was a great pleasure to work with Johan B. and Tommi for almost 5 years, both at Nokia and litl. I learnt a lot with them. Secondly, working with Havoc was an awesome experience. He has this huge talent for solving complex problems besides being simply a nice guy. Last but not least, I loved working with Marco. He is, with no doubt, one of the most passionate developers I’ve ever met.
A lot has changed in the company since the release of webbook. litl is now starting to explore new areas and markets. I feel that I have now ended an important career cycle and it’s time to move on to something new. All in all, I can only thank everyone at litl for the great time I had!
What I’ll be doing next? I guess that’s a topic for my next post :-)
Rafael Gomes: Monitorando com Zabbix a impressora HP Color LaserJet CM1312 sem SNMP
13 de Junho de 2011, 0:00 - sem comentários aindaApós muito procurar na internet, principalmente no site da HP, por uma MIB de qualidade. Para que assim eu pudesse entender melhor os valores retornados no snmpwalk.
Sem sucesso. Perdi a paciência e fui para a ignorância! Criar um script pra obter o dado que preciso.
Essa impressora tem uma interface web, que mostra muitas informações, incluído o nível de tinta, que nesse caso é meu foco.
Mão a massa!
Estou usando o CentOS, mas os comandos não diferem muito para outras distribuições.
Primeiro vamos instalar o lynx:
# yum install lynx -y
Pronto! Agora verifique se sua pasta de scripts externos do zabbix está criada:
# ls /etc/zabbix/externalscripts
Caso não esteja, crie com esse comando:
# mkdir /etc/zabbix/externalscripts
Obs: Verifique no seu arquivo de configuração, se o caminho da pasta é esse mesmo:
# cat /etc/zabbix/zabbix_server.conf | grep "ExternalScripts="
Após criado a pasta, crie dentro dessa pasta o arquivo abaixo:
# vi obtem_nivel_tinta.sh
Com o seguinte conteúdo:
#!/bin/bash
## Removendo possível página
rm -f /tmp/pagina
## Baixando a página
/usr/bin/lynx -dump -accept_all_cookies “http://$1/hp/device/info_suppliesStatus.html?tab=Status&menu=SupplyStatus” > /tmp/pagina
## Buscando informação desejada
cat /tmp/pagina | grep “Cartucho $2″ -A 1 | grep % | cut -d” ” -f10 | sed “s/\%//g”
## Removendo página
rm -f /tmp/pagina
Agora modifique a permissão do arquivo:
# chmod +x obtem_nivel_tinta.sh
Pronto, agora efetue seu login no Zabbix e crie um host com o ip da sua impressora e nele um novo item de acordo com a imagem abaixo:
Salve o item, depois efetue o clone, mude o parâmetro Preto para Ciano, depois faça o mesmo com Magenta e depois Amarelo.
Obs: Perceba que esse comando é sensível a case, não esqueça que a primeira letra do parâmetro é MAIÚSCULA.
Pronto! Perceba que com esse script é possível obter QUALQUER informação da interface web, isso com algumas modificações simples.
Rafael Gomes: Seu Zabbix poderá se recusar a iniciar
12 de Junho de 2011, 0:00 - sem comentários aindaIsso mesmo! Essa é uma das melhorias que virá em sua versão 1.8.6, mas não se preocupe. Isso apenas acontecerá em arquivos de configuração que tenham erro de grafia.
Agora você deve estar se perguntando: “Espera um minuto, isso já não deveria acontecer?” Até a atual versão o Zabbix ignorava os erros e utilizava os valores default para essa configuração.
Essa nova versão será um “divisor de águas” para esses erros de sintaxe.
Então, se você atualizar o Zabbix e ele não iniciar por algum motivo, verifique com cuidado suas configurações, é possível que seja essa a razão.
Fonte : Zabbix Blog
Aurelio A. Heckert: Performance goes up like a rocket with BC
11 de Junho de 2011, 0:00 - sem comentários aindaI had presumed but i never had thought how much the performance can grow when giving some logic from BASH to BC. Ok... We all know, BASH is some of the slowest languages in the world, but BASH scripts that hard work with math can be as fast as other languages if we let some logic to the BC, an arbitrary precision numeric processing language.
When i started to work with the XPM Image script (my new pet project) i realized that BASH is more slow then i think, but i also realized that i can give to BC much more then only some simple math expressions to compute. In BC i can define variables, set flux control, functions... Well thats a real programming language and i'm underusing it.
In a small test i had the confirmation: BC with inside loops is much faster than BASH loops with BC inside. The question is: "How much?" ... Taking advantage i decide to test how much the verbose hinders the performance. So i did this change on the pixel matrix generator loop:
echo 'A: Loops in bash + With verbose code' time ( helix='|/-\' for y in $( seq 0 $(($h-1)) ); do echo -ne "Line $y ${helix:$(($y%4)):1} \r" >&2 echo -n '"' for x in $( seq 0 $(($w-1)) ); do echo " $bc_pal_func $bc_round_func define f(x,y,w,h) { $func } # calc the position on the pallete for the current pixel: p = round( 255 * f($x,$y,$w,$h) ); num_to_pal(p)" | bc -l done echo -n '"' test $y -lt $(($h-1)) && echo ',' done > /tmp/pix-matrix-1 echo "Done. " >&2 ) echo 'B: Loops in bash + Without verbose code' time ( for y in $( seq 0 $(($h-1)) ); do echo -n '"' for x in $( seq 0 $(($w-1)) ); do echo " $bc_pal_func $bc_round_func define f(x,y,w,h) { $func } # calc the position on the pallete for the current pixel: p = round( 255 * f($x,$y,$w,$h) ); num_to_pal(p)" | bc -l done echo -n '"' test $y -lt $(($h-1)) && echo ',' done > /tmp/pix-matrix-2 ) echo 'C: Loops in bc + With verbose code' time ( export BC_LINE_LENGTH=$(( $w * 2 + 5 )) echo " $bc_pal_func $bc_round_func define f(x,y,w,h) { $func } helix_pos = 0; define void verbose(line) { print \"Line \",y,\" \" if ( helix_pos == 0 ) print \"|\" \ else if ( helix_pos == 1 ) print \"/\" \ else if ( helix_pos == 2 ) print \"-\" \ else { print \"\\\\\\\\\"; helix_pos = -1; } helix_pos += 1; print \" \\n\"; } for ( y=0; y<$h; y++ ) { verbose(y) print \"\\q\" for ( x=0; x<$w; x++ ) { # calc the position on the pallete for the current pixel: p = round( 255 * f(x,y,$w,$h) ); num_to_pal(p) } print \"\\q\" if ( y < $(($h-1)) ) print \",\" print \"\\n\" }" | bc -l | while read line; do test "${line:0:4}" = "Line" \ && echo -en " $line \r" >&2 \ || echo "$line" done > /tmp/pix-matrix-3 echo "Done. " >&2 ) echo 'D: Loops in bc + Without verbose code' time ( export BC_LINE_LENGTH=$(( $w * 2 + 5 )) echo " $bc_pal_func $bc_round_func define f(x,y,w,h) { $func } for ( y=0; y<$h; y++ ) { print \"\\q\" for ( x=0; x<$w; x++ ) { # calc the position on the pallete for the current pixel: p = round( 255 * f(x,y,$w,$h) ); num_to_pal(p) } print \"\\q\" if ( y < $(($h-1)) ) print \",\\n\" }" | bc -l > /tmp/pix-matrix-4 )
As you see, there is 4 matrix generators testing loops inside x outside BC, and with x without verbose code. Each block will be tested with the time
command. Then i run it to generates two images one with 200x200 pixels and other with 20x20 pixels. See the results:
Sequence 1 - run ./image 200 200
A: Loops in bash + With verbose code Done. real 4m55.433s user 4m36.953s sys 0m59.660s B: Loops in bash + Without verbose code real 4m45.620s user 4m38.969s sys 0m57.516s C: Loops in bc + With verbose code Done. real 0m3.571s user 0m3.172s sys 0m0.148s D: Loops in bc + Without verbose code real 0m3.241s user 0m2.896s sys 0m0.212s
Sequence 2 - run ./image 20 20
A: Loops in bash + With verbose code Done. real 0m3.124s user 0m2.822s sys 0m0.626s B: Loops in bash + Without verbose code real 0m2.953s user 0m2.868s sys 0m0.576s C: Loops in bc + With verbose code Done. real 0m0.073s user 0m0.044s sys 0m0.004s D: Loops in bc + Without verbose code real 0m0.070s user 0m0.032s sys 0m0.008s
What that means?
With simple calculus we can see that:
Comparing sequence 1 (image 200 200)
Seq1-A x Seq1-B:
Loops in bash, without verbose code is 3.32% faster then with verbose code
Seq1-C x Seq1-D:
Loops in bc, without verbose code is 9.24% faster then with verbose code
Seq1-A x Seq1-C:
Loops in bc runs 82.73 times faster than in bash
Comparing sequence 2 (image 20 20)
Seq2-A x Seq2-B:
Loops in bash, without verbose code is 5.41% faster then with verbose code
Seq2-C x Seq2-D:
Loops in bc, without verbose code is 4.11% faster then with verbose code
Seq2-A x Seq2-C:
Loops in bc runs 42.79 times faster than in bash
The bigest thing is: I must give all math related logic to BC and something more when it is possible. This praxis is not only times faster it is computationally less expensive, by that the [BASH code time] / [BC code time] grows when we try to generate the bigger image
The verbosity affects the performance, that makes a 200x200 image only 330 milliseconds slow, inside the BC code. The user can't feel that. Nice! :-)
Interested? Visit the XPM Image website.
Leonardo Couto Conrado: Trocar UID proprietário de arquivos e pastas em determinados diretórios por um outro UID para ser o novo proprietário desses arquivos encontrados
10 de Junho de 2011, 0:00 - sem comentários aindaPessoal o script abaixo foi feito para alterar o dono de arquivos e pastas em determinados diretório, o mesmo sairá recusivamente trocando o UID dos arquivos e pastas encontrados pelo UID antigo por um outro UID para que esse seja o novo dono do arquivo ou pasta.OBS.: UID é uma identificação exclusiva de qualquer usuário no linux, para verificar o id de algum usuário digite:
# id nomeDoUsuário
root@feigt:/# id leonardoconrado uid=1018(leonardoconrado) gid=100(users) groups=100(users)
Exemplo 01: Mudará o dono de todos arquivos e pastas do diretório / que tenham como UID 502 e irá "setar" ou configurar um novo UID dono desses arquivos que será UID 512 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:
#!/bin/bash # Mudar UID proprietário de arquivos e pastas # para um novo UID ser o proprietário em determinados # diretórios # Por Leonardo Couto Conrado # Em 06.10.2011 counter=0 # Encontre em / os arquivos que tenha UID igual à 502 for i in $( find / -uid 502 2>> /dev/zero ); do echo $i # Mude o dono desses arquivos para UID 512 chown -v 512 $i >> /root/debug.txt # Conte cada arquivo encontrado counter=`echo "$counter+1"|bc` done echo $counter
Exemplo 02: Mudará o dono de todos arquivos e pastas do diretório /oracle que tenham como UID 501 e irá "setar" ou configurar um novo UID dono desses arquivos que será UID 511 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:
#!/bin/bash # Mudar UID proprietário de arquivos e pastas # para um novo UID ser o proprietário em determinados # diretórios # Por Leonardo Couto Conrado # Em 06.10.2011 counter=0 # Encontre em / os arquivos que tenha UID igual à 501 for i in $( find /oracle -uid 501 2>> /dev/zero ); do echo $i # Mude o dono desses arquivos para UID 511 chown -v 511 $i >> /root/debug.txt # Conte cada arquivo encontrado counter=`echo "$counter+1"|bc` done echo $counter
Alexandro Silva: Ossec HIDS 2.6 Beta Testing – Novas funcionalidades
9 de Junho de 2011, 0:00 - sem comentários aindaO Ossec HIDS 2.6 está no forno. A versão beta desta que para mim é uma das melhores ferramentas de segurança da atualidade foi anunciada recentemente pelo Daniel Cid, criador e principal mantenedor.
Venho acompanhando a evolução desta versão através do respositório no Bitbucket.
Vejam algumas funcionalidades anunciadas:
Suporte IPv6
Novas regras para OpenBSD, Clamav, BRO-ids, active response logs,etc
Criação e configuração automatizada das chaves dos agentes através do os-authd
Melhorias nos relatórios de alteração dos arquivos
Bloqueio contra tentativas de intrusão repetitivas
Algumas destas novas funcionalidades estão sendo bastante úteis no meu dia a dia.
Relatórios de alteração dos arquivos
A checagem de integridade faz parte do Ossec desde de sua criação. Este versão diponibiliza uma relatório mais apurado dos arquivos alterados. Um exemplo interessante é o monitoramento das alterações dentro do diretório /var/www. Para isso adicione uma tag directories dentro do arquivo /var/ossec/etc/ossec.conf com as seguintes opções:
realtime=”yes”
report_changes=”yes”
Info:
realtime – Fará o monitoramento em tempo real do diretório
report_changes – Informará o que foi alterado em um arquivo
OBS: Outras opções podem ser encontradas no Manual do Ossec HIDS
Segue o exemplo de um simples relatório gerado após está alteração:
zcat /var/ossec/logs/alerts/2011/May/*.gz | /var/ossec/bin/ossec-reportd
Top entries for ‘Filenames’:
————————————————
/etc/apache2/sites-available/XXX.. |3 |
/etc/apache2/sites-enabled/XXX |3 |
/etc/ld.so.cache |2 |
/etc/ossec-init.conf |2 |
/etc/alternatives/www-browser |1 |
/etc/alternatives/www-browser.1.gz |1 |
/etc/apache2/sites-available/XXX |1 |
/etc/apache2/sites-enabled/XXX |1 |
/etc/init.d/.depend.boot |1 |
/etc/init.d/.depend.start |1 |
/etc/init.d/.depend.stop |1 |
/etc/mailcap |1 |
/usr/bin/www-browser |1 |
Bloqueio contra tentativas de intrusão repetitivas
Isso soa como música para meus ouvidos. Venho usando esta funcionalidade a algum tempo e realmente faz a diferença em servidores muito visados com os de FTP por exemplo. Para habilitá-la siga o exemplo apresentado no blog do DCid
Os desenvolvedores do Ossec HIDS estão mandando muito bem. Por enquanto não estou encontrando bugs nos testes desta versão beta, tenham certeza que eles estão sendo realizados em sistemas onde as tentativas de invasão são constantes.
See:
Rafael Gomes: Atualizando agentes do Zabbix em massa
9 de Junho de 2011, 0:00 - sem comentários aindaApós de uma thread na lista de discussão do Zabbix, percebi que os administradores do Zabbix, assim como eu, não costumam atualizar seus agentes, quer seja por preguiça ou outro motivo qualquer. (Na maioria das vezes é preguiça mesmo )
Não vou defender a necessidade da atualização, acredito que todos já sabem que no pior dos casos a correção de bugs já é o bastante para se tornar NECESSÁRIO atualizar o agente, correto?
Vamos por a mão na massa!
Estou usando como exemplo o CentOS, mas acredito que seja facilmente customizável para sua distro preferida.
Como a versão mais nova do Zabbix-agente no repositório EPEL5 é a 1.4.7 utilizaremos pacotes criados pelo meu amigo Gomix (Gracias!), que estão disponíveis aqui.
Baixe todos os pacotes e deposite em um servidor, com apache, no diretório /var/www/html/deploy
Agora nesse mesmo diretório você criará um arquivo chamado atualiza_zabbix.sh com o conteúdo abaixo:
#!/bin/bash
echo “#################”
echo “Baixando pacote”
echo “#################”wget http://<ip do servidor que depositou os pacotes e script>/deploy/zabbix-1.8.5-1.el5.$(uname -i).rpm > /dev/null
echo “#################”
echo “instalando pacote”
echo “#################”rpm -Uvh zabbix-*
echo “#####################”
echo “Reiniciando o serviço”
echo “#####################”service zabbix-agent restart
echo “#####################”
echo “Removendo lixo”
echo “#####################”rm -fr zabbix* atualiza_zabbix.sh
Agora execute o comando abaixo:
# chown -R apache:apache /var/www/html/deploy
Agora na sua máquina, crie um arquivo chamado lista_servidores, com a lista de ip (ou nome, caso seu DNS esteja configurado) dos seus servidores, um valor abaixo do outro.
Ainda na sua máquina, execute o comando abaixo:
for i in `cat lista_servidores`; do ssh -l root $i "wget http://<ip do servidor que depositou os pacotes e script>/deploy/atualiza_zabbix.sh && chmod +x atualiza_zabbix.sh && ./atualiza_zabbix.sh" ; done
Obs: Foi utilizado o usuário root aqui, mas em caso do usuário root esteja desabilitado use outro usuário com sudo.
Pronto! Agora só coloque as senhas dos servidores, caso não já tenha trocado as chaves publicas, claro!
Update – Se você não tiver problema em adicionar repositórios, pode encurtar o tutorial a um único comando:
for i in `cat lista_servidores`; do ssh -l root $i "rpm -Uvh http://fedora.danny.cz/danny-el/danny-release-5-1.noarch.rpm && yum update zabbix-agent -y && rpm -e danny-release-5-1" ; done
Thanks Sharkcz!