Tomcat (Linux) + IIS (Windows) = Integração com Segurança?

7 respostas
E

Pessoal, fui designado a desenvolver um sistema para WEB que deverá se enquadrar na seguinte arquitetura:

A página da empresa está em um Servidor IIS, Windows NT 4.0.

A aplicação que desenvolverei com Servlet+JSP estará em um Container TOMCAT 5.0.28 em outra estação, onde pretendo colocar Linux 8.0.

Eu terei que chegar até minha aplicação, criando uma pasta virtual no IIS que aponte para o contexto do tomcat e faça a integração. Isso já consegui fazer através de documentação na internet mas entre duas máquinas windows…
Como fazer isso entre Tomcat (Linux) + IIS (Windows) ?

Aqui na rede já tem um firewall que protege o servidor web. Mas mesmo assim gostaria de garantir que só chegaria na minha aplicação quem fosse realmente autorizado, ou seja, minha aplicação tem mais restrições de segurança do que a página da empresa.

Me deram a idéia de criar um JSP para login no qual o usuário fosse autenticado diretamente pelo linux, ou seja, teria que submeter a todas as restrições de segurança daquele usuário imposto pelo linux. Mas eu não sei como fazer isso e nem se é a forma mais segura.

Gostaria de ouvir sugestoes dos colegas que certamente têm muito mais
experiência do que eu: como fazer essa integração de forma segura ?

Abraços e obrigado antecipadamente pelas dicas !

Emidio

7 Respostas

kuchma

Acho que voce esta buscando coisas distintas:

Emidio:
Eu terei que chegar até minha aplicação, criando uma pasta virtual no IIS que aponte para o contexto do tomcat e faça a integração. Isso já consegui fazer através de documentação na internet mas entre duas máquinas windows…
Como fazer isso entre Tomcat (Linux) + IIS (Windows) ?

Voce conseguiu fazer isso entre duas maquinas Windows compartilhando o diretorio da maquina Tomcat e criando um diretorio virtual no IIS apontando para ele, certo? Nesse caso voce precisa expor o diretorio do Tomcat na maquina Linux da mesma forma - procure por Samba (http://www.samba.org/).

Emidio:
Aqui na rede já tem um firewall que protege o servidor web. Mas mesmo assim gostaria de garantir que só chegaria na minha aplicação quem fosse realmente autorizado, ou seja, minha aplicação tem mais restrições de segurança do que a página da empresa.

Me deram a idéia de criar um JSP para login no qual o usuário fosse autenticado diretamente pelo linux, ou seja, teria que submeter a todas as restrições de segurança daquele usuário imposto pelo linux. Mas eu não sei como fazer isso e nem se é a forma mais segura.

Coloque tudo debaixo de HTTPS e crie/use um mecanismo de autenticacao (base de dados, permissoes/roles do Tomcat, etc). Nao sei como seria a autenticacao pelo usuario do sistema operacional.

Marcio Kuchma

E

Obrigado kuchma !

Quanto à integração vou procurar documentação a respeito do samba.

Agora, quanto à questão de segurança, vc poderia me dar mais detalhes de como eu poderia fazer isso ?
eu encontrei na documentação do jakarta alguma coisa de SSL e alguma coisa de Security Manager, encontrei alguma coisa de JAAS. Mas não tenho idéia de como implementar essas coisas.
Eu entendo bem pouco de segurança, e talvez isso esteja me dificultando o trabalho. Vc tem o link de algum tutorial mais básico ?

Obrigado !

E

Obrigado kuchma !

Quanto à integração vou procurar documentação a respeito do samba.

Agora, quanto à questão de segurança, vc poderia me dar mais detalhes de como eu poderia fazer isso ?
eu encontrei na documentação do jakarta alguma coisa de SSL e alguma coisa de Security Manager, encontrei alguma coisa de JAAS. Mas não tenho idéia de como implementar essas coisas.
Eu entendo bem pouco de segurança, e talvez isso esteja me dificultando o trabalho. Vc tem o link de algum tutorial mais básico ?

Obrigado !

L

Emidio e kuchma.

Li este topico e tenho uma dúvida relacionada a este assunto, por isso resolvi aproveitar o embalo.

Colocando tudo debaixo de HTTPS eu garatiria segurança na transmissão dos meus dados? É isso? Mas tem alguns aspectos que não ficam muito claros pra mim. Não sei se sua dúvida é semmelhante a minha Emidio, mas vamos supor que minha empresa já tenha um site :
www.sitedaempresa.com.br

e eu crie conforme sua descrição um contexto no tomcat, em outra máquina, enfim, queira fazer isso que você descreveu, sendo que o conteudo deste novo contexto será acessado com o endereço citado acima completado pelo nome definido na minha pasta virtual . Ex:

www.sitedaempresa.com.br/meunovocontexto

Quando qualquer cara que estiver na net digitar esse endereço acima, eu não quero logo de cara exibir o conteúdo, então, o que pensei em um primeiro momento seria carregar uma pagina de login por exemplo, para realizar a autenticação do usuário. É ai que entra minha dúvida. Qual é a maneira recomendada de fazer isso. Deve haver uma forma que normalmente é utilizada para realizar essa autenticação, e impedir que qualquer usuário acesse esta página.

Minha dúvida está nos “mecanismo de autenticacao”, fazer isso utilizando o usuário do S.O não faço idéia de como seja, guardar as informações dos usuários no banco de dados e autenticá-los baseados nessas informações seria conveniente? O que normalmente é utilizado ou o que é mais indicado para realizar essa tarefa?

Obrigado!

L

Completando minha colocação…

O fato é assegurar que qualquer pagina (.htm,.jsp… enfim qualquer coisa) dentro do meu novo contexto não seja acessado sem que haja a autenticação do usuário.

LuizAvila

para integrar o Tomcat com o IIS use o Mod Jk2 do projeto Jakarta. Nada a ver com Samba

O Samba vai permitir que vc acesse os diretórios do linux como se fossem diretórios windws e vice e versa

http://apache.usp.br/jakarta/tomcat-connectors/jk2/binaries/win32/

P

Acho que a soluçao para sua autenticaçao de usuario esta na propria autenticaçao do tomcat. Isso garantira que ao tentar acessar:
www.suaempresa.com.br/meucontexto
o usuario necessitaria se identificar, seja por uma tela de looging JSP ou pela propria tela do tomcat. Rapidamente, como funciona essa autorizaçao?
Primeiro vc define previamente as roles que podem acessar seu contexto. Na sua aplicaçao vc define as restriçoes de acesso aos seus servlets. Depois voce escolhe um dos tipos de autenticaçao do tomcat, a Digest, a Basic ou Form,por exemplo. Pesquise sobre a form que é a mais elegante ao meu ver.
Quanto a utilizar HTTPS, otimo, vai fundo. Mas nao se esqueça da autenticaçao do tomcat bem definida.

Paulo Gurgel Pinheiro(Pine)
Diretor
Colchão Onix Sleep Center Fortaleza
[email removido]

Criado 16 de fevereiro de 2005
Ultima resposta 17 de abr. de 2005
Respostas 7
Participantes 5