Tenemos un sitio web alojado en un servidor compartido. Los servidores MySQL de la empresa de alojamiento están alojados en un servidor diferente.
Recopilamos ciertos tipos de solicitudes a través de un formulario web y las escribimos en una base de datos. Cada 10 minutos, cron ejecuta un script php que
- consulta una vista en la base de datos (sin parámetros proporcionados por el usuario o por el programa),
- nos envía nuevas solicitudes por correo electrónico, y
- escribe las claves para nuevas solicitudes en otra tabla, eliminando efectivamente esas filas de la vista.
Ese es el único proceso que se ejecuta bajo cron, y cron ejecuta solo ese script.
Todo el acceso a la base de datos php es a través de PDO. Las inserciones usan bindParam de DOP.
Un solo archivo php contiene la información de conexión para el servidor MySQL. Se almacena fuera de la raíz web, soy el propietario y sus permisos son de lectura / escritura solo para mí sin ningún otro permiso.
Ayer recibí este mensaje de error enviado por correo electrónico desde cron.
SQLSTATE [HY000] [1130] El host 'somedomain.org' no tiene permiso para conéctate a este servidor MySQL
Hasta ahora, este es un error de una sola vez. El resto del tiempo, el script php funciona según lo diseñado.
Ni ese dominio ni su dirección IP aparecen en los archivos de registro del servidor web o en un volcado de base de datos.
¿Tengo razón al interpretar esto como un intento de descifrar nuestro servidor?
¿Es esta configuración lo suficientemente buena para mantener a salvo nuestros datos a menos que mis propias credenciales estén comprometidas?
Later...
El sitio web para 'somedomain.org' está alojado en el mismo servidor en el que está nuestro sitio web. Si simplemente hubieran cometido un error tipográfico al conectarse a su propia base de datos, cualquier mensaje de error que pudiera ver no debería provenir de cron. Este error, proveniente de cron, parece decirme que de alguna manera están tratando de usar sus credenciales, pero ejecutando mi script. ¿Es eso correcto?
Aún más tarde ...
Una de mis alertas de Google me dice que un agregador de contenido, 'yetnotherdomain.com' ha comenzado a raspar los datos de nuestras páginas web. Este dominio, "todavíaundominio.com" no está no alojado en el mismo servidor en el que está nuestro sitio web. Pero los contactos administrativos y técnicos tanto para 'somedomain.org' como para 'yetanotherdomain.com' están registrados en el mismo número de teléfono en los EE. UU.
Busqué la dirección IP de 'yetanotherdomain.com' usando host
. Siguiendo con whois <ip address>
me da esta salida (cortada).
network:Street-Address:N/A
network:City:Kiev
network:State:OT
network:Postal-Code:04209
network:Country-Code:UKR