Instalando o WebHTB

WebHTB é uma interface web para o controle de banda. O HTB-Tools é muito conhecido e utilizado para fazer o controle de banda, mas agora temos o HTB com uma interface de fácil gerenciamento e de uma enorme utilidade.

[ Hits: 61.897 ]

Por: Leonardo Damasceno em 05/11/2009 | Blog: https://techcraic.wordpress.com


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.

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".

    Próxima página

Páginas do artigo
   1. Introdução ao WebHTB
   2. Instalando e configurando o MySQL e o WebHTB
Outros artigos deste autor

Segurança com iptables

Segurança em seu Linux (parte 2)

Criando DMZ com o PFSense

Segurança em seu Linux

PFSense com Snort

Leitura recomendada

Agora sim... o pingüim fala português!

GNU Emacs, o primeiro GNU

Instalação do GLPI no Debian 8

Home Estúdio com 2 ferramentas poderosíssimas

Testes de stress no Apache com o comando ab

  
Comentários
[1] Comentário enviado por xerminador em 05/11/2009 - 09:46h

Aparenta ser bem simples e pratíco e objetivo...

Irei testar o tuto e direi o resultado...


Vlw.

[2] Comentário enviado por grandmaster em 05/11/2009 - 19:32h

Muito legal.

me pareceu bastante interessante.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por Diane Carvalho em 07/11/2009 - 15:03h

Olha , sou nova no Viva o Linux , e realmente parece ser bem objetivo as coisas e a execução ; Bom artigo !

[4] Comentário enviado por frozendesigner em 08/11/2009 - 07:19h

instalei aqui mas na tela de login não loga para!!! alguém conseguiu...

[5] Comentário enviado por removido em 08/11/2009 - 14:18h

Conferido e testado.
Funcionou OK.
E bem interessante a ferramenta.

Parabens

[6] Comentário enviado por frozendesigner em 08/11/2009 - 14:39h

timidboy que distro você usou, uso fedora 11 no meu server ainda não consegui logar...

[7] Comentário enviado por removido em 08/11/2009 - 14:45h

Eu uso debian codynome lenny, versao netinst.

Tenta debugar isso nos logs, pois é bem tranquilo de funcionar. Pode ser algum detalhe que esteja faltando.

[8] Comentário enviado por Marcus-RJ em 09/11/2009 - 13:23h

Ja tinha testado o webhtb antes, no debian lenny. Comigo a página web, depois de algumas modificações "funcionou", porém nada do que era aplicado pela interface web era efetivado no servidor.
Eu colocava controle de banda de 300kbps para um determinado cliente via interface web porém o cliente continuava a trafegar sem limite algum.

Não sei onde pode estar o erro. :(

Continuo usando o htb-tools via linha de comando, pelo menos está funcionando de verdade!

[9] Comentário enviado por deomar_almeida em 27/01/2010 - 15:19h

E ai jovem, muito bom artigo explicando a respeito do WEBHTB, só que tenho uma duvida, fiz todo o procedimento e não foi necessário fazer os procedimentos para configurar a senha do Mysql por que na instalaçã o mesmo já pediu porém, a duvida é a seguinte eu instalei esta corretamente instalado e funcionando. Porém como faço para adicionar clientes e o que é necessário. Tenho um link de 10MB e tenho em mente oferecer para 5 pessoas um link de 1MB para cada como seria feita essa configuração?

Quando eu clico em adicionar cliente apareçe uma tela com as opções necessárias porém toda via eu não entendi as partes nas quais IPS de ORIGEM, PORTAS DE ORIGEM, IPS DE DESTINO e PORTAS DE DESTINO. Essas opções eu tenho que colocar o IP da pessoa que ela me conectar no caso do PC dela? Ou poderia ser por exemplo um no-ip já que elas não tem um ip fixo e muito menos eu e as portas de origem quais seriam? Assim como ip de destino e portas de destino? Poderia me ajudar com essa duvida?
Tem a parte que pede o MAC no caso seria o da placa de rede do cliente correto?


Att
Deomar Almeida

[10] Comentário enviado por leodamasceno em 27/01/2010 - 15:30h

Olá deomar_almeida, faz tempo que não utilizo o WebHTB, mas vou tentar ti ajudar...
Na época que implantei, tive as mesmas dúvidas que você, e material sobre o software ainda é um pouco difícil encontrar!
Porém, consegui fazer funcionar testando, mas o seu pensamento tá correto!

IPS de ORIGEM, PORTAS DE ORIGEM, IPS DE DESTINO e PORTAS DE DESTINO

Se não me engano, você especifica o MAC, e apenas o IP de origem...
Porque no caso seria o IP do cliente, com o MAC lá amarrando isso, e o destino, deixando em branco ficaria para TODOS os destinos, entende?
A lógica é essa.


Espero ter ajudado! :)

