sexta-feira, 26 de setembro de 2008

Palestra sobre Segurança de Redes

Hoje, 26/09, fiz uma apresentação sobre segurança de redes, mais especificamente projeto e gerenciamento de redes seguras para o grupo de estudo em segurança na UFC.

A apresentação é baseada no livro Segurança de Redes, Projeto e Gerenciamento de Redes Seguras – Thomas A. Wadlow.

Nele você não vai encontrar nada técnico, nenhuma ferramenta, ou lista de scripts ...

O que vai encontrar é algo bem melhor: experiência que você levaria alguns anos, depois de muito sofrimento, para aprender. Além de boas práticas, dicas e condutas para montar uma boa estratégia de segurança.

Essencial para quem deseja entrar nesse mundo (in) seguro...

Bom, na minha apresentação você vai encontrar:

Roteiro:
  • O que é segurança?
  • O processo de segurança
  • O processo está funcionando?
  • Política de segurança
  • Como escrever uma política
  • Conteúdo da política
  • Quem está atacando?
  • Boas práticas
A apresentação é focada no conceito de segurança, e o processo contínuo para se chegar a ela. NÃO serão apresentadas ferramentas técnicas, scripts, ou programas de segurança!


Baixe o fonte ou o pdf!

Bom proveito! :)

quinta-feira, 28 de agosto de 2008

SBLP 2008

O XII Simpósio Brasileiro de Linguagens de Programação (SBLP 2008) está ocorrendo neste momento. Começou ontem, 27 de agosto e irá até 29 de agosto.

Hoje compareci ao simpósio e pude prestigiar algumas apresentações que ocorreram dentro do II Workshop on Languages and Tools for Parallel and Distributed Programming (LTPD 2008):

  • Automatic Parallel Code Generation through Denotational Semantics and Dependence Graphs. Carlos Bazilio (UFF), Edward Hermann Haeusler (PUC-Rio)
  • Adaptação da Linguagem pFun para Ambientes de Memória Compartilhada. Cicero Camargo (UFPel), Douglas Rosa (UFPel), Lucas Fonseca (UCPel), Gerson Geraldo H. Cavalheiro (UFPel), André Rauber Du Bois (UCPel)

Pela tarde assisti também:

  • Exploring Lua for Concurrent Programming. Alexandre Skyrme (PUC-Rio), Noemi Rodriguez (PUC-Rio), Roberto Ierusalimschy (PUC-Rio)
  • A Complete and Minimal Set of Algebraic Laws for Feature ModelsRohit Gheyi (UFCG), Tiago Massoni (UFPE), Paulo Borba (UFPE)

A penúltima foi sobre uma linguagem de programação brasileira Lua, que já tinha ouvido falar mas não havia parado pra ler a respeito. Na hora do almoço, eu li um pouco do artigo e me pareceu um trabalho interessante. Entretanto, essa não é muito minha área, não me arrisco a dar opiniões técnicas, hehe.

E amanhã tem mais SBLP...

Enquanto isso, na hora do almoço, uma rápida visita a Ponte dos Ingleses ou Ponte Metálica:













segunda-feira, 25 de agosto de 2008

Empacotamento de Software no Debian GNU/Linux (CESoL 2008)

Dentro do CESoL foram ministrados diversos minicursos muito interessantes. Um deles foi sobre empacotamento de software no Debian, e não podia perder uma oportunidade dessas.

O minicurso de 6 horas foi ministrado pelo Eriberto Mota (lado esquerdo na foto), e pude observar o excelente professor que ele é. As coisas foram bem explicadas, tudo muito didático.




Eu fiquei boquiaberto quando ele comentou a quantidade de brasileiros que realizam este trabalho, que nas palavras dele é um trabalho artesanal. Adivinhem? Pouco mais de 30 brasileiros! Pasmem!

O trabalho de um empacotador nada mais é do que receber o código fonte do autor ou upstream e fazer um tratamento para que siga as políticas da distribuição Debian. Depois disso, este pacote é enviado para os servidores para que eles possam verificar o pacote. Depois de submetido pelo empacotador ou mantenedor do pacote, ele passa por testes (no servidor) para que seja validado.

