(Mientras que las respuestas y los comentarios se encuentran en Cómo trato ¿son útiles un servidor comprometido? , mi pregunta es más sobre la prevención de piratería cuando no tengo control total (o mucho) sobre el servidor. Tengo acceso a SSH pero no privilegios de root. No puedo ver ni cambiar nada más allá de mi propia cuenta de usuario.)
Soy voluntario para una organización sin fines de lucro, manteniendo su sitio web para ellos. Hemos estado en una plataforma de alojamiento compartido de bajo presupuesto (Bluehost) durante varios años. El sitio se creó en Wordpress e hice todo lo posible para mantener el núcleo WP y todos los complementos actualizados.
Pero nos hackearon varias veces. A veces era malicioso (desfiguraba la página de inicio) mientras que otras veces era sigiloso (descubrí archivos ocultos que parecían permitir que alguien entrara y husmeara).
Me deshice totalmente de WP, reconstruyendo el sitio en Bootstrap. Eliminé todos los archivos todos del servidor, realicé varias exploraciones de virus en la versión local del nuevo sitio, revisé cualquier cosa sospechosa y luego subí los archivos al servidor. Estaba casi 100% seguro de que este nuevo código estaba "limpio".
Pero dentro de unos días, descubrí (comparando el servidor con mi versión local) un index.php pirateado (se insertó algo de código 'preg-replace' antes de la primera línea) y encontré un "logo-small.png "archivo en un subdirectorio que no era realmente un archivo de imagen. Era un gran trozo de PHP ofuscado que parecía estar preparado para cosas desagradables (me quité la imagen y vi el código).
Sabía que los hosts compartidos, a menudo con cientos de sitios, podrían ser vulnerables. En este punto, desconfío totalmente del servidor en el que estamos. Pero cuando le pregunté a Bluehost si estaríamos más seguros en un VPS o en un servidor dedicado (pensando que nuestra "caja de arena" sería más difícil), dijeron que realmente no haría una diferencia.
Así que estoy en un dilema. La organización sin fines de lucro que ayudo tiene un presupuesto limitado. Pero tampoco quiero seguir gastando de diez a cientos de horas monitoreando y arreglando el sitio. No sé si los hackers están ingresando a través del sistema de archivos o un puerto abierto que no debería estar abierto.
¿Existe una solución rentable que ofrezca un "endurecimiento" mucho mejor?