[11] Comentário enviado por deomar_almeida em 27/01/2010 - 18:21h

Vou dar uma testada aqui, mais então eu posso utilizar um no-ip para ser o ip fixo do cliente mais o mac amarrando o mesmo...
Mais vou fazer um teste sem o no-ip por que se o programa reconheçer pelo mac não é necessário um IP fixo para fazer a conexão.
Vou deixar a porta de origem em branco por que ai como você disse também abrange todas as portas.

[12] Comentário enviado por deomar_almeida em 27/01/2010 - 18:22h

Vou até fazer o seguinte se funcionar da seguinte forma que eu expliquei vou aproveitar o seu artigo e vou termina-lo por que para quem tem interesse é seria bem melhor...

[13] Comentário enviado por mhall em 05/02/2010 - 00:37h

amigo essa config serve pro pfsense estou utilizando ele mais tenho pouco conhecimento, um amigo conf ele pra mim.

[14] Comentário enviado por dutocampelo em 09/02/2010 - 01:04h

Amigo, sou novato e estou no Debian Leny, até oponto do tar -jxvf WebHTB_V2.9.bz2 deu certo mas não consigo descompactar nem a pau, testei em outras distribuiçoes e deu certo, o que pode ser?

[15] Comentário enviado por dutocampelo em 09/02/2010 - 01:39h

Resolvido com o Alien

[16] Comentário enviado por cupimbh em 26/03/2010 - 23:04h

ola amigo, gostei muito do seu tutorial e cheguei a instalar e deixar tudo funcionando como você explicou. Gostaria que me ajudasse em uma questao, acho que nao estou entendendo a logica da coisa. Apos instalado, crio uma classe com o total de 2Mbits. Dentro coloco um cliente com 512Kbits de upload,download e limite. No computador que esta instalado o HTB é um firewall e ele tem uma regra que redireciona as portas na entrada 80 para o respectivo servidor da rede, entao, coloco no destino o ip do servidor apache. O que ocorre é que ao fazer um download, a taxa cai na regra default, que é padrao 8. se eu aumentar o default ele curiosamente entra na regra que eu criei. Como fuciona esse htb? pq a default so pode ser multiplos de 8? realmente nao estou entendendo.

ps. se quiser me indicar um tutorial que explique isso, tudo bem.

abracos.

[17] Comentário enviado por blooddragon em 01/04/2010 - 12:48h

Caros colegas,

quando digito o comando abaixo na instalação da o seguinte erro:

imperium:/var/log/squid# a2ensite default-ssl
This site does not exist!
imperium:/var/log/squid#

como poderia resolver???

[18] Comentário enviado por leodamasceno em 07/04/2010 - 11:15h

Olá blooddragon, pelo que vi, você não fez a instalação correta do ssl-cert, que no artigo mostra:

# apt-get install openssl ssl-cert

Depois, habilite o ssl:

# a2enmod ssl
# a2ensite default-ssl


Claramente, isso vai funcionar. :)

[19] Comentário enviado por blooddragon em 15/04/2010 - 13:35h

Obrigado colega pela resposta,
vou verificar e retorno....


[20] Comentário enviado por jefersonnteles em 28/05/2010 - 14:57h

Olá, estou usando o debian Lenny consegui fazer mas o webHTB não inicia pela Web somente através do comando "/var/www/webhtb/docs/webhtb start", seguindo a propria ajuda que vem na pasta docs no arquivo "INSTALL_EN.txt. Através da web consigo cadastrar os controles as classes e as interfaces mais não consigo aplicar nenhuma configuração tenho que dar um "restart" como no comando anterior, e quando faço o login no webhtb e mostra que existe uma atualização mas se atualizo não consigo mais fazer login no mesmo...
Se alguem já teve estes problemas e tiver uma solução, aguardo retorno!

Desde já grato!

[21] Comentário enviado por guthos em 30/09/2010 - 15:19h

Boa tarde!

Pessoal Instalei o webhtb conforme o tutorial explica.
Carreguei os modulos, instalei o webhtb juntamente com o Mysql/Apache e SSL a principio muito fácil.
A aplicação abre normalmente pelo browser no https://localhost/webhtb informo a senha e loga normalmente.
Até ai tudo bem! Criei as Classes e os clients dava como exemplo mas o webhtb não está gerenciando o tráfego.
No relatorio em "Mostrar tráfego" o campo Speedy fica em branco, o que pode estar acontecendo será que eu esqueci algum passo ?
Eu configurei no gateway de uma das estações o IP do servidor aonde esta o Webhtb e entrei em dois sites que medem a velocidade e ambos deu acima do que eu tinha colocado como permitido.
Alguem sabe o que pode estar acontecendo ?
Obrigado
Guthos

