PA Server Monitor Product Security
Secure SSL Connections
By default, PA Server Monitor uses SSL secured HTTP communications between the Console, Satellites and the Central Monitoring Service. If SSL is turned off, remote connections (remote Consoles and Satellites) are not allowed.
The SSL connection can run on any port, and defaults to port 81.
OpenSSL and Ciphers
SSL is implemented using OpenSSL version 1.0.2n (in 22.214.171.124 as of Jan 2018)
This version includes the changes to patch the following notable exploits (with required PA Server Monitor version):
- SWEET32 (126.96.36.1996)
- LogJam (188.8.131.527)
- POODLE (184.108.40.206)
- ChangeCipherSpec (220.127.116.11)
- Heartbleed (18.104.22.168)
The embedded HTTPS server supports Forward Secrecy by supporting ephemeral Diffie-Hellman key exchange, depending on the encryption cipher that is negotiated between client and server.
There are two SSL security settings available which can be changed in Settings -> HTTP Server Settings.
Normal (default) Security
The Normal setting works with most devices and operating systems, including IE 6, Windows XP and Windows 2003.
The cipher suite command sent to OpenSSL is:
SSLv2 is not allowed, but SSLv3 and TLS are allowed.
The High setting uses ciphers that enable Forward Secrecy, and disables the SSLv3 protocol so only TLS (1.0 and higher) can be used. This works with most modern browsers and operating systems.
This is based on advice from https://cipherli.st/
SSLv2 and SSLv3 are not allowed. Only TLS connections are supported.
Cipher names and information can be found at https://www.openssl.org/docs/apps/ciphers.html
For an alternate cipher override value and discussion, see http://stackoverflow.com/questions/3775836/disable-weak-ciphers-in-ssl-connection.
By default, a self-signed SSL certificate is used, but you may replace that with your own certificate using the instructions at:
The generated self-signed SSL certificates are currently 2048 bit. The default signature algorithm is sha1RSA, signature algorithm of sha1, and the public key is RSA 2048 bits.
The self-signed certificates can be easily regenerated at any time.
HTTP Server Limits
The internal HTTP/S server is very small and light. It supports a fixed number of connections, and each connection will only upload or download a fixed amount of data. These limits are registry configurable.
There are a variety of different credentials that might be put into the system depending on monitoring needs:
- Web Proxy Server
- ODBC Database Connection String
- SMTP Server
- FTP Server
- Active Directory/LDAP
- SSL Certificate Private Key
- VMWare ESX
ALL of these credentials are encrypted using Microsoft's recommended method of storing credentials via the CryptProtectData function. This encrypts the credentials such that they can only be decrypted on the computer where they are stored.
The encrypted credentials are stored in the registry at:
There are a few places in the product where the configuration can be exported to disk, with the option to export credentials. This export option can be completely disabled by setting:
[DWORD] DisablePasswordExport = 1
Communication with individual servers is done using standard protocols (HTTP, Ping, SNMP, Windows RPC for things like Event Logs, Performance Counters, etc).
Communications via Windows RPC is done using standard Windows APIs, which means all communication and access is governed by the Windows security model.
Individual monitors need different permissions depending on what resource is being targeted. Please see Monitoring Permissions for more details.
By default, an embedded SQLite database is used to store data. This can be changed to store data in a MS SQL Server database. In that case, the database login needs access to create, update and delete tables and indices. It does not need access to, nor does it try to use any statements that would modify, create or delete individual databases, including the database it stores data in.