¿Se puede proteger un servidor web solo con un firewall?

10

Estoy a punto de conectarme en línea con mi primer sitio web, es un pequeño proyecto alojado en una PC doméstica normal con Windows 7. Quiero mantener la huella del software al mínimo, por lo que solo contiene el sistema operativo y la Servidor web con los archivos del sitio web, sin antivirus, sin SQL, sin nada. Y, a excepción del cable de red, está completamente aislado del mundo exterior, sin CD / DVD, sin teclado, sin mouse, sin monitor. El firewall de Windows está configurado para permitir solo el tráfico entrante en el puerto 80, todo el tráfico saliente está bloqueado.

No soy un experto en seguridad de redes, así que corríjame si me equivoco: creo que con esta configuración, la única forma posible de acceder a los archivos y carpetas en esa computadora es a través del servidor web a través del puerto 80. lo que significa: si el servidor web no permite el acceso no autorizado, puedo confiar en que mis archivos permanecerán privados. Si me equivoco, explique por qué y cómo resolverlo, nuevamente con una huella de software mínima.

En este momento, mi principal preocupación es la privacidad, por lo que puedo ignorar los consejos sobre otros problemas de seguridad.

EDIT:

Sé que el software de mi servidor web será el objetivo de la mayoría de los ataques, pero no es la puerta principal lo que me preocupa, sé de antemano que todo tipo de personas intentarán pasar a través de él, por lo que puedo estar preparado y configurado todo un ejército de oficiales de policía allí mismo, lo que me preocupa son las posibles puertas traseras que pueden existir sin que yo sepa ... así que mi pregunta es en el sentido de cómo hacer que el sistema operativo esté completamente aislado del mundo exterior, en tal de manera que el único punto de acceso posible sea a través del puerto de escucha 80 de mi servidor web.

    
pregunta george b 26.03.2014 - 00:49
fuente

6 respuestas

8

No es un juego de puertos mágicos utilizados por hackers. Si no hay un servicio ejecutándose en el puerto, es poco probable que se produzca un compromiso, pero es una buena idea usar un firewall fuerte, especialmente en ventanas donde se ejecutan muchos servicios por defecto.

Dicho esto, si alguien va a comprometer su servidor web, lo hará utilizando el software al que les está permitiendo el acceso (tanto a su daemon http como a cualquier aplicación CGI que esté usando). Por lo tanto, la respuesta es no .

No ha brindado muchos detalles sobre este proyecto, pero si se trata de una aplicación CGI de algún tipo, lo más importante que puede hacer es codificarlo cuidadosamente para evitar vulnerabilidades. Si alguien puede inyectar shellcode y abrir una shell, por lo general puede acceder a cosas que no pretendía.

La mala configuración del servidor web también puede ser un problema, si permite cosas como el cruce de directorios e índices; los atacantes pueden utilizarlos para "engañar" al servidor web para que sirva cosas que usted no planeó.

Si permite que los usuarios carguen archivos, tenga cuidado también; es posible que carguen scripts que ejecutará accidentalmente, o que carguen el malware que luego estaría sirviendo.

Algunas veces, la funcionalidad que pretendes puede ser abusada también; Los atacantes pueden abusar de la navegación forzada (como con los trackbacks de wordpress) y del envío de correo electrónico para ocultar sus actividades detrás de ti.

Algunas cosas que puedes hacer son:

  • Use un usuario separado para su aplicación web. En IIS, configure el usuario del grupo de aplicaciones en la configuración CGI y el usuario utilizado para la autenticación anónima en la configuración de autenticación. Haga un usuario específico para esto y limite sus privilegios al mínimo necesario.
  • Trate de pensar en todas las cosas que se pueden hacer con cualquier aplicación que implemente y ponga a disposición, en lugar de las cosas que quería hacer.
respondido por el Falcon Momot 26.03.2014 - 01:31
fuente
3
  

En este momento, mi principal preocupación es la privacidad, por lo que puedo ignorar los consejos sobre otros   Problemas de seguridad.

Al menos estás exponiendo tu dirección IP, que puede asignarse a una ubicación específica, por lo que suena como minus points para la privacidad.

El propósito del firewall es limitar el acceso a los servicios. No evita el tráfico "malo" en el puerto 80, que luego instala malware en su servidor o aprovecha alguna vulnerabilidad sin parches. Alguien podría instalar un script malicioso que puede leer información del sistema, incluidos archivos, información del sistema, etc., por lo que esto también puede ser un problema de privacidad. El valor de los datos privados en su servidor influye en su riesgo específico.

