Evaluación de Class Bao 2.0: configuración de la base de datos Redis
Investigación preliminar
Con respecto a la situación del sistema en la etapa inicial de igual protección, lo que necesitamos saber aquí es la versión de la base de datos.
Verifique la versión de la base de datos: el personal de operación y mantenimiento generalmente configura las variables de entorno del comando redis. Si el siguiente comando no funciona, use buscar para encontrarlo. Algunos conocimientos básicos no se discutirán aquí.
1) Ver localmente en el servidor
redis-server -v
redis-server --version
2) Inicie sesión en la base de datos para realizar consultas.
Inicie sesión en la base de datos: redis-cli -h 127.0.0.1 -p 6379 -h seguido de ip, -p seguido de puerto
Generalmente, inicia sesión localmente y puede iniciar sesión directamente a través de redis-cli. Por supuesto, la premisa es que el puerto del servicio Redis no se ha modificado.
Luego de iniciar sesión en la base de datos, ingresamos: info
1. Identificación
a) Los usuarios que inician sesión deben estar identificados y autenticados. El identificador de identidad debe ser único y la información de autenticación de identidad debe tener requisitos de complejidad y reemplazarse periódicamente.
1. Identificación e identificación
De forma predeterminada, se puede iniciar sesión en la base de datos de Redis directamente sin contraseña: ingrese directamente redis-cli para iniciar sesión.
Entonces necesitamos verificar el archivo de configuración de Redis, generalmente redis.conf, en el directorio de inicio de Redis.
Compruebe si el parámetro requirepass no está comentado:
Si no está en el estado de comentario, como se muestra en la imagen de arriba, ***y@123 a continuación está la contraseña, que se almacena en texto sin cifrar.
Si se ha establecido una contraseña, se le solicitará
Nota: Aquí no existe el concepto de usuario, solo se puede agregar una verificación de contraseña.
2. La información de identificación es compleja y cambia periódicamente.
No hay forma de cumplir con este requisito. No hay complejidad de contraseña ni función de configuración del período máximo de uso.
Aquí se comprueba si la complejidad de la contraseña actual del usuario cumple los requisitos.
Extensión: la base de datos de Redis permite la verificación de contraseña
1) Configurar a través del archivo de configuración
Encuentre el parámetro foobared requirepass en redis.conf
Cancele el comentario delante de requirepass, cambie foobared a la contraseña correspondiente y luego reinicie la base de datos.
Intente iniciar sesión nuevamente. Puede conectarse pero no puede ejecutar algunos comandos relacionados.
Debe utilizar el comando de autenticación de contraseña para iniciar sesión
O utilice redis-cli -h 127.0.0.1 -p 6379 -a "mypass" para iniciar sesión (no recomendado)
Porque la contraseña en texto claro se guardará en el historial, lo cual no es seguro.
2) Configurar mediante línea de comando (temporal)
config set requirepass ***y@1234
config get requirepass
Luego intente iniciar sesión en redis con la contraseña anterior configurada en el archivo de configuración y encontrará que la original no está disponible y es rechazada.
Pero después de reiniciar Redis, se citará la contraseña en el archivo de configuración.
b) Debe tener la función de manejar fallas de inicio de sesión y debe configurar y habilitar medidas relevantes como finalizar la sesión, limitar el número de inicios de sesión ilegales y cerrar sesión automáticamente cuando la conexión de inicio de sesión se agote.
1. Función de manejo de fallas de inicio de sesión
Si esta función no está disponible, pregunte a la gerencia si existen medidas de terceros.
No se cumple el valor predeterminado.
2. Función de salida automática después del tiempo de espera de la operación.
Verifique el archivo de configuración de Redis, generalmente redis.conf, en el directorio de inicio de Redis.
Verifique el valor del tiempo de espera, el valor predeterminado es 0 y nunca salga.
Lo que se establece aquí es exigir la reidentificación después de 120 segundos de la salida.
Pasado este tiempo será necesaria una nueva identificación.
c) Al realizar la gestión remota, se deben tomar las medidas necesarias para evitar que la información de identificación sea escuchada durante la transmisión de la red.
por defecto:
Los paquetes capturados se transmiten en texto claro.
Esto requiere preguntar al personal de gestión si han tomado medidas pertinentes para evitar que la información de identificación sea escuchada durante la transmisión.
No se cumple el valor predeterminado.
d) Se deben utilizar dos o más combinaciones de tecnologías de autenticación, como contraseñas, criptografía y biotecnología, para autenticar a los usuarios, y al menos una de las tecnologías de autenticación debe implementarse mediante criptografía.
Generalmente esto no se hace, solo necesitamos verificar en el sitio si utiliza autenticación de dos factores.
2. control de acceso
Dado que la base de datos de Redis no tiene el concepto de usuario, puede iniciar sesión con una sola verificación de contraseña y tener todos los permisos. Por lo tanto, para el punto de control de control de acceso, algunos no son aplicables y otros no cumplen. Creo que esto Se puede determinar de acuerdo con los requisitos de la propia organización para emitir juicios. Después de todo, actualmente no existe un estándar unificado.
a) Se deben asignar cuentas y permisos a los usuarios que hayan iniciado sesión
No existe un concepto de usuario, pase la verificación de contraseña y tenga todos los permisos.
b) Se debe cambiar el nombre de la cuenta predeterminada o eliminarla, y se debe modificar la contraseña predeterminada de la cuenta predeterminada.
No existe ninguna cuenta predeterminada. no aplica
c) Las cuentas redundantes y vencidas deben eliminarse o desactivarse de manera oportuna para evitar la existencia de cuentas compartidas.
Sin concepto de cuenta.
d) Se deben otorgar los permisos mínimos requeridos para los usuarios de administración para lograr la separación de permisos para los usuarios de administración.
No hay manera de descentralizar el poder, no se puede hacer.
e) La política de control de acceso debe ser configurada por el sujeto autorizado, y la política de control de acceso estipula las reglas de acceso del sujeto al objeto.
Ningún sujeto autorizado.
f) La granularidad del control de acceso debe ser tal que el sujeto sea el nivel de usuario o el nivel de proceso, y el objeto sea el nivel de archivo o tabla de base de datos.
Sin concepto de usuario.
g) Se deben establecer marcas de seguridad para sujetos y objetos importantes, y se debe controlar el acceso de los sujetos a los recursos de información con marcas de seguridad.
No puedo hacerlo.
3. Auditoría de seguridad
a) La función de auditoría de seguridad debe estar habilitada, la auditoría cubre a todos los usuarios y se deben auditar los comportamientos importantes de los usuarios y los eventos de seguridad importantes.
Verifique el archivo de configuración de Redis, generalmente redis.conf, en el directorio de inicio de Redis.
Verifique los parámetros de nivel de registro y archivo de registro. La versión que instalé tiene lo siguiente por defecto:
Redis admite la configuración del nivel de registro a través del elemento de configuración de nivel de registro, que se divide en cuatro niveles, a saber, depuración, detallado, aviso y advertencia.
Redis también admite configurar la ubicación de generación de archivos de registro a través del elemento de configuración del archivo de registro. Si se establece en una cadena vacía, redis generará el registro en la salida estándar y el registro se enviará a /dev/null.
Aquí lo configuramos para enviar el registro al siguiente archivo.
Después de reiniciar, el registro se escribirá en este archivo.
Entonces aquí necesitamos determinar dos parámetros: nivel de registro y archivo de registro.
Y se debe configurar el archivo de registro, porque si no se configura, el registro correspondiente no se conservará.
b) Los registros de auditoría deben incluir la fecha y hora del evento, el usuario, el tipo de evento, si el evento fue exitoso y otra información relacionada con la auditoría.
De forma predeterminada, la hora del registro sigue la hora del sistema. Por ejemplo, si simplemente reinicio la base de datos, se generará el registro correspondiente.
c) Los registros de auditoría deben protegerse y respaldarse periódicamente para evitar eliminaciones, modificaciones o sobrescrituras inesperadas, etc.
Los permisos de los archivos de registro almacenados en el sistema operativo no deben exceder los 644. No deben eliminarse de forma predeterminada y deben guardarse permanentemente.
Para realizar copias de seguridad periódicas, simplemente pregúntele al administrador si lo ha hecho.
d) El proceso de auditoría debe protegerse contra interrupciones no autorizadas.
Cumple por defecto.
La salida del archivo de registro no se puede interrumpir, pero se puede modificar el nivel de registro.
4. Prevención de intrusiones
Los siguientes términos son: No aplicable
a) Se debe seguir el principio de instalación mínima y solo se deben instalar los componentes y aplicaciones requeridos.
b) Se deben cerrar los servicios de sistema innecesarios, los recursos compartidos predeterminados y los puertos de alto riesgo.
d) Se debe proporcionar una función de verificación de la validez de los datos para garantizar que el contenido ingresado a través de la interfaz hombre-máquina o la interfaz de comunicación cumpla con los requisitos de configuración del sistema.
f) Debería poder detectar intrusiones en nodos importantes y proporcionar alarmas cuando se produzcan intrusiones graves.
Involucrado:
c) Los terminales de gestión gestionados a través de la red deben restringirse estableciendo el método de acceso al terminal o el rango de direcciones de red.
Busque el archivo de configuración de Redis, generalmente redis.conf. Primero puede encontrar RED. Habrá un enlace a continuación.
En el caso de comentarios es acceso desde cualquier IP, puedes configurar la IP especificada y separarla con espacios. Aquí basta con mirar la dirección IP que sigue al enlace.
e) Debería poder descubrir posibles vulnerabilidades conocidas y parchearlas de manera oportuna después de pruebas y evaluaciones suficientes.
Esto se juzga combinando escaneos faltantes, pruebas y otros métodos. Redis es famoso por sus numerosas lagunas. .
Por ejemplo, las vulnerabilidades de acceso no autorizado se pueden probar con éxito localmente. No entraré en detalles aquí. Dejemos que los ingenieros de penetración echen un vistazo y luego podremos esperar su informe para confirmar si existe una vulnerabilidad correspondiente.
5. Integridad de los datos
Para esta base de datos, los dos elementos siguientes no se cumplen de forma predeterminada. Pregunte a los gerentes si han tomado medidas para garantizar la integridad de los datos.
a) Se debe utilizar tecnología de verificación o tecnología de criptografía para garantizar la integridad de los datos importantes durante la transmisión, incluidos, entre otros, datos de identificación, datos comerciales importantes, datos de auditoría importantes, datos de configuración importantes, datos de video importantes e información personal importante, etc.
b) Se debe utilizar tecnología de verificación o tecnología de criptografía para garantizar la integridad de los datos importantes durante el proceso de almacenamiento, incluidos, entre otros, datos de identificación, datos comerciales importantes, datos de auditoría importantes, datos de configuración importantes, datos de video importantes e información personal importante. etc.
6. Confidencialidad de los datos
La confidencialidad es la misma, para esta base de datos no se cumplen los siguientes dos valores predeterminados. Pregunte a los gerentes si han tomado medidas para garantizar la confidencialidad de los datos.
a) Se debe utilizar tecnología criptográfica para garantizar la confidencialidad de los datos importantes durante la transmisión, incluidos, entre otros, datos de identificación, datos comerciales importantes e información personal importante, etc.
b) Se debe utilizar tecnología criptográfica para garantizar la confidencialidad de los datos importantes durante el proceso de almacenamiento, incluidos, entre otros, datos de identificación, datos comerciales importantes e información personal importante, etc.
7. Copia de seguridad y recuperación de datos
a) Se deben proporcionar funciones de copia de seguridad y recuperación de datos locales para datos importantes.
No hay mucho que decir al respecto, simplemente pregunte al personal de administración cómo se realiza la copia de seguridad y si existen medidas para garantizar que los datos de la copia de seguridad sean válidos (los registros de prueba son suficientes).
b) Se debe proporcionar una función de copia de seguridad en tiempo real fuera del sitio y se debe utilizar la red de comunicación para realizar una copia de seguridad de los datos importantes en el sitio de copia de seguridad en tiempo real.
Pregúntale al administrador
c) Se debe proporcionar redundancia en caliente de los sistemas de procesamiento de datos importantes para garantizar una alta disponibilidad del sistema.
Esto depende de la situación real para determinar si es necesaria la redundancia en caliente. Nadie cree que sea aplicable.