Introdução ao WebHTB

Em grandes redes surgem algumas necessidades, tais como regras no firewall, segurança na rede, controle da banda disponível etc. Vamos tratar do controle da banda, onde por exemplo, temos 4 MB, onde vários usuários na rede utilizam quase tudo fazendo download.

Lógico que uma combinação de Squid com controle de banda é bom, pois se um usuário pretende baixar um filme em formato .avi, de 800 MB no horário de pico, isso vai prejudicar um pouco a qualidade da nossa navegação e de toda rede.

Podemos bloquear o acesso a downloads de formatos .avi com o Squid e ainda utilizar o controle de banda para prevenir outros downloads gigantes. Isso acontece muito no horário do almoço, ou seja, vídeos de Youtube, download de arquivos grandes e muito mais.

O interesse pelo WebHTB surgiu depois da matéria divulgada na revista de número 56 da Linux Magazine, de julho de 2009.

webhtb

Instalando dependências e criando o certificado

Uma das dependências é que precisamos ativar os seguintes módulos nativos do kernel:

  • HTB – Módulo HTB do Kernel
  • SFQ – Módulo SFQ do Kernel
  • U32 – Módulo U32 do Kernel

Vamos utilizar o comando modprobe para “chamar” (carregar) os módulos:

# modprobe sch_htb
# modprobe sch_sfq
# modprobe cls_u32

Vamos instalar o PHP, MySQL e algumas dependências:

# apt-get install apache2 php5 php5-cli php5-mysql php5-snmp php5-xmlrpc

Instale o OpenSSL para gerar a chave SSL:

# apt-get install openssl ssl-cert

Caso você não instale o OpenSSL verá essa mensagem de erro ao tentar acessar o WebHTB:

“You must use secure HTTPS conection !”

Habilite o módulo SSL Apache2:

# a2enmod ssl
# a2ensite default-ssl

Agora crie o certificado:

# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem

Essa foi a configuração do meu certificado:

Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:AL
Locality Name (eg, city) []:Maceió
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HOME
Organizational Unit Name (eg, section) []:HOME
Common Name (eg, YOUR name) []:Leonardo Damasceno
Email Address []:damasceno.lnx@gmail.com

Vamos dar um restart no Apache:

# /etc/init.d/apache2 restart

Acesse pelo seu navegador:

https://SEUIP

E verifique se realmente foi instalado e ativado o “HTTPS”.

Instalando e configurando o MySQL e o WebHTB

Estamos com o servidor Apache com SSL configurado e funcionando, então vamos partir para o WebHTB.

Acesse o site, leia um pouco da documentação e os problemas:

Ou então faça o download direto através do link:

Descompacte o arquivo baixado e coloque-o no diretório /var/www:

# mv WebHTB_V2.9.bz2 /var/www
# cd /var/www
# tar -jxvf WebHTB_V2.9.bz2
# chown -R root.root webhtb

Vamos instalar o banco de dados:

# apt-get install mysql-server

Se por algum motivo você instalou o banco e ele não pediu nenhuma senha e quando você for acessar o banco ele peça, faça o seguinte:

# mysqld_safe –skip-grant-tables &
# mysql

Agora digite:

mysql> use mysql;

Agora vamos definir a nova senha para o usuário root do MySQL:

mysql> update user set password = password(‘suasenha’) where user=’root’ and host=’localhost’;

Recarregando os privilégios:

mysql> flush privileges;

Agora, independentemente do sistema ter pedido ou não uma senha para o usuário administrador do MySQL, você já possui o password, vamos criar a base de dados:

mysql> create database webhtbdb;
mysql> GRANT ALL PRIVILEGES ON webhtbdb .* TO ‘usuariomysql@localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
mysql> exit

Acesse o SETUP do webhtb para configurar algumas coisas como usuário do banco de dados, senha e interface.

https://SEUIP/webhtb/setup/

Você terá que preencher alguns campos:

  • MySQL Admin user (coloque o usuário administrador do MySQL, geralmente o usuário root)
  • MySQL Admin password (Coloque o password do administrador do MySQL)
  • MySQL WebHTB user (coloque o usuário MySQL do WebHTB, caso você não tenha criado, deixe “root”)
  • MySQL WebHTB password (coloque o password MySQL do WebHTB)
  • MySQL WebHTB password again (repita o password MySQL do usuário do WebHTB)
  • MySQL WebHTB database name (nome da base de dados, no nosso caso foi webhtbdb)
  • Default Interface (escolha a interface: eth0, eth1…)
Clique no botão submit e se você ver essa mensagem:

“SUCCESS. NOW YOU MUST DELETE THE SETUP FOLDER!”

Você acabou de configurar o WebHTB, e realmente está funcionando! :)

Agora, adicione as classes e clientes.

Related Posts with Thumbnails

Deixe um comentario