O trabalho parece complicado de início. Você imagina que seja algo monstruoso, mas nem tanto, só um pouquinho. :P Na verdade, ele exige bastante dedicação e cuidado, visto que é um trabalho grandioso. Imagine que seu pacote será utilizado por pessoas no mundo todo, depois de um dpkg -i ou um apt-get install. É o estímulo que todo mundo precisa.

A idéia pode ser resumida no guia do Eriberto disponível aqui. Ele também disponibiliza um programa exemplo para ser empacotado: o Hello BR. O Debian possui o canto dos desenvolvedores, onde existem várias documentações pra quem está iniciando a vida de empacotamento destacando-se essa, em minha opinião. Bom, agora é só praticar pra chegar a perfeição (falando parece fácil, rsrs).

Eu gostei de uma explanação que ele fez durante o minicurso sobre a colaboração da comunidade. Se alguém chegar pra você e perguntar: "e quando começarem a cobrar por isso...". Você pede pra ele imaginar a taxa de colaboração que ocorre a cada 12 horas, que é quando os servidores pegam todos os pacotes em fila e processam, de magnitude de milhares de pacotes. O que levam mais 2 mil pessoas colaborarem dentro de 12 em 12 horas, enviando pacotes. Se isso tudo se tornasse pago, o projeto se tornaria inviável, a coisa não andaria, e por conseguinte tudo acabaria. Ou seja, nunca vai deixar de ser software livre, já que sendo pago acabaria com o projeto. :)


Bom, depois postarei aqui como anda minha vida iniciante de empacotamento. Por enquanto, é ler, e praticar ...

domingo, 24 de agosto de 2008

Projeto GNOME (CESoL 2008)

Olá pessoal, vou falar um pouco sobre o Congresso Estadual de Software Livre (CESoL) que aconteceu na Universidade Federal do Ceará (UFC), no período de 19 a 23 de agosto de 2008.

Bem, a primeira palestra que pude assistir foi sobre o Projeto Gnome com o John Wendell. Eu sou suspeito para falar sobre o Gnome, meu ambiente gráfico preferido, mas a palestra em si foi boa. O Wendell falou sobre o Gnome com duas visões: o Gnome como projeto, e também como programa.

Como sempre, a necessidade de voluntários para o projeto é grande e a cota de brasileiros presentes trabalhando seja com desenvolvimento ou divulgação é muito pouca. Se duvidar, a gente conta nos dedos os participantes.

Ele falou ainda sobre como é o processo de aceitação de softwares pelo projeto. No geral, você envia o software pra eles, que será agregado ao Gnome na próxima versão, caso seja aceito. Pra ser aceito é feito todo um processo de avaliação como acessibilidade, verificação se os botões de sua interface estão da maneira correta, dentre outras. Mas se o seu software não é aceito de primeira, você pode reenviar com as correções que eles indicaram pra você. :)





No final da palestra, infelizmente não ganhei brinde (hehe), mas nada que uma negociação não resolvesse. Acabei comprando uma blusa do Gnome, por sinal muito bonita. :P




sexta-feira, 25 de julho de 2008

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!


…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!


sexta-feira, 18 de julho de 2008

Shell Script no dia-a-dia 2


Num post anterior, em Shell Script no dia-a-dia, eu falei como poderíamos utilizar shell script para diminuir o tamanho de todas as fotos em um diretório mexendo na qualidade delas. Hoje veremos uma melhoria.

Inicialmente, o script não tratava arquivos com espaços em branco no nome. Bom, depois de quebrar um pouco a cabeça desenvolvi um outro script pra tratar este problema.

A filosofia é trocar os espaços em branco por um caractere (variável $PIVO) e realizar o tratamento dos arquivos. Depois a gente renomeia de volta pro nome original. É simples, segue abaixo:

#!/bin/bash

