¿Cuál es la mejor manera de prevenir la inyección de código en Apache / PHP?

4

Recientemente he configurado WordPress en un VPS, y está bajo ataque continuo desde entonces. Tomé algunas medidas para protegerme de algunos ataques de fuerza bruta, sin embargo, al observar algunos de los registros no estoy seguro de si eso es suficiente.

A continuación se muestra una de las muchas solicitudes aproximadas que veo en mi registro de Apache:

12x.24x.3x.45 - - [30/Oct/2017:20:34:24 +0000] "GET http://4x.9x.23x.250:58204/jsip.php?zl=IP&IP=3x.18x.24x.19x&DK=80&DD=RZLWHADALAHBNPRL HTTP/1.0" 301 395 "-" "Mozilla/5.0  (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER"

Por lo que pude entender, el atacante está intentando inyectar y ejecutar código PHP desde un sitio remoto, y el servidor respondió con 301 (movido permanentemente) y la respuesta contenía 395 bytes.

¿Cómo puedo proteger al servidor para que no procese dichas solicitudes?

  • ¿La regla .htaccess para negar valores como ese?
  • ¿El mod de Apache se reescribe para rechazar tal solicitud?
  • ¿Desinfectar desde el equilibrador de carga de la aplicación?
  • ¿Apache / PHP / Wordpress es vulnerable a tales solicitudes?

¿No deberían ellos ya tener esta protección, y puedo confiar en ellos y relajarme? Si no es así, no entiendo cómo hay tantos sitios de Wordpress todavía en funcionamiento, suponiendo que muchos de ellos probablemente no tenían expertos en seguridad trabajando para el sitio.

    
pregunta Quark 02.11.2017 - 12:39
fuente

2 respuestas

3
... "GET http://4x.9x.23x.250:58204/jsip.php?zl=IP&IP=3x.18x.24x.19x&DK=80&DD=RZLWHADALAHBNPRL HTTP/1.0" 301 395 ...
     

Por lo que pude entender, el atacante está tratando de inyectar y ejecutar código PHP desde un sitio remoto, ...

No veo ningún intento de inyección aquí. Esto parece más como si alguien estuviera tratando de usar su servidor como un proxy para alcanzar http://4x.9x.23x.250:58204/... . Puede ser que alguien esté escaneando Internet para encontrar proxies abiertos. Mientras su sistema no esté configurado para ser un proxy abierto, no hay necesidad de preocuparse por esto, es decir, trate esta solicitud como el ruido habitual que recibe al tener un sistema accesible desde Internet.

    
respondido por el Steffen Ullrich 02.11.2017 - 13:47
fuente
2

No sé si "relajarse" es la respuesta correcta, pero diría que no hay signos evidentes de un problema. Considere esta introducción a la regla número uno de Internet: si está en Internet, se analizará constantemente en busca de vulnerabilidades.

La mejor defensa es simple: si está usando software de terceros, use solo el software que aún se mantiene y siempre manténgalo actualizado. PHP, apache y wordpress están bien soportados y tienen actualizaciones de seguridad frecuentes, por lo tanto, mientras los mantengas actualizados no deberías tener mucho de qué preocuparte por cualquier ataque por ataque.

Sin embargo, si empiezas a escribir tu propio software, asegúrate de conocer la seguridad de la aplicación web.

Lo mismo se aplica si está administrando su propio servidor: una pequeña lectura sobre el fortalecimiento de un servidor no le hará daño. Principalmente, se trata de deshabilitar cualquier servicio innecesario, mantener el servidor actualizado y bloquearlo con un firewall. Aún así, eso es solo lo más destacado, así que si tienes el control del servidor, dedica algo de tiempo a aprender cómo protegerlo.

Vale la pena mencionar brevemente Wordpress porque (por mi experiencia), tiene una larga historia de ataques de seguridad. Como resultado, ese es muy importante para mantenerse al día. Cuando miro a través de mis propios registros del servidor y veo lo que parecen intentos de piratear, muchos de ellos están dirigidos a vulnerabilidades conocidas en versiones antiguas de wordpress. En mi último trabajo, solíamos alojar los sitios de wordpress de pareja que administramos en su propio servidor, para minimizar el daño en caso de un hackeo. De hecho, ese servidor fue pirateado una vez, pero la fuente de la intrusión no era técnicamente wordpress: en realidad era una extensión de wordpress que el propietario del sitio instaló. No tengo mucha confianza en la tienda de extensión de wordpress, aunque a menudo es una necesidad hacer las cosas si no sabe cómo modificar de forma segura usted mismo wordpress. Esto lo convierte en un problema: si no sabes cómo escribir un código de aplicación web seguro, tampoco sabes cómo verificar otro código para ver si es seguro.

    
respondido por el Conor Mancone 02.11.2017 - 14:07
fuente

Lea otras preguntas en las etiquetas