Como eu protejo uma instalação do Tomcat?

6

Instalei o tomcat no meu sistema Ubuntu Home 11.10 e consigo acessar com êxito a página de teste on-line após o encaminhamento de porta no 8080 dentro do meu roteador.

Eu não fiz nenhuma outra alteração no roteador, no Ubuntu ou na instalação do tomcat, tudo o mais permaneceu padrão. Eu pretendo usá-lo para brincar com Java Servlets e desenvolvimento web básico para meu uso pessoal.

Quais etapas, se houver, você sugeriria tomar para garantir que isso seja seguro? Devo mudar alguma coisa na configuração do Tomcat? Parece ser uma boa ideia limitar o acesso - link

Mas estou aberto a outras recomendações.

    
por spangeman 11.01.2012 / 14:10

1 resposta

2

A solução

Use o Tomcat para bloquear todas as conexões, com exceção dos endereços IP do administrador (que eram estáticos para nós e conhecidos). Os passos

Abra o arquivo context.xml, localizado em [Tomcat] \ conf \ context.xml, em que [Tomcat] é o local de base do seu servidor Tomcat.

Se você nunca editou este arquivo antes, deverá ver uma linha como a seguinte:

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

Adicione a seguinte linha diretamente após a tag:

    <Valve className="org.apache.catalina.valves.RemoteAddrValve"    allow="IP1|IP2|IP3"/>

...where IP1, IP2, IP3, etc. are the IP addresses you would like to allow.
Restart the Tomcat server.

Notas sobre como funciona

Esta válvula usa expressões regulares, então se você decidiu se interessar por ela, certamente poderia (desde que você saiba um pouco sobre as Expressões Regulares do Java). Para nossos propósitos, o caractere pipe ("|") entre os endereços IP funciona como um operador "ou". Se o valor do endereço remoto corresponder a qualquer uma dessas sequências completas, isso será permitido.

Observe que, por padrão, isso nega todas as outras conexões.

Se você quiser permitir todas as conexões, exceto determinados endereços IP, altere o atributo "permitir" para "negar"; todas as conexões serão permitidas, exceto aquelas no atributo deny, que ainda usa expressões regulares Java.

No meu conhecimento, essa estrutura de "válvula" não pode ser empilhada. Ou seja, você não pode fazer uma válvula "negar tudo" e, em seguida, empilhar vários tipos de "permitir válvulas" sobre ela. Se alguém souber se é possível, sinta-se à vontade para comentar nos comentários.

Espero que isso ajude!

fonte

    
por Ringtail 01.04.2012 / 01:01

Tags