# Definindo o diretório onde as fotos estão.
if [ $# -eq 1 ]; then
DIR=$1
else
DIR="."
fi

# Diretório destino das fotos diminuidas.
DEST="$DIR/FOTOS_DIMINUIDAS"
TEMP="/tmp/$0-`whoami`-$$"
DEST_TEMP="$TEMP/FOTOS_DIMINUIDAS"


echo
echo "As novas imagens serão enviadas para $DEST"
echo "Pressione qualquer tecla para continuar ou CTRL^C para sair"
read

# Cria diretórios se eles não existem.
test ! -e $DEST && mkdir $DEST
test ! -e $TEMP && mkdir -p $DEST_TEMP

echo
echo "Tratando fotos .jpg ou .JPG em $DIR"
echo

# funcao para diminuir a foto de entrada
diminuir(){
# Foto que será tratada.
ENTRADA="$1"
# Foto que será gerada.
SAIDA="$2"

# Verificando se a foto a ser gerada já existe.
if [ ! -e ${SAIDA} ]; then
echo "gerando ${SAIDA}"
# Comando para converter ou diminuir as fotos
convert -quality 45 "$ENTRADA" "$SAIDA"
else
echo "Não foi possível converter ${FOTO}, pois ela já existe"
echo "Pressione qualquer tecla para continuar ou CTRL^C para sair"
read
fi
}

# Mostra pontilhados (eu sempre quis fazer isso, rsrs)
mostra_pontos(){
echo -n " "
x=0
while [ $x -lt $1 ]
do
sleep 0.1 && echo -n .
x=`echo "$x + 1" | bc`
done
echo -n " "
}

# Executa rotina para cada foto no diretório
PIVO="="
for SEM_ESPACO in `ls -1 ${DIR} | grep -E "*.(jpg|JPG)" | tr [:blank:] "$PIVO" | xargs -n 1 -d "\n" echo`
do
COM_ESPACO=`echo $SEM_ESPACO | tr "$PIVO" " "`
test -f "$COM_ESPACO" && cp "$COM_ESPACO" "${TEMP}/$SEM_ESPACO"
diminuir ${TEMP}/$SEM_ESPACO ${DEST_TEMP}/$SEM_ESPACO > /dev/null
echo -n "gerando ${DEST}/$COM_ESPACO" && mostra_pontos 4
mv "${DEST_TEMP}/$SEM_ESPACO" "${DEST}/$COM_ESPACO" && echo feito
done

# Apagando diretórios temporários
rm -rf $TEMP


terça-feira, 15 de julho de 2008

Instalando o Pidgin no Debian


Pessoas, esta é uma dica de como instalar o mensageiro multi-protocolo Pidgin no Debian.




O Pidgin pode trabalhar com os protocolos abaixo dentre vários outros (veja aqui):
  • AIM
  • Google Talk
  • ICQ
  • IRC
  • MSN
  • XMPP
  • Yahoo!

E o melhor, tudo na mesma aplicação. Legal, né?


Mas como instalar no Debian? É simples, vamos baixar algumas dependências pelo gerenciador de pacotes do Debian, o apt-get (necessário ser root, use su ou sudo):
$ sudo apt-get install libperl-dev libxml-parser-perl libnm-glib-dev libdbus-glib-1-dev libavahi-glib-dev libgtk2.0-dev libxss-dev libstartup-notification0-dev libxml2-dev libgstreamer0.10-dev libmeanwhile-dev libavahi-client-dev network-manager-dev tcl8.4-dev tk8.4-dev libgtkspell-dev

Agora vamos baixar o código fonte da versão mais recente do pidgin aqui com:
$ wget http://downloads.sourceforge.net/pidgin/pidgin-2.4.3.tar.bz2

Vamos descompactar o pidgin com:
$ tar xvf pidgin-2.4.3.tar.bz2

Agora, vamos configurar e compilar e instalar:
$ ./configure && make && sudo make install

Por organização, vamos copiar a pasta do Pidgin para /usr/local/src, que é onde ficarão os códigos fontes de programas compilados. Você pode adotar outro lugar, aqui é por sua conta. Pra economizar espaço, limpe primeiro os arquivos que a compilação gerou e depois copie.
$ make clean
$ sudo cp -R ../pidgin-2.4.3 /usr/local/src/

Com o make clean eu economizei uns 55 MB, que é muito pra mim (rsrs)!

Depois apague a pasta original (já copiamos outra pra /usr/local/src):
$ cd ..
$ rm -rf pidgin-2.4.3

Como podem notar a instalação do Pidgin é simples. Você também ativar um plugin do Pidgin pra te avisar quando houver uma versão nova, já que ele não estará no banco de dados do dpkg .

Vá no menu Ferramentas > Plugins e ative Notificação de nova versão 2.4.3