Instalando o Pidgin

30 05 2008

Pidgin é um excelente client de mensagens instantâneas, que suporta os mais conhecidos protocolos (e os não tão conhecidos também), tais como: MSN, Google Talk, IRC, ICQ, Yahoo!, AIM, XMPP dentre muitos outros.

Vou descrever como instalar a última versão do Pidgin, já que a que está nos repositórios do Etch é véia pakas =p

Primeiramente é necessário a instalação de algumas dependências: aptitude install libxml-parser-perl libgtk2.0-dev libxml2-dev libgnutls-dev libstartup-notification0-dev libgstreamer0.10-dev libgtkspell-dev libmeanwhile-dev libavahi-glib-dev libdbus-1-dev libdbus-glib-1-dev network-manager-dev libperl-dev tcl8.4-dev tk8.4-dev

Agora baixe o fonte do pidgin diretamente do site: http://www.pidgin.im/download/source

Descompacte o arquivo com o comando tar -jxf pidgin-2.2.0.tar.bz2 e entre no diretório criado.

Crie o Makefile para compilação com o comando: ./configure

Para compilar e instalar o programa: make && make install

Agora basta reiniciar seu gerenciador de janelas que o pidgin estará no menu Aplicações. =D





Virtualizando

9 05 2008

Depois de algumas semanas tenebrosas estou voltando a postar regularmente no blog. Também não ocorreram muitas novidades recentemente… No meu tempo livre estou pegando para fazer a interface web para a nova versão do post-la. Mas o meu objetivo agora é estudar virtualização. Comecei a fazer alguns testes com o Xen (zêin) e me empolguei bastante! Ajudei o pessoal do xen-br a homologar o wiki de Compilação do Xen 3.2 do Debian Etch, e agora estou enchendo o saco deles na freenode (#xen-br) rssrss. Neste sábado vou participar do Mão na Massa Xen promovido pela Tempo Real. Quem vai dar o curso é o Jardel Fernandes, que também é meu professor na Faculdade. Pra quem tiver interesse em fazer este treinamento de Xen, haverá outra turma em Julho.

Então é isso… assim que pegar as manhas de virtualizar pingüins eu posto aqui uns tutoriais =)





Replicando base LDAP

14 03 2008

Demorei um pouco, mas estou postando as configurações para fazer réplica do OpenLDAP.
É interessante utilizarmos réplica da base ldap para autenticar serviços em outros servidores. É só pensar do seguinte modo: O que é melhor: meu squid ter que ir até o PDC se autenticar, ou ele fazer a consulta ldap localmente?
Com réplica matamos dois gatos com uma paulada só! Pois criamos uma base de contingência (ou várias) e amenizamos o tráfego na rede.

Levaremos em conta que o openldap esteja instalado e funcionando nos dois servidores.

Configuração do /etc/ldap/slapd.conf no servidor primário:

replogfile /var/log/ldap/slapd.replog
replica host=ip_servidor_secundario:389
 binddn="cn=admin,dc=dominio,dc=com,dc=br"
 bindmethod=simple credentials=senha

Atenção!! Atente para o espaço em branco no inicio das duas ultimas linhas. ;)

Configuração do /etc/ldap/slapd.conf nos servidores secundário:

updatedn "cn=admin,dc=dominio,dc=com,dc=br"
updateref ldap://ip-servidor-primario:380

É necessário que o servidor OpenLDAP secundario tenha os mesmo dados que o servidor OpenLDAP primario, para isto iremos gerar uma copia da base do servidor OpenLDAP primario:
slapcat -v -l /home/usuario/base.ldif
Transfira o arquivo para o servidor secundário, e importe os dados:
slapadd -v -l base.ldif

