2009-06-12 15 views
7

como se puede ver en otras dos preguntas que tenía Estoy buscando un servidor web seguro ya que allí donde la discusión en el trabajo es lo seguro que es Tomcat. Pero básicamente lo que encontré en la red con respecto a qué tan seguro es es griego para mí. Así que estaba esperando, ¿alguien podría explicarme qué tan seguro es en realidad Tomcat? Al igual que, ¿es posible meterse con el código java en el servidor o algo como esto?cuán seguro es tomcat

Sé que esta es probablemente una pregunta tonta, pero realmente no puedo encontrar una respuesta que me ayude a argumentar que escribir un servidor propio no es más seguro que usar tomcat o cómo podría ser mejor usar tomcat .

¿Quizás alguien sepa una buena forma de proteger tomcat y minimizar ciertas funciones de tomcat? (Realmente no sé cómo explicarlo ...)

Espero que me puedan ayudar. ¡Thnx por adelantado!

... dg

+0

¿Cómo fue esto? Espero que hayas convencido al jefe de que Tomcat es lo suficientemente seguro para las necesidades de tu empresa. –

+0

No lo hice ... ahora estamos trabajando en nuestro propio servidor ... pero tengo que admitir que estoy aprendiendo mucho. Así que estoy dividido entre estar triste y realmente emocionado; o) – doro

Respuesta

9

tal vez antes, Tomcat era bastante inseguro, pero hoy en día ... cualquier cosa que tenga Apache bajo su nombre es suficiente para que pueda confiar en él. De todos modos, la seguridad SIEMPRE era la imaginación, no existe tal cosa en la vida real, por lo que siempre habrá un factor de (in) seguridad.

El problema con Tomcat es como un problema con Windows, no importa qué tan 'seguro' lo hayan construido, si hay millones de personas que lo usan, los hackers tendrán interés en invertir su energía (y, finalmente, tendrán éxito) en encontrando la forma de entrar en ella. Así que tal vez para sentirse más seguro, puede considerar usar algo no muy usado, pero esto no ayudará si el pirata informático está pirateando intencionalmente su sitio por alguna razón especial, descubrirá la tecnología que está utilizando y en este momento, sería mejor fue Tomcat ...

Por eso es muy importante 'casarse' con tecnologías de código abierto como Tomcat, ya que no hay una gran posibilidad de que un agujero en el sistema dure mucho tiempo, la gente tiene la oportunidad de arreglar cosas, siempre puede hacer el trabajo usted mismo, no tiene que esperar una nueva versión, etc.

+1

Thnx por la respuesta ... El tiempo dedicado a tratar de convencerlo de Tomcat podría ser sabiamente utilizado trabajando en la aplicación que somos se supone que debe compilar * g * ... lo curioso es que no tengo que saber cómo se puede piratear un servidor (aunque seguramente sería útil explicar por qué será menos seguro que Tomcat) – doro

6

Pero en general, es una muy mala ideaescribir su propio contenedor servlet, sobre todo si los argumentos de seguridad Tomcat no están claras para usted.


Si necesita argumentos jefe convincente, le muestran el serlvet spec es necesario implementar, y el tiempo estimado en el orden de años-hombre (no es broma!), Contrastando esto con el 'descargar, descomprimir, inicio 'opción de usar Tomcat.

+0

Sé que es una mala idea ... pero necesito argumentos para convencer a mi jefe ... Y eso es algo que me falta. "especialmente si los argumentos de seguridad de Tomcat no son claros para usted". - Estoy buscando estos argumentos ... :( – doro

+0

Ver la actualización que hice a la respuesta. –

+0

Thnx para el enlace ... Lo investigaré :) – doro

19

¿Está escribiendo su propio servidor? ¿A diferencia del uso de Tomcat? Ese es un caso clásico de reinvención de la rueda y (a menos que sea la NSA) que pueda dar como resultado un servidor seguro menos. Pregunta retórica: ¿por qué no escribir su propio sistema operativo para ir con él!

Tomcat 6 es una base de código muy madura, estable, actual y bien entendida que ha tenido millones de personas muy, muy inteligentes revisándola, probándola y poniéndola en producción durante años y años.

Tomcat es muy seguro.

+0

