Vulnerabilidades de seguridad informadas en los puertos 5432, 5671, 9000 y 9001 de NetWorker
Resumen: El análisis de Rapid7 identificó vulnerabilidades de seguridad en varios puertos de NetWorker.
Síntomas
Se informan vulnerabilidades en los puertos 5671, 9000 y 9001.
Puerto 5671
Servidor TLS/SSL que utiliza números
primos de uso común El servidor TLS es compatible con TLS versión 1.1
El asunto del certificado X.509 CN no coincide con el nombre de la entidad.
Servidor TLS/SSL no confiable Certificado
X.509 certificado TLS/SSL
no válidoPuerto 9000
X.509 El CN del sujeto del certificado no coincide con el nombre de la entidad.
Servidor TLS/SSL no confiable Certificado
X.509 El servidor TLS/SSL utiliza números primos de uso común.
Método HTTP OPTIONS habilitado
El servidor TLS/SSL admite el uso de cifrados de claves estáticas.
Puerto 9001
El CN del sujeto del certificado X.509 no coincide con el nombre de la entidad.
Servidor TLS/SSL no confiable Certificado
X.509 El servidor TLS/SSL no es compatible con algoritmos de cifrado seguros.
El servidor TLS/SSL admite el uso de cifrados de clave estática.
Causa
Resolución
Puerto 5432
* Servidor TLS/SSL no confiable Certificado
X.509* Certificado
TLS/SSL autofirmado Solución:
1. Vaya a
C:\Program Files\EMC NetWorker\Management\nmcdb\pgdata\ (Windows); /nsr/nmc/nmcdb/pgdata/ (Linux)
2. Cambiar el nombre
server.crt y server.key.
3. Copie el servidor firmado por CA y la clave privada como
"server.crt" y "server.key" respectivamente a la misma carpeta.
nsrnmc: nsrnmc y tener 600 permisos.
chown nsrnmc:nsrnmc /nsr/nmc/nmcdb/pgdata/server.crt
chown nsrnmc:nsrnmc /nsr/nmc/nmcdb/pgdata/server.key
chmod 600 /nsr/nmc/nmcdb/pgdata/server.crt
chmod 600 /nsr/nmc/nmcdb/pgdata/server.key
postgresql.conf.
ssl_cert_file = 'server.crt' ssl_key_file = 'server.key'
gst servicios:
Linux:
systemctl restart gst
net stop gstd
net start gstd
Puerto 5671
Solución:
openssl. Actualice rabbitmq.config con el archivo DH.
Linux:
/opt/nsr/rabbitmq-server-3.11.16/etc/rabbitmq/rabbitmq.config
openssl dhparam -out /opt/nsr/rabbitmq-server-3.11.16/etc/dhparam.pem 2048
Windows:
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.7.16\etc\rabbitmq.config.
openssl.exe dhparam -out "C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.3\etc\dhparam.pem" 2048
El 2048 se refiere al tamaño del número primo en bits.
2. Configurar
rabbitmq.config para asegurar el archivo agregando el elemento de configuración:
Linux:
{dhfile, "/opt/nsr/rabbitmq-server-3.11.16/etc/rabbitmq/dhparam.pem"},
Windows:
{dhfile, "C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.3\etc\dhparam.pem"},
Dentro de la ssl_options justo después de la "keyfile" línea.
Ejemplo:
Busque
"ssl_options" y agregue el comando dhfile configuración, como se muestra a continuación:
{ssl_options, [{cacertfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-3.8.3\\etc\\cacert.pem"},
{certfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-3.8.3\\etc\\cert.pem"},
{keyfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-3.8.3\\etc\\key.pem"},
{dhfile, "C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.3\etc\dhparam.pem"},
{verify, verify_none},
rabbitmq.config. Look para la siguiente línea:
% disable TLS 1.0, remove tlsv1.1 if it is not needed
{versions, ['tlsv1.2', 'tlsv1.1']},
* El CN del sujeto del certificado X.509 no coincide con el nombre de la entidad.
* Servidor TLS/SSL no confiable Certificado
X.509* Certificado TLS/SSL no válido
Solución:
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-<some number>\etc (Windows). En Linux, la ruta es /opt/nsr/rabbitmq-server-<n.nn.nn>/etc/rabbitmq
2. Cambiar el nombre del existente
.pem certificados.
3. Copie los certificados firmados por CA con el mismo nombre que el original.
Dónde:
cacert.pem = es el paquete de certificados de CA.
cert.pem = es el certificado público/servidor.
key.pem = es la clave privada.
4. Verifique que la ruta y los nombres se reflejen correctamente en
rabbitmq.config.
Windows:
{ssl_options, [{cacertfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-<some numbers>\\etc\\cacert.pem"},
{certfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-<some numbers>\\etc\\cert.pem"},
{keyfile, "C:\\Program Files\\EMC NetWorker\\nsr\\rabbitmq-server-<some numbers>\\etc\\key.pem"},
Linux:
{ssl_options, [{cacertfile, "/etc/rabbitmq/cacert.pem"},
{certfile, "/etc/rabbitmq/cert.pem"},
{keyfile, "/etc/rabbitmq/key.pem"},
5. Inicie el servicio de NetWorker y GST.
Puerto 9000
* El CN del sujeto del certificado X.509 no coincide con el nombre de la entidad.
* Servidor TLS/SSL no confiable Certificado
X.509 Solución:
1) Cambiar nombre "server.crt" y "server.key." En Windows, los archivos están en C:\Program Files\EMC NetWorker\Management\GST\apache\conf. En Linux, los archivos se encuentran en /opt/lgtonmc/apache/conf.
2) Copie el certificado del servidor firmado por la CA y la clave privada en la misma carpeta. Cambie el nombre del certificado del servidor firmado por CA a "server.crt" y la clave del servidor para "server.key."
3) Confirme que la ruta y el nombre sean coherentes en C:\Program Files\EMC NetWorker\Management\GST\apache\conf\httpd.conf y C:\Program Files\EMC NetWorker\Management\GST\apache\conf\https.conf. En Linux, httpd.conf se encuentra en /opt/lgtonmc/apache/conf.
Las líneas que se deben revisar son las siguientes:
Windows:
SSLCertificatefile "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.crt"
SSLCertificateKeyfile "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\server.key"
Linux:
SSLCertificatefile /opt/lgtonmc/apache/conf/server.crt
SSLCertificateKeyfile /opt/lgtonmc/apache/conf/server.key
4) En Linux, el permiso de las moscas debe ser 600 y ser propiedad de nsrnmc.
-rw------- 1 nsrnmc nsrnmc 1679 May 17 16:26 server.key
-rw------- 1 nsrnmc nsrnmc 1216 May 17 16:26 server.crt
* El servidor TLS/SSL utiliza números
primos comúnmente utilizadosSolución:
1) Genere parámetros DH usando openssl.
Windows:
openssl.exe dhparam -out "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\apachedhparam.pem" 2048
Linux:
openssl dhparam -out "/opt/lgtonmc/apache/conf/apachedhparam.pem" 2048
2) Añade "SSLOpenSSLConfCmd DHParameters <location of dhparam.pem>" En httpd.conf
Windows:
SSLOpenSSLConfCmd DHParameters "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\apachedhparam.pem"
Linux:
<VirtualHost *:9000>
Servername localhost:9000
...
...
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3:!TLSv1.0:!TLSv1.1:!ADH:!MEDIUM:!LOW:@STRENGTH
SSLOpenSSLConfCmd DHParameters /opt/lgtonmc/apache/conf/apachedhparam.pem
</VirtualHost>
* OPCIONES HTTP Método habilitado
Esta vulnerabilidad no se aplica a NMC. mod_rewrite NMC no carga el módulo.
* El servidor TLS/SSL admite el uso de cifrados de clave estática.
Comente el original SSLCipherSuite En httpd.conf. Reemplácelo por el que aparece a continuación.
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!3DES:!MD5:!PSK:!RC4
Puerto 9001
* El CN del sujeto del certificado X.509 no coincide con el nombre de la entidad.
* Servidor TLS/SSL no confiable Certificado
X.509 Se proporciona soporte para reemplazar el certificado utilizado por el puerto 9001.
En Windows:
To generate cakey.pem from CA signed certificate: Get the CA signed certificates in individual key files, or in a single file in PFX format. If the CA signed certificates are in a single PFX file, extract the private key, and the CA signed certificate with OpenSSL tool. NOTE:Windows may not have OpenSSL installed. You can install OpenSSL separately. Extract the private key, and the CA signed certificate from the PFX file. Private key: # openssl pkcs12 -in <file>.pfx -out server.key -nodes -nocerts CA certificate: # openssl pkcs12 -in <file>.pfx -out server.crt -nokeys Verify the integrity of the server.key and server.crt. Private key: # openssl pkey -in server.key -pubout -outform pem | sha256sum CA certificate: # openssl x509 -in server.crt -pubkey -noout -outform pem | sha256sum NOTE:Ensure that the output shows the same checksum hash from the above two outputs. If the checksum hashes are same, perform the next step. If they are different, there is an issue. Convert the private key and the CA certificate to PEM format. Private key: # openssl rsa -in server.key -outform pem -out server.key.pem CA certificate: # openssl x509 -in server.crt -outform pem -out server.crt.pem Combine the key and the certificate into cakey.pem file for NMC. Windows (PowerShell): PS > get-content server.key.pem,server.crt.pem | out-file cakey.pem Shut down the NMC server. Windows: net stop gstd Copy the cakey.pem to the NMC servers installation location: Windows: [Install Drive]:\Program Files\EMC NetWorker\Management\GST\etc\cakey.pem Start the NMC server. Windows: net start gstd
En Linux:
Get all the required certificates(root, intermediate, and server) from pem file format. For example: server.key, RootCA.crt, InterCA.crt, and server.crt. Convert the private key and the certificates(root, intermediate, and server) to PEM format. Private key: # openssl rsa -in server.key -outform pem -out server.key.pem Certificates: # openssl x509 -in server.crt -outform pem -out server.crt.pem # openssl x509 -in RootCA.crt -outform pem -out RootCA.crt.pem # openssl x509 -in InterCA.crt -outform pem -out InterCA.crt.pem After the Chain is ready, concatenate all certificates in one file with command: > cat server.key.pem RootCA.crt.pem InterCA.crt.pem server.crt.pem > cakey.pem NOTE:Order of the certificates in concatenation is important. server.key should always be the first certificate, and server.pem should always be the last certificate in this file. Change the owner and group of file to nsrnmc. Stop NetWorker services. systemctl stop networker systemctl stop gst Move to directory /opt/lgtonmc/etc/, rename the existing cakey.pem, and copy the cakey.pem file which has your CA certificate chain. Start the NetWorker services. systemctl start networker systemctl start gst All the services should come up gracefully.
* El servidor TLS/SSL no es compatible con algoritmos
de cifrado seguros El soporte para cifrados fuertes se implementa en NetWorker 19.5 y versiones más recientes. Actualice los servidores afectados a NetWorker 19.5.x.
* El servidor TLS/SSL admite el uso de cifrados de clave estática.
Esto aún no se aborda en la plataforma Windows. Esto se soluciona en una corrección de errores.