Es posible que un firewall básico no impida también los ataques DDoS, no se bloqueará contra ataques en aplicaciones web específicas, en su servidor web, etc. La seguridad debe aplicarse en capas, el firewall no debe ser solo el protección de seguridad utilizada. Buena codificación y parches cuentan para la seguridad.

  

... la única manera posible de tener acceso a los archivos y carpetas en ese   la computadora es a través del servidor web a través del puerto 80, lo que significa: si el   El servidor web no permite el acceso no autorizado. Luego puedo confiar en mis archivos.   permanecerá privado.

En esta parte se supone que no existe una vulnerabilidad del SO ni una vulnerabilidad de la aplicación que pueda proporcionar privilegios no autorizados, escalada de privilegios, omisión, etc. Es posible que no puedan conectarse con SMB, FTP, etc., pero es posible aprovechar algunas Vulnerabilidad y acceso a archivos (shell remoto, etc.)

    
respondido por el Eric G 26.03.2014 - 02:32
fuente
2

¿qué pasa con la ejecución de virtualbox en su máquina con Windows, y en una nueva máquina virtual ejecuta algo más seguro como debian linux , y ejecute el servidor web apache en eso? luego puede usar las iptables en linux y la seguridad general que viene con linux.

o simplemente instale linux directamente en el host. Lo siento, pero si desea un sistema seguro, parece que ejecutar un servidor web en Windows 7 podría causarle problemas.

también, sería de gran ayuda tener un dispositivo de puerta de enlace (un firewall / enrutador) en el borde de su red.

también, como han mencionado otros, no importa cuántos firewalls y cuántos agujeros tengas en tus defensas exteriores. Si su servidor web o sus propios scripts tienen fallas, no importa.

otras fuentes httpd.apache.org/ www.dd-wrt.com/site/index

    
respondido por el Sverre 26.03.2014 - 04:17
fuente
2

Otras cosas que tal vez desee considerar, así como lo que otros ya sugirieron:

  • Si su sitio web recibe DDoS de un ejército de robots, ¿está preparado para quedarse sin Internet en casa durante el tiempo que otra persona lo decida, por capricho?
  • Si Cuando su aplicación se vea comprometida, ¿estaría el atacante en su red doméstica? Si es así, ¿podrían, por ejemplo, acceder al enrutador de su hogar, o cualquier otra computadora? ¿Estás de acuerdo con eso?
  • ¿Qué otras cosas se alojan en la misma PC?
  • ¿Cuál es el impacto en el negocio de un reinicio para aplicar un parche urgente?

¿Ha considerado usar un proveedor de alojamiento? Hay muchas ofertas de "nivel gratuito" por ahí.

[ actualización ]

Para responder a sus preguntas específicas:

  

Sé de antemano que todo tipo de personas intentarán pasar a través de él, así que   Puedo estar preparado y configurar todo un ejército de policías a la derecha   allí,

Tu suposición aquí es que sabes cuándo y cómo atacarán. Usted no lo hará Y a medida que avanza su metáfora, no puede dejar a la fuerza policial esperando "en algún lugar" para un ataque que quizás nunca llegue.

  

lo que me preocupa son las posibles puertas traseras que pueden existir   sin que yo sepa ... así que mi pregunta es en el sentido de cómo hacer   el sistema operativo completamente y completamente aislado del mundo exterior, en tal   De manera que el único punto de acceso posible es a través de mi servidor web.   puerto de escucha 80.

También debe considerar monitorizar la aplicación y su red. Incluso si puede hacer que el sistema operativo esté completamente aislado (no durará), ¿cómo sabe si es efectivo o no? En otras palabras, ¿qué pasa si se pierde algo y cree que está a salvo? Una sensación de falsa seguridad es peor que saber que no hay seguridad en absoluto.

Por último, recomendaría participar con un probador de penetración profesional y hacer que revisen su aplicación por lo menos una vez, especialmente si va a almacenar información personal o cosas como tarjetas de crédito, etc. Entiendo que tiene inquietudes presupuestarias ... pero en seguridad, al igual que en el desarrollo de software, no hay almuerzo gratis.

    
respondido por el lorenzog 09.01.2017 - 17:28
fuente
-2

DMZ su servidor web fuera de su servidor de seguridad ... siempre que toda la información que desea proteger esté en su máquina detrás de su servidor de seguridad, debería estar bien. Si está configurado correctamente y todo está parcheado, por supuesto.

    
respondido por el boopbop bi boop 17.12.2015 - 01:06
fuente
-3

Bueno, sí. Si todo lo que hace su servidor web es mostrar páginas estáticas, entonces no necesita un firewall. El problema entonces se convierte en la desinfección de la entrada del usuario.

    
respondido por el Munchen 17.12.2015 - 05:54
fuente

Lea otras preguntas en las etiquetas