No soy la NSA ... LOL ... Pero mi jefe parece pensar que es ... :( – doro

+0

También se debe tener en cuenta que depende mucho de cómo se configura el servidor. Es fácil romper la seguridad mediante la adición de webapps mal escritas (o maliciosas) ... –

6

Sé que este es un tiempo probablemente pregunta tonta, pero me parece que no puede encontrar una respuesta que me ayuda a argumento de que la escritura es un servidor propio no más seguro que el uso de Tomcat o cómo podría ser mejor usar Tomcat.

Lo que debes recordar es que Tomcat tiene miles de horas de gente mirando el código y corrigiendo errores y agujeros. Pensar en escribir un código seguro es fácil. Hacerlo es extremadamente difícil. Hay muchas cosas pequeñas que pueden pasarse por alto y que pueden contribuir a un agujero masivo.

+0

Sé que Tomcat es mejor, pero no puedo dar ningún argumento real.Solo digo que una gran cantidad de gente inteligente trabaja (ed) en esto no es un argumento muy convincente para mi jefe ... :( – doro

+0

(esto suena como una sucky situación para ti. Tienes mi simpatía) No lo abordes de la idea de que las personas inteligentes trabajaron en ello, explicarle la cantidad de tiempo que tomará construir un servidor web ... como más de 10.000 horas. – kemiller2002

+0

Lo curioso es que comenzó la semana pasada y cree que ya terminó. .. PERO otra cosa curiosa: él realmente no sabe mucho sobre aplicaciones web y esas cosas (aunque es un gran programador de Java) ... es una situación sucky ya que no puedo dejarlo claro para él ... tal vez yo debería hacer que alguien piratee su servidor, para que lo vea en vivo y en acción ... – doro

1

Como ya se ha mencionado, Tomcat está listo para su uso en producción y la seguridad de Tomcat es ciertamente mejor de lo que cualquier pequeño equipo podría lograr al escribir su propio servidor servlet.

Dicho esto, el punto probablemente más débil en una configuración de Tomcat es comúnmente la configuración del sistema operativo subyacente.

+0

Él piensa que es una blackbox (jaja ... sí, claro!) ... awww, voy a dejar el trabajo y convertirme en agricultor o algo así ... * g * – doro

3

Si bien no soy un hacker, me sería difícil imaginar cómo Tomcat sería su primer puerto de escala si usted fuera tratando de atacar un sistema, después de todo, está ejecutando su código y, presumiblemente, detrás de un servidor de seguridad y servidores de fachada. Si este no es el caso, ¡entonces debería ser!

Una vez que la red esté lo más segura posible, recuerde que Tomcat es solo un motor Servlet: tendrá problemas para explotar las solicitudes http. Me centraría en el código de tu aplicación, cosas como la autenticación de usuario y evitar los diversos ataques de inyección: esto en mi opinión es el mayor riesgo para tu sistema y existirá en cualquier servidor en el que estés ejecutando.

+0

Thnx for the hints :) – doro

4

Tomcat es un servidor seguro. Sin embargo, es incluso más seguro utilizar Apache Web Server para usarlo como proxy. Puede usar mod_proxy para conectar Apache con Tomcat utilizando el protocolo AJP o HTTP. Esta es la configuración más segura y puede aprovechar los muchos módulos adicionales disponibles para el servidor Apache Http.

Algunos consejos para una instalación segura:

  • crear un usuario para ejecutar Tomcat. No use el usuario root.
  • Desinstalar las aplicaciones de ejemplo.
  • Desinstale la aplicación de administrador. Si utiliza Apache para proxy Tomcat, puede mantener el administrador de forma segura y hacerlo disponible solo a través de su red local.
+0

mucho para el consejo :) Voy a ver algunos sitios para asegurar/configurar tomcat y usar apache para proxy :) ¡gracias! – doro

+0

¿Puede explicar algunas razones por las cuales Tomcat, detrás de httpd, es protector de tomcat directamente? – Carsten

+0

El servidor Apache HTTP está mucho más implementado que Tomcat. Es probable que se detecte y solucione un posible fallo o error de seguridad más rápidamente que en Tomcat. También Apache (a través de plug-ins adecuados) es mucho más configurable que Tomcat. Esto le permite aplicar cualquier esquema de seguridad que necesite. El servidor Apache HTTP está diseñado principalmente para ser un servidor web. Tomcat comenzó como una implementación JSP y evolucionó para convertirse en un servidor web totalmente desarrollado. Sin embargo, no puede esperar que lo compare con el servidor web Apache. – kgiannakakis