Primeira postagem?

3 views
Skip to first unread message

Arthur William Aleixo

unread,
Sep 1, 2010, 4:41:30 PM9/1/10
to See Project
Não tive a oportunidade de estar presente nas palestras em que o See
Project foi explanado, mas pude ver que realmente é um projeto muito
interessante... pretendo colaborar com o que puder...
Posso chamar mais gente pra participar do projeto, inclusive um amigo
que é muito bom na área de tecnologia embarcada e que é muito disposto
e sempre me ajuda a desenvolver uns "brinquedinhos", mas primeiramente
gostaria de entendê-lo melhor para passar a comunicação mais correta
possível para outros.

Marcelo M. Fleury

unread,
Sep 1, 2010, 5:45:21 PM9/1/10
to see-p...@googlegroups.com
Oi Arthur, boa tarde!

Meus parabéns pelo primeiro post :) e obrigado pelo interesse.

A idéia é termos uma solução para administração de ativos de redes distribuídos.
Ativos de redes = Serviços como o proxy squid, firewall iptables, regras e rotas de roteamento com iproute2, ids com o snort e por ai vai...
A grande diferença do See para os demais projetos já existentes, é que ele tem a pretensão de ser distribuído. Por isso nos temos o projeto dividido basicamente em 2 sub-projetos:

1 - Frontend, sendo escrito em php symfony.
2 - Middleware, sendo escrito em java com restful(em cima da framework restlet).

Perceba que as aplicações existentes como webmin, pfsense, untangle e etc, não possuem uma arquitetura distribuída, o que impossibilita você ter uma única instalação e gestão por apenas 1 frontend de diversos servidores.

Então, se você tem 20 servidores, você precisa instalar o webmin 20x, além de ficar bagunçado a gestão de usuários, mas principalmente o FATO de você não compartilhar conhecimento entre os seu servidores.

Esse conhecimento a ser compartilhado ou replicado, pode ser regras de firewall, assinaturas de ids e etc, ou seja, qualquer configuração que você queira compartilhar entre os seus servidores, isso poderá ser feito com o menor esforço.

Com o see, você instalara o frontend uma única vez e irá distribuir o middleware nos seus servidores. O frontend comunica com os middleware's através de restful e os middleware's executam de fato as tarefas, como por exemplo criar ou alterar uma nova regra de firewall.

Além disso, podemos abstrair algumas complexidades dos serviços, bem como integrar os mesmos, isso graças a arquitetura escolhida. Para lançar a primeira versão, estou dependendo de muita coisa, tais como:

1 - Site do projeto
2 - Terminar o middleware (network e firewall)
3 - Terminar o frontend (network, firewall, política de acesso com base em rbac)
4 - Documentação mínima (já tem muita coisa que poderia ser documentada)
5 - Tradução

Algo que me motiva, é crer que podemos criar essa solução com um nível de segurança bastante satisfatório, até porque trata-se de uma aplicação bastante crítica, que irá gerenciar toda a infra de uma empresa, por isso a preocupação de desenvolver algo o mais seguro possível.

Pensando então na segurança, temos:

Frontend:
1 - Sanitização de variáveis de entrada e saída.
2 - Utilização de https no domínio oficial(seeproject.net).
3 - Rbac para política de acesso.
4 - Identificação de um ataque MITM sob ssl, na comunicação com os middleware's.
5 - Futuramente podemos utilizar token's/OTP na autenticação.
6 - Waf(Web application firewall)/IDS na frente do frontend.

Middleware:
1 - Comunicação com o frontend via ssl.
2 - Segregação de funcionalidades, utilizando IPC(RMI) para executar tarefas mais críticas. Sendo assim, o que estará exposto para a internet, será funcionalidades não criticas, dificultando a escalação de privilégios no caso de um ataque externo.
3 - Comunicação RMI via ssl.
4 - WADL para validação das chamadas restful.
5 - Assinatura digital dos middleware's.

Enfim, quem animar codificar para o projeto, pode escolher no que quer focar... tem a parte de parsing de arquivos, requisições restful... muita coisa pra brincar.

