Me han asignado algunas tareas de automatización de back-end que deben eliminar los datos de un sitio web interno con el nombre de usuario / contraseña de un empleado para iniciar sesión en el sitio.
Hay un servidor de base de datos backend, pero no tengo acceso a dicha base de datos (la burocracia es un obstáculo). Específicamente, todos los empleados tienen acceso a estos datos a través de un nombre de usuario / contraseña de inicio de sesión en el sitio interno, y mi raspador también lo necesita.
Como tengo un raspado automatizado que se debe realizar a intervalos regulares, desafortunadamente requiero el almacenamiento de un conjunto de credenciales en texto plano, de manera que puedan usarse para autenticarse en el sitio, y luego raspe la información para digerir. El sistema host para estos scripts está bloqueado, detrás de la clave SSH requerida, y es probablemente más fuerte que la seguridad física en esta oficina de todos modos (alguien con acceso a la oficina podría obtener esta información mucho más fácilmente que atacar a mi servidor).
Mi pregunta: ¿Cómo puedo hacer que las contraseñas de texto simple almacenadas en el cliente tengan el menor riesgo posible, dado que es imposible evitarlas por completo?
Como adenda para posibles preguntas adicionales, el sitio es un formulario HTTPS simple, el nombre de usuario y la contraseña POSTed (POST) y un token de autenticación (ID de sesión) se usa para una solicitud adicional. Lamentablemente, la identificación caduca, por lo que debo volver a realizar la autenticación de la contraseña cada 2 horas.
EDIT:
Según las preguntas que he recibido hasta ahora, mi implementación teórica actual es mantener el nombre de usuario / contraseña almacenados, encriptados en el disco, y requerir la clave de descifrado en la primera ejecución / reinicio, así como en un período de tiempo establecido. En teoría, esto reduciría el riesgo de que el dispositivo sea robado físicamente y comprometa la información de autenticación.
Una opción alternativa que estoy considerando es tener un servicio intermediario ejecutándose en una instancia / contenedor separado o bloqueado, cuya imagen se cifraría en el disco. Este puede ser el servicio de autenticación del intermediario, y tendría un único propósito, obtener la clave de ID de sesión del sitio a pedido y almacenar la información de nombre de usuario / contraseña descifrada temporalmente. Esto podría servir para separar aún más la información del usuario / pase del servicio potencialmente más expuesto.