Arquivo mensal: março 2010

Ubuntu LVM Guide

Logo Ubuntu

This guide shows how to work with LVM (Logical Volume Management) on Linux. This guide was originally written by Falko Timme <ft [at] falkotimme [dot] com> (here), but I’ve re-organized and adapted it to be used as more of a reference for those looking for something a little more abstract.

[ad#adposts]

Abstract:

LVM is a logical volume manager for the Linux kernel. It was originally written in 1998 by Heinz Mauelshagen, who based its design on that of the LVM in HP-UX.

Notes:
[ad]

I adapted this guide for use on Ubuntu 7.04, so I can’t guarantee it will work exactly as advertised on anything else. With that in mind, if you install all the correct packages, it should work on any distribution.

I know there are formatting problems – but I’ll get to them.  It took me nearly 4 months to actually get around to completing the guide, but I hope to fix up the formatting sometime in the near future.

Continuar lendo

Anúncios

Truques via Iptables para Limite de Conexões TCP Simultâneas

This is sort of a self-documenting post, and a self-support group about ill-behaved tomcat apps. Sometimes, you have multiple nodes accesing your MySQL server (or any kind of server, for that matter) concurrently. Eventually, software in one or more of these nodes might do nasty things (you know who you are buddy:)) MySQL provides a built in mechanism to limit concurrent connections, but this can only be set for the whole server, or on a per user basis. Unfortunatly, most of these setups use the same database user for all their nodes, so this feature can’t be used to confine any possible damage. Enter your good friend iptables. This isn’t perfect, but this little trick might help you while programmers take care of their business:

iptables -A INPUT -p tcp -m recent –rcheck –seconds 60 -j REJECT iptables -A INPUT -p tcp –dport 3306 -m connlimit –connlimit-above 2 -m recent –set -j REJECT

(The number of seconds and the concurrency limit here are examples for testing only, set them to proper values if you use them in your servers!) This two rules create a recent ‘bad guy’ list, and send any source that exceeds two concurent connections on tcp pot 3306 to this list for 60 seconds. If used smartly with a proper timeout value for MySQL connections, this could be useful for situations such as the one I described.

Open LDAP com TLS Debian Etch

apt-get install slapd ldap-utils openssl ssl-cert libsasl2-modules db4.2-util

slappasswd -s SENHA -h {MD5}

slapadd -v -q -b “dc=ldap1,dc=govpr,dc=br” -l ldap-backup-sesp-2a.ldif

vi /usr/lib/ssl/misc/CA.sh
Modificar linha: $CA -policy policy_anything -days 1460 -out newcert.pem -infiles newreq.pem

Crie um diretório novo em / chamado certificados (/certificados) e então cd /certificados

/usr/lib/ssl/misc/CA.sh -newca -> Gera o certificado da Autoridade Certificadora. (Não esqueça a senha)
Responder as perguntas.
Cuidado com o Common Name, deve ser o mesmo da saida hostname -f (arquivo hosts)

openssl req -new -nodes -keyout newreq.pem -out newreq.pem -> Gera a Chave para o servidor.
Responda as perguntas.
As senhas devem ser deixadas em branco.

/usr/lib/ssl/misc/CA.sh -sign -> Assine o certificado do servidor e a chave privada.
A senha da Autoridade Certificadora será pedida.
Reponda as perguntas.

CONFIGURAÇÃO DO OPENLDAP:
Copie os arquivos gerados para um diretório chamado /etc/ldap/tls/

ldap:/etc/ldap/tls# cp /certificados/demoCA/cacert.pem ./

ldap:/etc/ldap/tls# cp /certificados/newcert.pem ./cert.pem

ldap:/etc/ldap/tls# cp /certificados/newreq.pem ./key.pem

Adiciona as linhas abaixo no arquivo slapd.conf antes da linha “database bdb”
#######################################################################
# CERTIFICADO
TLSCACertificateFile /etc/ldap/tls/cacert.pem
TLSCertificateFile /etc/ldap/tls/cert.pem
TLSCertificateKeyFile /etc/ldap/tls/key.pem

Edite o aquivo /etc/default/slapd e adicione ou modifique a seguinte linha:
SLAPD_SERVICES=”ldap:/// ldaps:///”

Edite o arquivo /etc/ldap/ldap.conf e adicione a seguinte linha:
TLS_REQCERT allow

Reinicie o serviço:
/etc/init.d/slapd restart

Verifique se a porta 636 (ldapssl) esta aberta:
nmap localhost

e teste a conexão com o ldapssl:
ldapsearch -C -x -H ldaps://<common name> “(uid=<usuario>)” cn -b “dc=pr,dc=gov,dc=br”

Compilando Kernel do FreeBSD (Método "Novo")

Depois de ter algumas dificuldades na compilação do kernel do FreeBSD por conta de erros na execução, resolvi mudar minha maneira de como fazê-lo não utilizando mais o modo antigo (config <KERNEL> && make depend && make && make install) e utilizando o modo build global para evitar qualquer tipo de erro na compilação.

O primeiro passo, claro, é verificar se existe o source do kernel instalado na máquina em /usr/src/sys

Caso não exista, a maneira mais fácil de instalar é usando o sysinstall escolhendo a opção Configure->Distributions, depois src então base e sys.

Continuar lendo

Compilando Kernel do FreeBSD (Método “Novo”)

Depois de ter algumas dificuldades na compilação do kernel do FreeBSD por conta de erros na execução, resolvi mudar minha maneira de como fazê-lo não utilizando mais o modo antigo (config <KERNEL> && make depend && make && make install) e utilizando o modo build global para evitar qualquer tipo de erro na compilação.

O primeiro passo, claro, é verificar se existe o source do kernel instalado na máquina em /usr/src/sys

Caso não exista, a maneira mais fácil de instalar é usando o sysinstall escolhendo a opção Configure->Distributions, depois src então base e sys.

Uma vez instalado o source do kernel, já é possível então criar seu kernel manualmente apenas fazendo uma cópia de algum exemplo já instalado junto com o source em /usr/src/sys/i386/conf, e depois modificando o mesmo para adaptar-se ao nosso sistema (Eu utilizo uma cópia do GENERIC).

Depois de pronto, agora é só compilar o kernel utilizando o novo método de compilação:

1. Mude o diretório para /usr/src

# cd /usr/src

2. Compile o kernel

# make buildkernel KERNCONF=KERNELNOVO    (KERNELNOVO deve ser modificado para o nome que você escolheu para seu novo kernel)

3. Instale seu novo kernel

# make installkernel KERNCONF=KERNELNOVO

4. Reinicie o sistema para carregar o novo kernel

# shutdown -r +0

Nota: É preciso ter toda a árvore de fontes (source) instalados para construir o novo kernel.

O novo kernel será copiado para o diretório /boot/kernel como /boot/kernel/kernel enquanto que o kernel antigo será movido para o diretório /boot/kernel.old/kernel