Há um tempo atrás, desenvolvi um sistema que tinha como objetivo, ter uma interface de administração totalmente WEB
e que utilizasse o Squid e o DansGuardian por trás. Então, apresento o FproxyAdmin. Espero que com o apoio de toda
comunidade, possamos evoluir juntos esta solução.
O FproxyAdmin foi concebido diante de uma carência que havia identificado no mundo do Software Livre, em relação a console de administração WEB
do Squid, e com aplicabilidade de um modelo corporativo, amplo.
Posteriormente, identifiquei que o DansGuardian também podia agregar bastante nas funcionalidades do modelo proposto, então, os seus recursos
passaram a fazer parte da solução.
Depois de pronto, juntamente com um amigo, cheguei a usá-lo em uma empresa de médio porte que prestava consultoria e está em funcionamento
até hoje. Mas o curioso é que depois disso, deixei esta solução guardada, pois passei a me dedicar em outra solução, o Attik.
Tenho plena consciência que o FproxyAdmin ainda tem muito a evoluir, e conto com o apoio da comunidade para executar essa tarefa com êxito.
- Composição:
Interface WEB: 100% PHP;
Banco de dados: MySQL;
Interação com o Sistema Operacional: via PHP e Shell Script;
Software de Proxy: Squid;
Software de controle das listas de bloqueios e outras: DansGuardian;
Antívirus: Clamav;
Premissa: simplicidade.
- Como posso contribuir para o projeto?
O projeto ainda não tem um site próprio;
Evolução da interface com recursos mais modernos;
Configuração da solução para conseguir se integrar com o AD.
Criador do FproxyAdmin:
- Felipe Pereira da Silva
- felipetsi[at]gmail.com
[3] Comentário enviado por thiagocantero em 18/04/2012 - 22:42h
Felipe, parabéns por sua iniciativa!!!!
Precisamos de mais pessoas com idéias que facilitam e ajudam a popularizar nosso querido GNU/Linux!
Mais uma vez, parabéns pela iniciativa que deve ter sua publicidade digna de um excelente colaborador do software livre!
Abraços
[7] Comentário enviado por dumleao em 20/04/2012 - 00:51h
Olá,
Tenho todos os serviçoes instalados em meu servidor. Apache, mysql, squid etc... Como fica a instalçao já tendo os pacotes instalados?
Teria como adcionar cache full? Interessante tb integrar com o AD da MS
[9] Comentário enviado por felipetsi em 20/04/2012 - 12:28h
Opa, vamos as respostas:
tenkaichi, conforme dito, o FproxyAdmin surgiu de um desejo em tornar a administração de um proxy mais simples e mais próxima de um modelo de negócio, por isso existe a possibilidade de gerentes de diversas áreas administrar os seus subordinados.
Cheguei a implementar essa solução em uma empresa de médio porte, onde funciona até hoje, mas não tive tempo para continuar evoluindo a solução, pois estava trabalhando em outra que em breve apresentarei a comunidade também.
O projeto é esse, acho que ainda temos muito a evoluir nesse software.
vicente_neto, o FproxyAdmin ainda não possui integração com o AD, teremos que desenvolver esse recurso. Mesmo que a integração com o AD via Samba e Winbind seja feita manualmente, como a interface atualizar o squid.conf a cada aplicação das mudanças realizadas, todas as alterações realizadas serão desfeitas. Conto com o seu apoio para desenvolver essa funcionalidade já na próxima versão.
thiagocantero e rafaelc.lopes, muito obrigado!!! É essa a idéia, colaboração.
silent-man, obrigado. Não conhecia o squidadmin. Acho que esses dois projetos podem contribuir muito um ao outro.
risto, a princípio não era para haver esse problema, mas o Dansguardian não está interpretando adequadamente esse protocolo. Talvez por uma configuração inadequada no dansguardian.conf. Vamos trabalhar na correção desse problema.
dumleao, O fato de você já ter instalado os softwares pré-requisitos pode impactar na execução de algum comando do script de instalação, é necessária análise antes de executá-lo. Por enquanto o pacote foi feito para uma instalação do zero.
israelsoares, estranho o seu comentário. O Fproxyadmin foi testado por diversas verzes e por um logo tempo, inclusive, o tenho em funcionamento em redes corporativas. Qual versão do Debian está utilizando e quais problemas que identificou?
[11] Comentário enviado por israelsoares em 23/04/2012 - 09:10h
opa! bom meu caro felipe, deixa eu ver se consigo te explicar.
em primeiro lugar eu iniciante, posso ter feito algo errado. eu estou usando o debian squeeze, faço toda a instalação do servidor, todos os procedimentos normais de costume. depois instalo o fproxyadmin, depois que ele é instalado, perco acesso ssh, não consigo instalar mais nada no servidor e nem consigo acessar o fproxyadmin pelo browser. por acaso, teria como mandar um passo a passo? informar algo sobre o banco de dados e outras informações que vc acha importante? fico no aguardo. forte abraço.
[12] Comentário enviado por danniel-lara em 23/04/2012 - 09:16h
Tchê parabéns pelo projeto muito legal mesmo
Minha dica é procure incentivar o pessoal a usar
e sugerir melhorias , pois uma ferramenta como essa , facilita muito
a vida do SysAdmin , e também procure incentivar o pessoal e colaborar com
o seu projeto com ajuda de códigos e melhorias .
[13] Comentário enviado por dumleao em 23/04/2012 - 20:08h
Uma boa seria usar o módulo MSNT do Squid para integrar ao AD mas particulamente nunca consegui com que funcionasse de forma transparente para o usuário, só login e senha.
Que tiver uma dica para eu fazer isso passar transparente aceito, só tentei com o módulo MSNT.
Seu projeto é muito bom para toda comunidade, não pare com o projeto.
[14] Comentário enviado por felipetsi em 01/05/2012 - 00:55h
Opa. Agradeço imensamente o interesse e participação de toda comunidade.
Respondendo aos comentário feitos:
goonigth, muito obrigado.
O projeto precisa na sequência de:
- um site oficial;
- administradores Linux para desenvolver novos recursos (integração com o AD, por exemplo), transformando-os disponíveis apenas com a execução de um único script;
- desenvolvedores PHP implementar na interface WEB as funcionalidades disponibilizadas;
- integrantes da comunidade para testar as novas versões.
Israel soares, tentei simular em meu ambiente a mesma situação que você descreveu, mas não ocorreu nenhum travamento. Estava até suspeitando da versão Debian Squeeze, mas nada de errado ocorreu. Solicito que reveja a instalação do seu SO para certificar que não há nenhum problema.
Na versão 1.0, para acessar a interface do Fproxyadmin, após a instalação, por gentileza, certifique-se que você tentou utilizando http://IP_DO_PROXY:2880/fproxyadmin. Na versão 1.1 não será mais utilizada a porta 2880, pois será utilizada a porta padrão.
Enquanto realizava o troubleshoot aproveitei para revisar o script de instalação e atualizar algumas outras coisas do pacote que estavam gerando pequenos erros. Já está disponível a nova versão do Fproxyadmin, baixe-a em "http://sourceforge.net/projects/fproxyadmin/files/fproxyadmin-1.1.0.tar.gz/download" e tente novamente e me avise.
danniel-lara, muito obrigado pelas dicas, procurarei segui-las, com certeza.
dumleao, obrigado pela dica e elogios. O funcionamento do Squid com o AD é algo absolutamente tranquilo de se implementar. Já tive a oportunidade de implementar por diversas outras vezes utilizando squid, winbind, kéberos e samba. Sem sombra de dúvida essa funcionalidade é muito importante e precisa ser implementada no Fproxyadmin já nas próximas versões, para isso conto com o apoio da comunidade.
[17] Comentário enviado por felipetsi em 09/05/2012 - 14:55h
Olá, vamos as respostas:
chcdc, infelizmente o Fproxyadmin ainda não tem a funcionalidade de especificar um horário, mas creio que podemos trabalhar nisso.
marcos_soares, estranho não ter conseguido logar com usuário e senha "admin". Deve ter ocorrido algum erro na hora de execução do script que cria o banco. Partindo do princípio que você descompactou o pacote .tar.gz no diretório /usr/local/src, faça o seguinte:
- Verifique se o banco realmente foi criado com o seguinte comando: # mysql -p -u root proxy -e "show tables"
- Caso não receba uma lista com 7 (sete) tabelas (address, department, groupsession, person, session, whitelistsite e whitelisturl), é porque o banco não foi criado ou está sem as tabelas. Então execute: # mysql -p -u root < /usr/local/src/proxy/db.sql
- Se mesmo com o banco certinho, não conseguir logar, tente: # mysql -p -u root -e "update proxy.person set password='21232f297a57a5a743894a0e4a801fc3' where login='admin'"
Ao digitar qualquer um dos comandos acima, será solicitado a senha do root do banco de dados, basta digitar.
[18] Comentário enviado por dumleao em 09/05/2012 - 21:35h
O projeto precisa na sequência de:
- um site oficial;
Precisar de algo referente estou disposto a fazer parte, não tenho muito conhecimento mas bastante ousadia e muitas idéias.
Quanto ao site se precisar ajudo a mantelo.
[19] Comentário enviado por felipetsi em 10/05/2012 - 09:41h
dumleao, certamente um site oficial irá contribuir bastante. Estamos em busca de voluntários para o desenvolvimento e manutenção. Se puder ajudar com isso, certamente sua contribuição será muito bem-vinda.
Se for o caso, vamos desenvolver esta idéia por e-mail, felipetsi@gmail.com.
[21] Comentário enviado por TiagoSouza em 30/05/2012 - 15:32h
chcdc, sobre o bloqueio por horário, já deu uma olhada no Mikrotik? Sei que você deve estar procurando alguma solução com o Squid, mas o MK é uma boa alternativa. Aliás, lembro de ter visto em algum lugar ensinando a fazer bloqueios por horário no Squid, não seria muito difícil implantar isso (caso realmente exista, posso estar enganado), né felipe?
[24] Comentário enviado por mibdata em 03/08/2012 - 09:27h
Parabens com o projeto otima iniciativa.. ainda nao tive tempo de testar mais vou fazer.. o que queria era colaborar com o projeto.. tenho empresa de Desenvolvimento de Sites e hospedagem e posso liberar pra voce espaco para colocarmos o site do projeto e forum caso deseje.. coloco-me a disposição.
[25] Comentário enviado por neto_itape em 04/09/2012 - 10:20h
Caro amigo felipesti, estou tentando funcionar o Fproxyadmin mas sem sucesso pois mesmo após descompactar ele e usar o script para instalar ele, depois de td isso vou ao navegador de outra maquina e tento acessar pelo endereço da rede ele acessa mais após colocar o user: admin e pass: admin ele retorna a seguinte messangem:
SELECT: Access denied for user 'www-data'@'localhost' (using password: NO)
Bem já fiz até mesmo as dicas que vc passou para o amigo marcos_soares e mesmo assim não obtive sucesso ... pelos comandos que vc passo as tabelas foram criadas com sucesso mais creio que não foi criado o usuario e senha para acessar o banco de dados a versão que estou utilizando é a Fproxyadmin 1.1.0 ... se puder me ajudar agradeço. Obrigado.
[26] Comentário enviado por felipetsi em 16/09/2012 - 21:25h
Neto, o erro indica que o usuário do Fproxyadmin não esta com permissão para acesso ao seu Banco de Dados. Tente o comando abaixo e depois tente acessar novamente.
# mysql -p -u root
< Será solicitada a senha do usuário root no Mysql, digite-a. Obs: veja que é a senha do roto no Mysql e não a do sistema operacional>
Após digitar a senha estará na console de comandos do Mysql, então digite:
# GRANT ALL PRIVILEGES ON proxy.* TO proxy@localhost IDENTIFIED BY 'PASS'
Substitua o termo 'PASS' pela senha que deseja colocar.
Depois verifique se a senha digita está no eguinte arquivo: /var/www/proxy/conn_proxy.php
# vi /var/www/proxy/conn_proxy.php
[27] Comentário enviado por neto_itape em 18/09/2012 - 11:37h
Então Felipe, fiz conforme o que você me passou logo acima:
# GRANT ALL PRIVILEGES ON proxy.* TO proxy@localhost IDENTIFIED BY 'PASS'
E aonde era 'PASS' deixei 'admin' mais quando fui conferir se estava ok pelo caminho:
# vi /var/www/proxy/conn_proxy.php
Vi que na pasta "/var/www" não tinha proxy mais sim uma outra pasta que era "fproxyadmin" dae dentro dela que encontrei o "conn_proxy.php" mas o que fiz no mysql não salvo ali ... será que o arquivo que executamos na instalação o "instalar" nao está com erro no caminho dos arquivos nessa parte?
[28] Comentário enviado por felipetsi em 18/09/2012 - 17:21h
Neto, você tem razão quanto ao nome do diretório dentro de www, é realmente fproxyadmin, eu me confundi.
Esclarecendo as suas colocações, caso eu realmente tenha interpretado corretamente, quando você executa o comando GRANT no prompt do Mysql, ele apenas irá atribuir a permissão ao usuário do Fproxyadmin no BD e alterar a senha para que você colocar. Este comando não altera nenhum arquivo do Frpoxyadmin. Portanto, depois de digitá-lo, você deve acessar (pode ser com o comando "vi") o arquivo /var/www/fproxyadmi/conn_proxy.php e atualizá-lo da seguinte forma:
Daí você substitui o termo 123 pela senha que você colocou quando digitou o comando GRANT, lembrando de manter as aspas duplas.
Agora deve dá tudo certo na sua instalação.
Quanto ao script de instalação, sim era para ele fazer tudo isso. Me fale qual é a versão do seu SO, e com qual usuário que executou a instalação. Vou analisar.
[29] Comentário enviado por neto_itape em 19/09/2012 - 17:59h
Então é um debian 6 instalado do zero num virtual box ... td executado com o user root do sistema ... e fiz novamente o procedimento e não deu certo novamente ... qdo coloco o user e senha aparece a mensagem "SELECT: Access denied for user 'www-data'@'localhost' (using password: NO)" o que será que pode ser?
[30] Comentário enviado por igor_peixoto em 29/10/2012 - 16:57h
poxa estou com o mesmo problema, achei mt util esta solução para fazer testes na empresa que atuo, sempre me enrolada um pouco com o squid 'puro' esta ferramenta irá ajudar muito.
[31] Comentário enviado por frangolinobogo em 03/11/2012 - 13:42h
Por favor, é a segunda versão que testo no virtualbox. Devo estar fazendo alguma orelhada. Na tela manager.php, quando clico no grupo e em adicionar computador, recebo a mensagem de selecionar grupo. Não consigo adicionar nenhum computador ao grupo, e em seguida à mensagem popup, a pagina vence o login e tem de ser recarregada. O banco tem de ser setado mesmo no conn_proxy.php, o script de instalação não faz esta parte. Obrigado, e parabéns pelo projeto. Pena que não sou programador para ajudar. O gerenciamento de usuários e regras sempre é um impecilho na implementação do squid. O webmin faz isto, mas instala um porção de coisas a mais e somente permite a edição de um departamento.
Marco Carraro, tem um script seu que consta um comando "rm -rf /*". É o limpeza e limpa_cache. Este limpa mesmo! rss
[32] Comentário enviado por neto_itape em 13/11/2012 - 14:25h
[28] Comentário enviado por felipetsi em 18/09/2012 - 17:21h:
Neto, você tem razão quanto ao nome do diretório dentro de www, é realmente fproxyadmin, eu me confundi.
Esclarecendo as suas colocações, caso eu realmente tenha interpretado corretamente, quando você executa o comando GRANT no prompt do Mysql, ele apenas irá atribuir a permissão ao usuário do Fproxyadmin no BD e alterar a senha para que você colocar. Este comando não altera nenhum arquivo do Frpoxyadmin. Portanto, depois de digitá-lo, você deve acessar (pode ser com o comando "vi") o arquivo /var/www/fproxyadmi/conn_proxy.php e atualizá-lo da seguinte forma:
Daí você substitui o termo 123 pela senha que você colocou quando digitou o comando GRANT, lembrando de manter as aspas duplas.
Agora deve dá tudo certo na sua instalação.
Quanto ao script de instalação, sim era para ele fazer tudo isso. Me fale qual é a versão do seu SO, e com qual usuário que executou a instalação. Vou analisar.
Então caro amigo felipetsi como vc pode nos ajudar com relação ao problema que está acontecendo ... ou algum de vcs aqui testou num ubuntu e deu certo? Se for esse caso me avise que vou testa em outra distribuição diferente da do Debian. Abraços!