รายงานช่องโหว่ด้านความปลอดภัยบนพอร์ต NetWorker 5432, 5671, 9000, 9001
Summary: การสแกน Rapid7 ระบุช่องโหว่ด้านความปลอดภัยบนพอร์ตต่างๆ ของ NetWorker
Symptoms
มีการรายงานช่องโหว่ในพอร์ต 5671, 9000, 9001
พอร์ต 5671
เซิร์ฟเวอร์ TLS/SSL ที่ใช้ Prime Numbers
ที่ใช้กันทั่วไป เซิร์ฟเวอร์ TLS รองรับ TLS เวอร์ชัน 1.1
X.509 Certificate Subject CN ไม่ตรงกับชื่อ
เอนทิตีใบรับรอง
X.509 ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือ พอร์ตใบรับรอง
TLS/SSL ไม่ถูกต้อง9000
เรื่องใบรับรอง X.509 CN ไม่ตรงกับชื่อ
เอนทิตีใบรับรอง X.509
ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือเซิร์ฟเวอร์ TLS/SSL ใช้จํานวน
เฉพาะที่ใช้กันทั่วไปตัวเลือก HTTP ที่เปิดใช้งาน
วิธีการเซิร์ฟเวอร์ TLS/SSL รองรับการใช้การเข้ารหัส
คีย์แบบคงที่พอร์ต 9001
เรื่องใบรับรอง X.509 CN ไม่ตรงกับชื่อ
นิติบุคคลใบรับรอง X.509
ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือเซิร์ฟเวอร์ TLS/SSL ไม่รองรับอัลกอริทึม
การเข้ารหัสที่รัดกุมเซิร์ฟเวอร์ TLS/SSL รองรับการใช้การเข้ารหัสคีย์แบบคงที่
Cause
Resolution
พอร์ต 5432
นิติบุคคล* ใบรับรอง
X.509 ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือ* โซลูชันใบรับรอง
TLS/SSL ที่ลงนามด้วยตนเอง:
1. ไปที่
C:\Program Files\EMC NetWorker\Management\nmcdb\pgdata\ (หน้าต่าง); /nsr/nmc/nmcdb/pgdata/ (ลินุกซ์)
2. เปลี่ยนชื่อ
server.crt และ server.key.
3. คัดลอกเซิร์ฟเวอร์ที่ลงนาม CA และคีย์ส่วนตัวเป็น
"server.crt" และ "server.key" ตามลําดับไปยังโฟลเดอร์เดียวกัน
nsrnmc: nsrnmc และมีสิทธิ์ 600 สิทธิ์
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 บริการ:
ลินุกซ์:
systemctl restart gst
net stop gstd
net start gstd
พอร์ต 5671
วิธีการแก้:
openssl. อัปเดต rabbitmq.config ด้วยไฟล์
DHลินุกซ์:
/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
หน้าต่าง:
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
2048 หมายถึงขนาดของจํานวนเฉพาะเป็นบิต
2. กําหนดค่า
rabbitmq.config เพื่อให้แน่ใจว่าไฟล์โดยการเพิ่มรายการการกําหนดค่า:
Linux:
{dhfile, "/opt/nsr/rabbitmq-server-3.11.16/etc/rabbitmq/dhparam.pem"},
หน้าต่าง:
{dhfile, "C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-3.8.3\etc\dhparam.pem"},
ภายใน ssl_options หลังจากเครื่องหมาย "keyfile" บรรทัด.
ตัวอย่าง:
ค้นหา
"ssl_options" และเพิ่ม dhfile การตั้งค่าดังที่แสดงด้านล่าง:
{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 สําหรับบรรทัดด้านล่าง:
% disable TLS 1.0, remove tlsv1.1 if it is not needed
{versions, ['tlsv1.2', 'tlsv1.1']},
* เรื่องใบรับรอง X.509 CN ไม่ตรงกับชื่อ
นิติบุคคล* ใบรับรอง
X.509 ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือ* ใบรับรอง TLS/SSL ไม่ถูกต้อง
วิธีการแก้:
C:\Program Files\EMC NetWorker\nsr\rabbitmq-server-<some number>\etc (วินโดวส์). บน Linux เส้นทางคือ /opt/nsr/rabbitmq-server-<n.nn.nn>/etc/rabbitmq
2. เปลี่ยนชื่อ
.pem ใบรับรอง
3. คัดลอกใบรับรองที่ลงนามโดย CA โดยใช้ชื่อเดียวกับต้นฉบับ
ที่ไหน:
cacert.pem = คือชุดใบรับรอง CA
cert.pem = คือใบรับรองสาธารณะ/เซิร์ฟเวอร์
key.pem = คือคีย์ส่วนตัว
4. ตรวจสอบว่าเส้นทางและชื่อแสดงอย่างถูกต้องใน
rabbitmq.config.
หน้าต่าง:
{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"},
ลินุกซ์:
{ssl_options, [{cacertfile, "/etc/rabbitmq/cacert.pem"},
{certfile, "/etc/rabbitmq/cert.pem"},
{keyfile, "/etc/rabbitmq/key.pem"},
5. เริ่มบริการ NetWorker และ GST
พอร์ต 9000
* เรื่องใบรับรอง X.509 CN ไม่ตรงกับชื่อ
นิติบุคคล* โซลูชันใบรับรอง
X.509 ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือ:
1) เปลี่ยนชื่อ "server.crt" และ "server.key." บน Windows ไฟล์จะอยู่ใน C:\Program Files\EMC NetWorker\Management\GST\apache\conf. บน Linux ไฟล์จะอยู่ใน /opt/lgtonmc/apache/conf.
2) คัดลอกใบรับรองเซิร์ฟเวอร์ที่ลงนามโดย CA และคีย์ส่วนตัวในโฟลเดอร์เดียวกัน เปลี่ยนชื่อใบรับรองเซิร์ฟเวอร์ที่ลงนาม CA เป็น "server.crt" และคีย์เซิร์ฟเวอร์ไปยัง "server.key."
3) ยืนยันว่าเส้นทางและชื่อสอดคล้องกันใน C:\Program Files\EMC NetWorker\Management\GST\apache\conf\httpd.conf และ C:\Program Files\EMC NetWorker\Management\GST\apache\conf\https.conf. บน Linux httpd.conf ตั้งอยู่ภายใต้ /opt/lgtonmc/apache/conf.
บรรทัดที่ต้องตรวจสอบมีดังต่อไปนี้ -
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"
ลินุกซ์:
SSLCertificatefile /opt/lgtonmc/apache/conf/server.crt
SSLCertificateKeyfile /opt/lgtonmc/apache/conf/server.key
4) บน Linux การอนุญาตของแมลงวันควรเป็น 600 และเป็นเจ้าของโดย nsrnmc.
-rw------- 1 nsrnmc nsrnmc 1679 May 17 16:26 server.key
-rw------- 1 nsrnmc nsrnmc 1216 May 17 16:26 server.crt
* เซิร์ฟเวอร์ TLS/SSL ใช้จํานวน
เฉพาะที่ใช้กันทั่วไปวิธีการแก้:
1) สร้างพารามิเตอร์ DH โดยใช้ openssl.
หน้าต่าง:
openssl.exe dhparam -out "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\apachedhparam.pem" 2048
ลินุกซ์:
openssl dhparam -out "/opt/lgtonmc/apache/conf/apachedhparam.pem" 2048
2) เพิ่ม "SSLOpenSSLConfCmd DHParameters <location of dhparam.pem>" ใน httpd.conf
หน้าต่าง:
SSLOpenSSLConfCmd DHParameters "C:\Program Files\EMC NetWorker\Management\GST\apache\conf\apachedhparam.pem"
ลินุกซ์:
<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>
* เปิดใช้งาน
วิธีการ HTTP OPTIONS: ช่องโหว่นี้ใช้ไม่ได้กับ NMC โมดูล mod_rewrite ไม่ได้โหลดโดย NMC
* เซิร์ฟเวอร์ TLS/SSL รองรับการใช้การเข้ารหัส
คีย์แบบคงที่แสดงความคิดเห็นต้นฉบับ SSLCipherSuite ใน httpd.conf. แทนที่ด้วยอันด้านล่าง
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
พอร์ต 9001
*เรื่องใบรับรอง X.509 CN ไม่ตรงกับชื่อ
นิติบุคคล*ใบรับรอง
X.509 ของเซิร์ฟเวอร์ TLS/SSL ที่ไม่น่าเชื่อถือ เราให้การสนับสนุนเพื่อแทนที่ใบรับรองที่ใช้โดยพอร์ต 9001
บน 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
บน 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.
* เซิร์ฟเวอร์ TLS/SSL ไม่รองรับอัลกอริธึม
การเข้ารหัสที่รัดกุมใด ๆ รองรับการเข้ารหัสที่รัดกุมถูกนํามาใช้ใน NetWorker 19.5 และรุ่นที่ใหม่กว่า อัปเดตเซิร์ฟเวอร์ที่ได้รับผลกระทบเป็น NetWorker 19.5.x
* เซิร์ฟเวอร์ TLS/SSL รองรับการใช้การเข้ารหัส
คีย์แบบคงที่ปัญหานี้ยังไม่ได้รับการแก้ไขบนแพลตฟอร์ม Windows ปัญหานี้ได้รับการแก้ไขแล้วในการแก้ไขข้อบกพร่อง