Pular para o conteúdo

Proxy reverso e balanceamento de carga utilizando o Pound

Muitas vezes é necessário utilizarmos empacotamento SSL em servidores WEB, mas nem sempre é possível porque vários tipos de servidores não oferecem esta funcionalidade ou não são tão seguros como gostaríamos. Este artigo ensina o conceito e configuração do Pound, uma excelente solução para proxy reverso e balanceamento de carga.
Gilberto Russo gilberto.russo
Hits: 32.316 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

Apresentação

O POUND é um proxy reverso, balanceador de carga e um front-end HTTPs para servidores web. Ele foi desenvolvido para permitir a distribuição de carga entre diversos servidores web e possibilitar um empacotamento SSL conveniente para os servidores que não oferecem este serviço de forma nativa.

Sistema Operacional: Linux
Mandriva Linux release 2006.0 for i586
Kernel 2.6.12-12mdk on an i686

Ambiente de teste: Celeron 2.4 / 512 RAM / 80 GB SATA / Celeron 2.4 / 512 RAM.

Pré-requisitos: OpenSSL

Instalação


Obtendo o código fonte:

Acesse o site oficial do Pound para realizar o download da versão mais recente:
Esse documento está baseado na versão 2.0.9.

Você poderá também usar o comando wget para baixar o fonte direto no servidor caso o mesmo não possua interface gráfica habilitada:

# wget http://www.apsis.ch/pound/Pound-2.0.9.tgz

Compilando o Pound:

Antes de descompactar o código fonte do Pound e realizar a compilação, é necessário que criar o usuário e grupo que irão controlar os processos desse serviço, já definindo o home do mesmo como sendo o diretório onde o Pound será instalado:

# adduser pound -d /usr/local/pound

CheckList:

# tail -1 /etc/passwd
# tail -q /etc/group
# ls -ld /usr/local/pound


Descompacte o arquivo do código fonte na pasta /usr/local/src, por ser a pasta mais indicada pela FHS (File Hierarchy Standard) para armazenamento de fontes:

# tar -xvzf Pound-2.0.9.tgz -C /usr/local/src/
# cd /usr/local/src/Pound-2.0.9


Iremos compilar o Pound com suporte a WebDAV e Log, então temos apenas que definir alguns parâmetros de compilação:
  • --enable-msdav - Habilitando suporte a WebDAV;
  • --enable-log - Habilitando sistema de log.

# ./configure --enable-msdav --enable-log

OBS: Por padrão a compilação já vem com suporte a OpenSSL.

Para concluir a instalação você deverá executar os seguintes comandos:

Compilação:

# make

Instalação dos binários no diretório /usr/local/sbin/pound:

# make install

   1. Apresentação
   2. Configuração

Firewalls redundantes utilizando VRRP

Configuração do DKIM no Debian com Postfix e Múltiplos Domínios

KnowledgeTree - Um Gerenciador Eletrônico de Documentos funcional

Acesso remoto utilizando FreeNX

ISCSI - Um sistema de transferência de arquivos diferente

Consegue guardar um segredo?

Instalando o Cisco VPN Client no Linux

Detectando vulnerabilidades com o Nessus

Análise Forense - Aspectos de perícia criminal

Bloqueio de Países com IPTables

#1 Comentário enviado por thelinux em 11/09/2006 - 12:48h
Nota 10. Excelente.
#2 Comentário enviado por helderam em 24/02/2007 - 08:02h
Ola,

Beixei o pound e fiz conforme recomendado. Porem na hora de fazer o .configure apareceu uma mensagem de erro:

checking for BIO_new in -lcrypto... no
Missing OpenSSL (-lcrypto) - aborted

Alguem pode me ajudar ?
Grato,
Helder
#3 Comentário enviado por gilberto.russo em 24/02/2007 - 10:54h
Helder,

vc instalou o OpenSSL completo? Pois ele é um pré-requisito do POUND e o responsável pela segurança das conexões.

Att.,

Gilberto Russo
#4 Comentário enviado por Fcesarsousa em 13/09/2011 - 16:09h
Boa tarde!

Caro Gilberto,

Estou instalando um servidor Pound em uma maquina com o Cent OS e esotu seguindo o seu artigo. Consegui chegar até a marte da compilação mas quando dei o comando MAKE e e mseguida o MAKE INSTALL ele me retornou a seguinte mensagem "-bash: Make: command not found".

Executei ele apartir do diretorio "/usr/local/src/Pound-2.5" este ultimo é onde estão os arquivos descompactados.

Gostaria de uma ajuda. O que fazer neste caso? será que faltou alguma coisa?

Grato,

César Sousa.
#5 Comentário enviado por patronks em 13/09/2012 - 09:17h
Bom dia,

Gilberto, utilizo o Pound e tenho uma dúvida, seria possível por exemplo, receber conexões em com um nome e direcionar para outro, vou dar o exemplo abaixo para facilitar. Precisamos desta configuração, pois temos uma aplicação que roda em webserver próprio e não conseguimos alterar as configurações>

URL acessada de fora: http://www.externo.com.br/XXXXXXX
URL a ser direcionada internamente: http://192.168.0.1/YYYYYYYYY

Talvez não tenha ficado claro a explicação, mas seria receber conexões em uma pasta (/) e direcionar para outra.

Obrigado.

Paulo Henrique.

Contribuir com comentário

Entre na sua conta para comentar.