¿Cuál es la mejor manera de bloquear los permisos de acceso al servicio web?

4

Después de todo lo que hice para proteger mi servidor, subí webshell (Web Shell WSO 2.1) , para ver hasta dónde puede llegar el pirata informático y adivina qué, me sorprendió, porque Fue capaz de leer información muy sensible.

Puedoejecutarvarioscomandosyleermuchosdatosprivados.

Comopuedesverenelcódigofuentedewebshell...yesonoestodoloquepuedeshacer,perohaymás...

Silospermisosnosoncomodeberíanser,entoncesesposibleleerelcontenidodeesosarchivos.

Entonces,lapreguntaessimple:¿quépuedohacerparaprotegermiservidor?¿Cómopuedolimitar/restringirlaejecucióndelcomandodeshellatravésdePHP?

¿Cuálessonlospermisosrecomendadospara:

/bin/sbin/usr/bin/usr/sbin

EstoyejecutandoApache/2.4.7(Ubuntu)

Tambiénhicetodo esto . ( Hardening PHP from php.ini )

EDITAR: He perdido el popen de las funciones de PHP deshabilitadas. ¡Eso resolvió mi problema!

    
pregunta Mirsad 23.02.2016 - 19:40
fuente

1 respuesta

2
  

He subido webshell (WSO 2.1 Web Shell)

Hmmm. Si deja las llaves de su auto en la ignición y estaciona su auto en un área defectuosa, ¿se sorprendería si no estuviera allí cuando regrese? Ciertamente, la seguridad en profundidad es una buena idea, pero lo que está expuesto al código que se ejecuta en su servidor no es el punto de partida para reforzar su servidor. Lamentablemente, las recomendaciones que siguieron fueron, como la mayoría de los artículos que he visto, una simple lista de verificación con pocas explicaciones o justificaciones.

Si realmente ha tomado las precauciones adecuadas contra la inyección de código (observo que eval y preg_replace () no están deshabilitados en este howto, pero las cosas como posix_setuid () están !!!) y han aplicado todas las mejores prácticas para asegurar el plataforma (que, según las capturas de pantalla, claramente no ha hecho) y el proceso de implementación, entonces sí, podría luego considerar restringir qué código que omite todos estos controles podría hacer.

Para ese fin, hay algunas cosas muy simples que tendrán un gran impacto;

  • elaborar un modelo de permisos adecuado y aplicarlo
  • configure apparmor o grsecurity para restringir aún más el comportamiento (selinux apesta)
  • o ejecute el php en un entorno / contenedor chroot si corresponde
  • use suhosin
  • descubra qué extensiones y funciones necesita su código para ejecutar y elimine las extensiones / deshabilite las funciones que no son necesarias

Lo más valioso que puede hacer es aprender qué hacen realmente las instalaciones que tiene disponibles y, por lo tanto, cómo afectan su riesgo.

    
respondido por el symcbean 13.10.2016 - 01:11
fuente

Lea otras preguntas en las etiquetas