Confesso que fiquei um tempo inerte, esperando algum retorno da comunidade. Mas nessa semana me encontrei novamente e estou voltando a codificar para o projeto, mesmo que seja apenas para minha própria satisfação de pensar estar criando algo legal, mesmo que talvez não seja :). Por causa desse momento inerte, acabei também atrasando alguns projetos de cunho financeiro, outros surgiram e de fato não estou podendo recusar. Enfim, acredito que nesse final de semana já tenhamos códigos mais limpos e atuais no github.

[]s
--
Att, Marcelo M. Fleury
Blog - http://marcelomf.blogspot.com/
Slides - http://www.slideshare.net/marcelomf/

"O primeiro dever da inteligência é desconfiar dela mesma." By Einstein

Arthur William Aleixo

unread,
Sep 2, 2010, 7:22:47 AM9/2/10
to see-p...@googlegroups.com
Muito massa!

Trabalho com gerenciamento de redes e sei exatamente o que esta ferramenta pode em muito contribuir. Estou muito interessado em ver isto funcionando! E que bom que estamos próximos pra trocarmos idéias sobre o projeto!

Acredito que posso ajudar mais no Frontend e Documentação.

No Middleware vou ver se consigo mais pessoas para ajudar.

Tradução basicamente vc quer em quais idiomas. Acho que Inglês e Alemão, teremos contribuição.

Forte abraço!
--
Arthur William Aleixo
"Com software livre nós controlamos... Com proprietário somos controlados!"

Ole Peter Smith

unread,
Sep 2, 2010, 9:47:11 AM9/2/10
to see-p...@googlegroups.com
Caros

Com traducao posso ajudar, port --> ingles!

Ole

2010/9/2 Arthur William Aleixo <arth...@gmail.com>



--
#####################################################
           Divide uma maçã - e cada um fica com meia
Divide uma idéia - e cada um pode ficar aé com mais do que um
#####################################################
                  Ole Peter Smith, IME, UFG
          http://www.mat.ufg.br - ole at mat.ufg.br
#####################################################
             Live sure is a Mystery to be Lived
                  Not a Problem to be Solved
#####################################################

Marcelo M. Fleury

unread,
Sep 2, 2010, 11:16:37 AM9/2/10
to see-p...@googlegroups.com
Opa,

Então, com relação a documentação, precisava que alguém que entenda as estruturas xml do see, começasse um documento descrevendo as funcionalidades dos mesmos.

Veja:
http://github.com/marcelomf/seeproject/blob/master/data/network.xml
http://github.com/marcelomf/seeproject/blob/master/data/firewall_bkp.xml

Perceba que no arquivo do firewall, o mesmo referência elementos que estão no network.xml, com o @nome_elemento, atualmente geramos regras apenas para iptables, mas após a primeira versão, pretendo me esforçar para gerar regrar para ipfw e pf! Ainda existe a possibilidade de abstrairmos mais ainda o iptables! Basta me dizer como!

Nesse final de semana, vou postar no github, um arquivo .xml, para possibilitar a tradução do frontend... o que vocês acham de marcarmos um dia para que eu demonstre o que já está funcionando e o que falta ? Algo rápido, VNC/Skype, da para apresentar em 30min. Posso também disponibilizar uma versão do frontend, para ficar mais fácil de testar o middleware...

Quero deixar registrado aqui também, a ideia que o Ole me deu um dia, de começar a fazer a parte de backup, por ser um serviço de maior capilaridade em Goiás. Expliquei para ele que como eu já fiz bastante coisa na parte de firewall e network, agora não compensa parar e começar o backup... porém, já podemos começar a definir a estrutura do xml responsável pelo backup... as ferramentas que penso em utilizar, são rsync/ssh/tar/cp/mv/rm/ls, teríamos então que bolar um xml que iria definir os atributos necessários para um backup... tanto backup, quanto restore... uma boa pedida é ler sobre as estratégias de backup existentes, lendo tutoriais do próprio rsync, amanda e bacula.

[]s
Reply all
Reply to author
Forward
0 new messages