¿Qué tan seguro es instalar XAMPP en la computadora de mi casa para probar el código PHP?

16

Quiero probar algunos códigos PHP y creo que la mejor manera es instalar XAMPP, pero estoy nervioso por instalar el software del servidor en la computadora de mi casa.

¿Es generalmente seguro instalar XAMPP (dado que no lo he hecho antes y no tengo mucha experiencia con la seguridad del servidor)? ¿Qué necesito tener en cuenta? Alternativamente, ¿existe una forma más segura de probar el código PHP?

    
pregunta Frost 04.09.2011 - 08:02
fuente

6 respuestas

20

Apache y MySQL pueden configurarse para que solo escuchen las solicitudes de su propia computadora . Para la mayoría de los sistemas de prueba, esto está bien y reduce en gran medida el riesgo porque los servicios no son accesibles desde Internet.

Antes de iniciar XAMPP por primera vez, busque y edite estos archivos:

Para Apache edite los archivos xampp \ apache \ conf \ httpd.conf y xampp \ apache \ conf \ extra \ httpd-ssl.conf. Busque líneas que comiencen con "Escuchar", como

Listen 80

y reemplázalos con

Listen 127.0.0.1:80

Para MySQL abra el archivo xampp \ mysql \ bin \ my.cnf, busque la sección "[mysqld]" y agregue esta línea

bind-address=localhost

Después de iniciar los servicios, verifique el resultado yendo a una ventana de comando y comience y ejecute:

netstat -a -n

Para las entradas marcadas como ESCUCHAR en la última columna, mira la columna Escuchar. Siempre debe comenzar con 127.0.0.1 o :: 1 pero no con 0.0.0.0.

    
respondido por el Hendrik Brummermann 04.09.2011 - 11:21
fuente
5

XAMPP tiene un historial de seguridad muy pobre. Existen vulnerabilidades de ejecución de código remoto explotables a través de CSRF que son conocidas y no están parcheadas. (En realidad, en su ejemplo de mierda son las aplicaciones PHP / MySQL que vienen incluidas). Incluso si solo estás vinculado a localhost, esto puede ser explotado de forma remota. El argumento contrario es que el atacante debería saber que está ejecutando XAMPP. Su instalación de PHPMyAdmin siempre está desactualizada, y existen vulnerabilidades desagradables que también afectan a este proyecto.

Mi sugerencia es usar Ubuntu en VM. La instalación LAMP de Ubuntu es mucho más fácil que XAMPP y es extremadamente segura. Simplemente ejecute sudo tasksel o seleccione el paquete LAMP cuando lo instale.

    
respondido por el rook 04.09.2011 - 18:35
fuente
3

Descargo de responsabilidad: soy un desarrollador de XAMPP.

Es seguro instalar XAMPP en su máquina local. Por lo general, está conectado a Internet a través de un enrutador, por lo que no es posible acceder a su instalación actual.

También XAMPP envía un "¿Cómo puedo hacer que mi instalación de XAMPP sea más segura?" sección donde puede seguir esa guía para cambiar la contraseña de la raíz de MySQL, deshabilitar los servicios que no utiliza, etc.

Recientemente, XAMPP deshabilitó el panel de control de XAMPP basado en PHP e incluimos guías estáticas html. Cualquier problema relacionado con CSFR o relacionado con este panel ahora no existe.

XAMPP también tiene en cuenta los últimos problemas de seguridad. Puede consultar el blog para ver si lanzamos nuevas versiones lo antes posible.

    
respondido por el user93088 27.11.2015 - 20:02
fuente
1

XAMPP nunca debe usarse en un entorno de producción, debe cerrarse firmemente y debe tomarse medidas para asegurarla en una máquina de desarrollo, incluidas las actualizaciones o parches de seguridad de los proveedores de software originales (PHP, Apache, MySQL, etc.).

Si elige instalar XAMPP, asegúrese de asegurarse de que solo permita conexiones desde la dirección de loopback. Debe verificar esto para Apache, MySQL y cualquier otro servicio que configure para XAMPP. Como si tuviera algo a lo que se puede acceder internamente desde la LAN y tiene a alguien más en su red a sabiendas o sin saberlo, puede usar exploits para obtener acceso a su máquina y causar daños.

    
respondido por el ITOps 06.09.2011 - 00:56
fuente
0

Ahí hay una forma más segura de probar su código. Puede, y podría decirse que debería, instalar el software de su servidor, cualquiera que sea (desde XAMPP / WAMP en Windows a Ubuntu Server), en un máquina virtual . No es tan desalentador como puede sonar al principio, aunque puede ser excesivo si todo lo que estás haciendo es desarrollar tu propio código.

Una máquina virtual efectivamente secuestra lo que le sucede a su servidor (el invitado ) para que no se propague a la computadora de su casa que ejecuta la máquina virtual (el host ). Imagina que tienes permisos configurados incorrectamente y un script que estás probando ejecuta un system('rm -Rf some_dir') oculto. ¡No hay problema! Revertir su VM a la última instantánea y listo. Incluso puedes ver las instantáneas para ver qué ha cambiado.

Además, el adaptador de red en mi VM de elección NAT es la VM, lo que lo obliga a configurar manualmente el reenvío de puertos para que la VM acceda a él, y mucho menos detecte que existe.

Las pruebas en una máquina virtual también mitigan el riesgo de fuga de datos a través de malware. Personalmente, me preocupa mucho menos que una aplicación que estoy probando elimine maliciosamente algo de lo que soy, que lo robe en silencio y lo cargue en alguna parte. Su máquina host será invisible para las aplicaciones que se ejecutan dentro de su máquina virtual.

Personalmente soy parcial con VirtualBox de Oracle ; Es completamente gratuito, tiene suficientes funciones para que me interese y es muy fácil de usar. Las máquinas virtuales también son portátiles: puede copiar el archivo de la máquina virtual en una unidad USB y ponerlo en funcionamiento.

Si alguna vez va a hacer pruebas de software arriesgadas de cualquier tipo, le sugiero que aprenda a usar máquinas virtuales y realice pruebas allí: es una habilidad muy útil para su cinturón de herramientas.

    
respondido por el msanford 29.08.2012 - 22:46
fuente
0

Entonces, ¿qué quiere decir exactamente con "seguro" ?

  1. ¿Se refiere a la seguridad o la privacidad de los datos? (es decir, otros puede piratear tu PC a través de las aplicaciones del servidor y ver / controlar sus datos locales)?
  2. ¿O está preocupado por su código php o el software que lo hará? ¿Hacer daño a tu computadora?

Para 1), generalmente no es posible tener acceso a su computadora de forma remota si tiene su sistema operativo bien configurado. En la mayoría de los casos, su entorno de red local está protegido por NAT, firewalls y otras técnicas como las políticas dinámicas de IP. Apache también se puede configurar para que solo acepte visitas locales, como señala @HendrikBrummermann.

Para 2), solo intenta escribir código robusto y eso es todo lo que puedo sugerir. Apache y MySQL son aplicaciones de servidor muy ligeras. Solo estás haciendo una prueba local, por lo que generalmente no debería haber un gran tráfico de datos o altos costos de computación que podrían hacer que tu sistema no funcione.

    
respondido por el shuangwhywhy 21.07.2014 - 20:13
fuente

Lea otras preguntas en las etiquetas