[22] Comentário enviado por evertonrezende em 09/04/2011 - 09:46h

Estou com o mesmo problema do colega de cima, instalei o webhtb no CENTOS e entro na interface web , faço as políticas mais não mostra nenhum tráfego, está em branco , alguem poderia nos ajudar?????Obrigado!
Everton.

[23] Comentário enviado por udsonfassis em 27/06/2011 - 23:19h

Gostei muito desta ideia, instalei, porem estou com dificuldades para acessa, pois não consigo Logar.
The 'root' password, please :
Não cadastrei nehuma senha para isto e nenhuma das senhas que usei na instalação funciona.

Se alguem puder dar uma mãozinha, fico Grato.

valeu galera

[24] Comentário enviado por sandrosroot em 08/07/2011 - 17:17h

udsonfassis

Eu tive o mesmo problema aqui, tentei usar a dica de jeffskt2002 mas não deu certo, entao localizei o script startup.php no diretorio raiz do webhtb e iniciei executando o seguinte comando:

# php startup.php

ou entao altera o arquivo "/var/www/webhtb/docs/webhtb" na 5ª linha de comando altera para dir="/var/www/webhtb"
No meu caso deu certo pq o diretorio escrito ai estava incorreto.
Finalmente passou da autenticação, agora vou testar as regras.

Flws.

[25] Comentário enviado por pinguintux em 08/08/2011 - 23:20h