Antes de iniciar o ldap no servidor secundário verifique as permissões no diretório: /var/lib/ldap/. Todos os arquivos devem ser do usuário openldap. (chown openldap.openldap /var/lib/ldap/*)
inicie o ldap.

Agora faça uma alteração na base principal e verifique se o servidor secundário está sendo atualizado.

That’s all…





netfilter/iptables turbinado com layer7

13 02 2008

Layer7 é um excelente plugin para o netfilter/iptables que trabalha na camada de aplicação, dando maior flexibilidade ao firewall. Este é um tutorial para aplicação do patch no kernel e no iptables.

baixar fontes do kernel (http://kernel.org)

baixar fontes do layer7 e os protocolos (http://sourceforge.net/projects/l7-filter)

baixar fontes do iptables (http://www.netfilter.org)
ftp://ftp.netfilter.org/pub/iptables/

descompactar kernel em /usr/src
descompactar layer7 e protocolos em /usr/src/layer7

aplicar patch do layer7:
cd /usr/src/linux
patch -p1 < /usr/src/layer7/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch

configurar o kernel: make menuconfig

habilitar as opções: (copiado descaradamente do blog do César Domingos)
Networking –>
Networking options –>
[*] Network packet filtering framework (Netfilter) –>
[*] Bridged IP/ARP packets filtering
Core Netfilter Configuration —>
<M> Netfilter netlink interface
<M> Netfilter NFQUEUE over NFNETLINK interface
<M> Netfilter LOG over NFNETLINK interface
<M> Netfilter connection tracking support
-*- Connection tracking flow accounting
-*- Connection mark tracking support
[*] Connection tracking security mark support
[*] Connection tracking events (EXPERIMENTAL)
<M> SCTP protocol connection tracking support (EXPERIMENTAL)
<M> UDP-Lite protocol connection tracking support (EXPERIMENTAL)
<M> Amanda backup protocol support
<M> FTP protocol support
<M> H.323 protocol support (EXPERIMENTAL)
<M> IRC protocol support
<M> NetBIOS name service protocol support (EXPERIMENTAL)
<M> PPtP protocol support
<M> SANE protocol support (EXPERIMENTAL)
<M> SIP protocol support (EXPERIMENTAL)
<M> TFTP protocol support
<M> Connection tracking netlink interface (EXPERIMENTAL)
{M} Netfilter Xtables support (required for ip_tables)
<M> “CLASSIFY” target support
<M> “CONNMARK” target support
<M> “DSCP” target support
<M> “MARK” target support
<M> “NFQUEUE” target Support
<M> “NFLOG” target support
<M> “NOTRACK” target support
<M> “TRACE” target support
<M> “SECMARK” target support
<M> “CONNSECMARK” target support
<M> “TCPMSS” target support
<M> “comment” match support
<M> “connbytes” per-connection counter match support
<M> “connlimit” match support”
<M> “connmark” connection mark match support
<M> “conntrack” connection tracking match support
<M> “DCCP” protocol match support
<M> “DSCP” match support
<M> “ESP” match support
<M> “helper” match support
<M> “length” match support
<M> “limit” match support
<M> “mac” address match support
<M> “mark” match support
<M> IPsec “policy” match support
<M> Multiple port match support
<M> “physdev” match support
<M> “pkttype” packet type match support
<M> “quota” match support
<M> “realm” match support
<M> “sctp” protocol match support (EXPERIMENTAL)
<M> “state” match support
<M> “layer7″ match support
[ ] Layer 7 debugging output
<M> “statistic” match support
<M> “string” match support
<M> “tcpmss” match support
<M> “time” match support
<M> “u32″ match support
<M> “hashlimit” match support

IP: Netfilter Configuration —>
<M> IPv4 connection tracking support (required for NAT)
…… (Tem mais opções antes)
<M> Full NAT
<M> MASQUERADE target support
<M> REDIRECT target support
<M> NETMAP target support
<M> SAME target support (OBSOLETE)
<M> Basic SNMP-ALG support (EXPERIMENTAL)

Criar pacote .deb para instalar o kernel:
make-kpkg –revision=1 –append-to-version=-hbueno kernel_image

Criar ram drive para não dar pau na inicialização:
make-kpkg –append-to-version=“-hbueno” –initrd –us –uc kernel_image

Instalar o kernel:
dpkg -i linux-image-2.6.23.12-hbueno_1_i386.deb

Reinicie a máquina com o novo kernel

Decompactar fonte do iptables e entrar no diretório descompactado em /usr/src/layer7
Aplicar patch do layer7 no iptables:
patch -p1 < /usr/src/layer7/netfilter-layer7-v2.17/iptables-1.4-for-kernel-2.6.20forward-layer7-2.17.pa
chmod 755 extension/.layer7-test
make KERNEL_DIR=/usr/src/linux
make install KERNEL_DIR=/usr/src/linux

A instalação do layer7 no iptables está finalizada. Vamos agora instalar os protocolos.
cd /usr/src/layer7/l7-protocols-xxxx
make install

Exemplo de regra para testar:
iptables -A FORWARD -m layer7 –l7proto bittorrent -j DROP





PDC Samba com OpenLDAP

11 02 2008

Recentemente precisei implantar Samba como PDC autenticando em uma base LDAP. Encontrei muito material na internet, porém alguns muito complexos, outros incompletos. A questão é que deve-se saber muito bem o que está fazendo antes de um projeto como esse. Ainda mais levando em conta que a base LDAP irá autenticar outros serviços, como squid e aplicações internas. Costumo aplicar a filosofia KISS (Keep It Simple, Stupid), pois quanto mais complexo for, mais fácil é de dar problemas e mais demorado é para solucioná-los. Tudo isso tive que levar em conta, afinal não quero perder meu emprego.

Após ler vários manuais e fazer inúmeros testes, fiz a implantação do Samba + OpenLdap + Squid. Este é um passo-a-passo que criei enquanto fazia a implantação.

Tutorial: Samba como PDC + OpenLdap + Squid no Debian Etch.

Instalar o Samba: aptitude install samba samba-doc winbind
Arquivo exemplo de configuração do smb.conf: smb.conf

Instalar o OpenLDAP: aptitude install openssl db4.2-util sasl2-bin libsasl2-modules libsasl2-modules-ldap slapd ldap-utils

Copiar o schema do samba para o ldap:
cd /usr/share/doc/samba-doc/examples/LDAP/
gunzip samba.schema.gz
cp samba.schema /etc/ldap/schema/
cd /etc/ldap

Arquivo exemplo de configuração do slapd.conf: slapd.conf

descomentar a linha: allow bind_v2
Adicionar o schema do samba(no final da lista):
include /etc/ldap/schema/samba.schema
suffix “dc=empresa,dc=com,dc=br”
password-hash {MD5}
rootdn “cn=admin,dc=empresa,dc=com,dc=br”
rootpw (senha MD5)
access to attrs=userPassword,shadowLastChange,sambaNTPassword,sambaLMPassword
by dn=”cn=admin,dc=empresa,dc=com,dc=br” write

Comando para criar senha: slaplasswd -h {MD5} -s senha

reiniciar openldap: etc/init.d/slapd restart

verificar se está online: netstat -lnt |grep 389
ps aux |grep slapd

Instalar smbldap-tools:aptitude install smbldap-tools

Editar os arquivos em /etc/smbldap.conf:

smbldap.conf

smbldap_bind.conf

Pegar o SID do samba: net getlocalsid

Passar a senha do admin do openldap para o samba: smbpasswd -w senha_adm_ldap

Popular a base: smbldap-populate

Inserir usuário root na base ldap: smbpasswd -a root (caso dê erro, popule a base novamente)

Instalar nss: aptitude install libnss-ldap
editar /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
editar /etc/libnss-ldap.conf
bind policy soft (remover logs na inicialização do servidor)

Verifique se o sistema está reconhecendo os usuários da base com o comando: getent passwd

Por indicação do pessoal da lista debian-br estou utilizando a ferramenta LAM (LDAP Account Manager) para gerenciar minha base LDAP. Realmente é uma excelente opção para gerenciamento de um PDC.

instalar dependências: aptitude install apache2 apache2-ssl php5 php5-ldap php5-mhash php-fpdf
site oficial: http://sourceforge.net/projects/lam
wget http://ufpr.dl.sourceforge.net/sourceforge/lam/ldap-account-manager_2.2.0-1_all.deb
dpkg -i ldap-account-manager_2.2.0-1_all.deb

Configurar a memória do apache:
editar o arquivo /etc/php5/apache2/php.ini
Alterar o parâmetro memory_limit para 64M

Acessar o endereço: http://seu_ip/lam

Para configurar o squid para acessar a base ldap basta utilizar a autenticação ldap_auth:

auth_param basic program /usr/lib/squid/ldap_auth -b “ou=users,dc=empresa,dc=com,dc=br” -h ip_do_servidor_ldap -v 3

No meu próximo post, abordarei backup e réplica da base LDAP.





Instalando Debian em servidores Dell

22 01 2008

DellRecentemente instalei o Debian Etch em um servidor Dell. Já havia instalado Red Hat, mas nunca Debian em um servidor de grife. No começo a instalação ocorreu sem nenhum problema… reconheceu placa de rede, as controladoras, montei LVM sob RAID1… estava tudo fluindo perfeitamente… até que começou a fazer a cópia dos arquivos para o disco. Logo nos 22% da cópia o instalador acusou erro de gravação. Entrei no terminal4 e lá estava indicando que os discos estavam offline. Rebotei a máquina, conferi os RAID’s que havia configurado, e estavam todos OK. Já estava apelando para o google quando lembrei dos parâmetros especiais de instalação. Reiniciei o servidor (máquinas Dell demoram uma eternidade para bootar) iniciou o instalador, pressionei F1 depois F7 e lá estava o parâmetro que deveria usar:

Certain DELL machines —- aic7xxx.aix7xxx=no_probe

Esse comando vai para a minha caixa de ferrametas

É por isso que eu sempre digo: “Lê a tela sysadmin!!!” .. rssrss (piadinha interna)





Compilar kernel no Debian

10 01 2008

Receita de bolo para compilar kernel no Debian.

Instalar pacotes necessários:

# aptitude install libncurses5-dev gcc make kernel-package initramfs-tools

A estruta do kernel deve estar em /usr/src, então vá para diretório.

# cd /usr/src

Faça download do kernel e descompacte-o:

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.13.tar.bz2

# tar -xvjf linux-2.6.23.13.tar.bz2

# cd linux-2.6.23.13

Para iniciar a configuração do kernel a partir de um padrão para a arquitetura i386 faça:

# cp arch/i386/defconfig .config

Caso deseje recompilá-lo com base no atual, execute:

# make oldconfig

Para configurar o kernel propriamente dito:

# make menuconfig (dentro de /usr/src/linux-2.6.23.12)

Após configurar o kernel, vamos criar os pacotes para instalação:

# make-kpkg –revision=1 –append-to-version=-hbueno kernel_image

Será gerado o arquivo kernel-image-2.6.23.12-hbueno_1_i386.deb em /usr/src

Para instalar:

# dpkg -i kernel-image-2.6.23.12-hbueno_1_i386.deb

É aconselhável criar o RAM driver initrd. Isso evita muitos KERNEL PANIC! ; )

#  make-kpkg –append-to-version “-hbueno” –initrd –us –uc kernel_image

dpkg -i linux-image-2.6.23.12-hbueno_1_i386.deb

Feito isso basta reiniciar a máquina.





Recuperar senha do root

27 11 2007

Já aconteceu com você, nem que foi apenas uma vez, de criar aquela senha enorme com letras, números, caracteres especiais, código morse… e se esquecer dela? Não?!?! pois é, nem eu! (huehuehuhe) mas sempre tem quem esqueça.
E se essa senha for a do root?
Então vou mostrar um modo (existem vários) de alterar a senha do root sem precisar saber a senha atual. Neste exemplo vou demonstrar utilizando o grub no debian (grub porque vem se tornando o padrão por ser mais seguro, e debian pq eu uso debian :p)

Let’s hacking!

Reinicie a máquina.

Quando entrar no grub, selecione a imagem do boot que você utiliza. e tecle “e” para editar.

Selecione a linha do Kernel e tecle “e” para editar a opção.
Agora você está em modo de edição da configuração do grub.
Obs: Estas alterações não serão salvas no arquivo de configuração do grub, servirão apenas para este boot.
Apague tudo que estiver depois da partição do root.
Insira “rw init=/bin/bash”;
Exemplo:
antes:
“kernel /boot/vmlinuz-2.6.18.3 root=/dev/hdb1 ro vga=791″
depois:
“kernel /boot/vmlinuz-2.6.18.3 root=/dev/hdb1 rw init=/bin/bash”

Tecle Enter;
Tecle “b” para bootar com as novas configurações.

O sistema irá iniciar em modo monousuário, não pedirá senha.
Após iniciar basta usar o passwd para escolher a nova senha para o root e reiniciar a máquina… and be happy!





Guia de referência para Debian

30 10 2007

Todos temos nossa distro preferida, porém um bom profissional deve conhecer pelo menos as principais do mercado. E não é novidade que um dos problemas do linux é a falta de padronização entre distribuições. Por isso, para ajudar quem não é familiarizado com o Debian mas precisa utilizá-lo vez por outra, a comunidade desenvolveu um guia de referência.

fisl8

E essa foto aí em cima? É só pra me gabar mostrando que fui no FISL esse ano! huehuehue.





Debian e Ubuntu suportados pela IBM para o Informix

9 10 2007

IBMA IBM anunciou suporte a Debian e Ubuntu para o Informix. Até a versão 10.00.x as únicas distribuições homologadas eram RedHat e Suse. Debian é a primeira distribuição mantida 100% pela comunidade a tornar-se homologada pela Big Blue.

Esta notícia só vem a aumentar a credibilidade da distro, e a confiança dos gerentes de TI na hora de optar pelo sistema operacional dessa parte tão crítica da estrutura de uma empresa, que é o banco de dados.

Link para o anúncio Oficial: iiug ibm

Mais informações: IBM