Parabéns pelo Tutorial!
Segui passo a passo e funcionou perfeitamente!
Agora, estou tendo dúvidas sobre como limitar a velocidade do upload. Tentarei ser mais claro:
Tenho uma rede com 20 máquinas e um link de internet com 50 Mbps de download e 5 Mbps de upload. O servidor roda o squid transparente perfeitamente com duas interfaces de rede (Eth0= Internet e Eth1= Rede Interna). Então, vem a seguinte questão: no download eu configuro na placa de rede interna (Eth1) o mínimo e o máximo que cada usuário terá para download. Como eu faço para especificar o mínimo e o máximo de upload na placa de rede? (pelo que entendi, o upload é na interface de rede da internet. Se puderes esclarecer esta dúvida eu ficaria muito grato, pois estou tendo bastante dificuldade com esta questão!
Abraço!

[26] Comentário enviado por marcelo_mcq em 29/08/2011 - 12:13h

Pessoal...

Não conseguir logar...ele fica carregando...carregando e nunca loga...certeza que a senha nao esta errada fiz o procedimento mais de 6 vezes ...nao funciona...alguem poderia me ajudar por favor uso a distro ubuntu server 11.04 fiz as modificações que o sandrosroot mencionou e mesmo assim ainda nao logou...me ajudem por favor...

Obrigado desde já!!

[27] Comentário enviado por marcelo_mcq em 29/08/2011 - 12:13h

up!

[28] Comentário enviado por tosko em 15/12/2011 - 14:08h

o problema de não logar (ficar rodando e rodando na tela de login) eu resolvi instalando o ssh (apt-get install ssh), pelo que entendi ele usa alguma dependencia/pacote do ssh para fazer a autenticação.

[29] Comentário enviado por Tarius em 23/03/2012 - 17:30h

Boa tarde a todos!

Tenho so uma pergunta exite alguma maneira de usar o WebHtb no Slackware 13.1? Porque eu ate consegui abrir a 1 tela onde pede para eu colocar login e senha do MySql e do Webhtb mas sempre me retorna login ou senha incorretos. "Cannot connect to MySQL with: root and minhasenha on host 127.0.0.1". So uma observação eu estou acessando por 1 ip valido que o pc esta no trabalho e eu estou trabalhando de casa sera esse o problema?

Desde já grato.

[30] Comentário enviado por xflavio em 10/05/2012 - 10:00h

segui todo tutorial na instalação e o meu webht só fica rodando naquela tela na hora de fazer o login, alguém conseguiu resolver essa situação?

[31] Comentário enviado por adrianobezerrafs em 26/06/2012 - 19:15h

Opa, sou novo no forum e tive um problema ao instalar o webhtb aqui no meu ubuntu 10.11. Seguinte, fiz todo o procedimento ai quando eu vou entrar no site pelo navegador da a seguinte mensagem: "You dont have access to use WebHTB 192.168.1.102 !" ja refiz e nada. Alguem aí pode dá uma ajuda??

[32] Comentário enviado por Carlos_Cunha em 12/01/2013 - 01:35h

Opa! Segui todos os passo e instalou com sucesso! Agora vou apreder a usar hehe
Muito Obrigado pelo POST!!!!
Para quem esta com problemas de login ficar "pensando" e não ir, vamos aprender a ler os comentários, tem varias dicas, para resolver isso tem que ter instalado e rodando o serviço de ssh(padrão na 22) pois ele usa oara autenticar, fazendo isso ira funcionar.

[33] Comentário enviado por paulodiego7 em 27/11/2013 - 15:44h

Estou com o mesmo problema na tela de login. Já mudei a porta do SSH e nda ainda. Alguem para ajudar?

[34] Comentário enviado por fpfilho em 05/08/2014 - 21:10h

Eu uso um servidor linux já tenho o HTB-tools rodando quero usar webhtb já instalei para fazer teste mais ainda não tive acesso a interface gráficar gostaria de saber onde eu possa ter errado sendo que eu fiz do jeito que pede.

[35] Comentário enviado por removido em 01/12/2015 - 16:06h

Para quem ler este artigo e estiver com problemas para logar na interface web: a senha de root que ele pede é a de root do linux. Caso fique apenas "rodando" após colocar a senha, provavelmente a senha está incorreta. Também é bom verificar se o serviço ssh está rodando e também editar o /var/www/webhtb/docs/webhtb adequando ao diretório no qual ele está instalado. No meu caso, tive que ajustar o diretório e a senha estava incorreta. Após usar a senha correta do root do sistema, entrou.

[36] Comentário enviado por rmota em 08/04/2016 - 11:41h

Olá,

Sei que o post é antigo, mas gostaria de verificar se já tentaram instalar no Debian 8. Por que estou tentando e sem sucesso. as instalações do pacotes ocorrem normalmente sem erros. No entanto quando entro no setup do WenHTB aparecem um erro com um monte de código PHP e as interfaces não carregam no campo Default Interface.

Caso alguém tenha passado pelo mesmo problema e resolvido, gostaria de uma ajuda.

Att;

[37] Comentário enviado por Samuray007 em 06/07/2016 - 13:49h

Saudações!
Precisa editar o arquivo nano /etc/php5/apache2/php.ini, no Debian está nesse endereço.
Alterar a linha onde tem o short_open_tag = Off colocar

short_open_tag = On
depois reiniciar o apache
service apache2 restart

Para que a tela do WebHTB faça login precisa adicionar na configuração do SSH nano /etc/ssh/sshd_config a permissão para root fazer login

PermitRootLogin yes

e no final do arquivo adicionar essa linha que está relacionada ao grupo de algoritmos de criptografia:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc

depois reiniciar o serviço ssh com o comando

service ssh restart

Após essas configurações aqui resolveu essa parte de instalação e iniciar o WebHTB.

[38] Comentário enviado por tpunisherx em 26/08/2016 - 15:29h

tentei instalar aqui no centos 7 porem a opção : Default Interface (escolha a interface: eth0, eth1...) não aparece nada para selecionar.

[39] Comentário enviado por rmota em 19/10/2016 - 16:20h

Olá,

Eu instalei o webhtb 2.9 no debian 8, mas ao mostrar o trafego os clientes não são mostrado.

Alguém sabe o que pode ser?

Att;

[40] Comentário enviado por jmsb em 18/03/2017 - 17:50h

ao executa 192.168.0.1/setup deu esse erro
estou usando centos7, pode ajudar


Sory, setup allready done!"; exit; } $path = array( '1' => '/bin/', '2' => '/sbin/', '3' => '/usr/bin/', '4' => '/usr/sbin/', '5' => '/usr/local/bin/', '6' => '/usr/local/sbin/' ); for ($i = 1; $i <= count($path); $i++) { if(file_exists($path[$i]."cut")) { $cut = $path[$i]."cut"; } if(file_exists($path[$i]."echo")) { $echo = $path[$i]."echo"; } if(file_exists($path[$i]."grep")) { $grep = $path[$i]."grep"; } if(file_exists($path[$i]."ifconfig")) { $ifconfig = $path[$i]."ifconfig"; } } if( (!$cut) || (!$echo) || (!$grep) || (!$ifconfig) ){ print "Cannot find requested binaries !"; exit; } if (!is_executable($echo)) { print "".ECHNOTEXE.""; mysql_close(); exit; } if (!is_executable($ifconfig)) { print "".IFCFNOTEXE.""; mysql_close(); exit; } if (!is_executable($grep)) { print "".GREPNOTEXE.""; mysql_close(); exit; } if (!is_executable($cut)) { print "".CUTNOTEXE.""; mysql_close(); exit; } $ip_remote = $_SERVER['REMOTE_ADDR']; $string = shell_exec($echo.' `'.$ifconfig.' |'.$grep.' " "|'.$cut.' -d" " -f1`'); $string_2 = explode(chr(10), $string); $string_2 = explode(" ", $string_2[0]); ?>


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts