ServiceDesk Plus is robust IT service management software trusted by clients around the globe. A large clientele comes with the exchange of a hefty amount of sensitive data every day. There's no room for compromise on the security of such data, as that could potentially expose organizations to serious risks. ServiceDesk Plus is designed to offer tight data security starting at the time of installation and following into every phase of product usage, including user authentication, data transmission, and storage. In addition to the following summary of security measures already in place, ManageEngine constantly strives to enhance the security features in ServiceDesk Plus.

This document outlines the security specifications of ServiceDesk Plus.

Security at various levels

Encryption mechanism

The following encryption algorithms are used in ServiceDesk Plus:

Authentication and authorization

Data integrity

Access control measures

Availability mechanism

Disaster recovery

Security features

Encryption mechanism

Encryption in the application server

Encryption in the database server

Enterprise Service Management (ESM)

Authentication and authorization

Strong application-level authentication

ServiceDesk Plus has four authentication options for accessing the application.

Data integrity

Data transmission

Data storage with encryption

Web GUI input validation

Access control measures

Data access control

Audit trails

Deduction capabilities

Availability mechanism

Failover server

Offline access

Mobile access

Disaster recovery

Provision for backup

System failure and recovery

Security configurations

How to enable secure data transmission

How to configure security response headers

Content-Security-Policy (CSP) is an added layer of security that helps detect and mitigate certain types of attacks, including XSS and data injection attacks.

Recommended value:

default-src 'unsafe-inline' 'unsafe-eval' protocol://server-name:port data:

https://salesiq.zoho.com https://js.zohostatic.com https://css.zohostatic.com

https://salesiq.zohopublic.com https://img.zohostatic.com https://www.manageengine.com

https://manageengine.com https://connect.zoho.com https://www.youtube.com

https://www.youtube.com/iframe_api https://s.ytimg.com ws://vts.zohopublic.com ws:// server-name:port wss:// server-name:port

Note: Find the highlighted text in the header configuration and replace "server-name", “port”, and "protocol" with ServiceDesk Plus server's name/IP and ServiceDesk Plus server's port and protocol respectively.

CSP gives you control over both inline and external scripts, which can pose a threat to your website's security. In case of an attack, the scripts will be blocked by CSP.

HTTP Strict-Transport-Security is a response header (often abbreviated as HSTS) that enables browsers to access websites only using HTTPS instead of HTTP.

Recommended value:

max-age=10368000 includesubdomains preload

On configuring this header, ServiceDesk Plus is free from the Strict TLS vulnerability as well as CWE-523. HSTS headers are valid only over HTTPS connections, which guarantees that no unencrypted HTTP traffic is received. Combined with preloading, HSTS also improves page load time by eliminating server redirects from HTTP to HTTPS.

Cache-Control holds directives (instructions) for caching in both requests and responses.

Recommended value:

public max-age=8640000

Benefits of configuring this header:

X-Content-Type-Options is used to protect against MIME sniffing vulnerabilities, which occur when a website allows users to upload malicious content, creating an opportunity for XSS to compromise the integrity of the website.

Recommended value:

nosniff

On configuring this header, ServiceDesk Plus is free from content sniffing vulnerabilities.

X-Frame-Options can be used to indicate whether a browser should be allowed to render a page in a <frame>, <iframe>, <embed>, or <object>. Sites can use this to avoid clickjacking attacks by ensuring that their content is not embedded in other sites.

Recommended value:

SAMEORIGIN

On configuring this security response header, ServiceDesk Plus is free from clickjacking vulnerabilities.

X-XSS-Protection is designed to enable the XSS filter built into modern web browsers.

Recommended value:

1;mode=block

On configuring this header, ServiceDesk Plus is free from reflected XSS vulnerabilities.

Access-Control-Allow-Origin indicates whether the response can be shared by requesting the code from the given origin.

Recommended value:

https://www.zoho.com,https://www.google.com

To allow cross origin requests, the "Access-Control-Allow-Origin" header value needs to be set as "trusted"

trusted

The Referrer-Policy HTTP header controls how much referrer information (sent via the Referrer header) should be included with requests.

Recommended value:

same-origin

The Expect-CT header lets sites choose reporting and enforcement of certificate transparency requirements to prevent the use of mis-issued certificates for that site.

Recommended value:

enforce,max-age=300

How to add new security response headers

You can add new response headers to improve application security by following the steps below:

The newly added response headers will be reflected in application UI under ESM Directory/Admin > Security Settings. You can choose the required headers to set them as security response headers.

How to prevent brute-force attacks

A brute-force attack uses trial-and-error to guess login info or encryption keys, or find a hidden web page. Hackers work through all possible combinations hoping to guess information correctly.

Solution: Enable the Configure account lockout threshold and duration security configuration under Admin > General > Security Settings > Advanced.

How to disable concurrent user logins

Concurrent logins can lead to illegitimate personnel using valid credentials to authenticate access to the network. This could cause multiple security issues within the organization, such as misuse of the legitimate user's personal information and resources to perform unauthorized actions.

Solution: Enable the Disable concurrent logins security configuration under Admin > General > Security Settings.

How to block malicious file uploads

To restrict malicious files from getting added to the application, you can enable File attachment filtering. You can find the feature under Admin > General Settings > Attachment Settings. Once enabled, you can add the file types that need to be restricted by choosing the Exclude option.

You can also add any unsupported file types by clicking Add new to block or unblock them.

How to enable encrypted password transmission

Clear text passwords are a serious security risk. There is no scenario where it's possible to transmit such passwords without risks.

Solution: Open product-config.xml and enable password encryption by changing the below configuration value to “true”. You must restart ServiceDesk Plus to apply this configuration.

<configuration name="user.password.encrypt" value="true"/>

How to disable the Keep me signed in feature

The Keep me signed in functionality decreases the security of an application and should ideally be avoided, because selecting "Remember me" permanently stores a session token, which a hacker could find and use to gain access to the application.

Solution: Disable the Keep me signed in feature under Admin > General > Security Settings.

How to solve the Domain Enumeration security issue (CVE-2018–7248)

Unauthenticated users can validate domain user accounts by sending a request containing the username to an API endpoint, which then sends back the user's logon domain if the account exists.

Solution: Disable the Enable Domain dropdown during login security configuration in Admin > General > Security Settings > Advanced.

How to avoid using unauthenticated URLs

Generally, a non-login URL is generated to upload asset details to ServiceDesk Plus. It's recommended to disable this URL in the following scenarios:

To disable this URL, enable the Stop uploading scanned XMLs via non-login URL security configuration under Admin > General > Security Settings.

A non-login URL is provided for approvals. It is recommended to enable login for all non-login approval URLs.

To enable login, click Allow approval actions from logged-in users only under Admin > Self-Service Portal Settings.

How to disable the option to copy and paste in password input fields

To disable the option to copy and paste, enable the Disable paste for password fields security configuration under Admin > General > Security Settings.

How to remove vulnerable HTTP methods

A few HTTP methods have been identified as vulnerable and can therefore be disabled in ServiceDesk Plus.

Solution: Follow the steps below to disable vulnerable HTTP methods.

Step 1: Execute the below update query in the database query console. update GlobalConfig SET PARAMVALUE = 'OPTIONS,TRACE' where PARAMETER = 'DISABLED_HTTP_METHODS';

Step 2: Restart the application server.

How to prevent the Logjam security issue (CVE-2015-4000)

Vulnerability description: Diffi-Helmen insufficient group strength 1024 bits or 83875 - SSL/TLS Diffie-Hellman Modulus <= 1024 Bits

Configure Java to use a Diffie-Hellman 2048-bit group. Set jdk.tls.ephemeralDHKeySize to “2048” in the JVM parameters (e.g., -Djdk.tls.ephemeralDHKeySize=2048).

Follow the steps below to configure the JVM parameter.

Step 1: Open the wrapper.conf file, which is available under \conf directory.

Step 2: Add the line marked in the screenshot below in the wrapper.conf file.

How to prevent a BREACH attack (CVE-2013-3587)

To prevent a BREACH attack, enable the Disable HTTP compression security configuration under Admin > General > Security Settings.

How to reset default passwords

It is recommended to reset the default password in these areas:

Solution: Reset the bundled user accounts using the Change Password option. Reset the backup password at Admin > General > Backup Scheduling.

How to reset the common user password

In ServiceDesk Plus, all newly imported users will have a common password that they can use to access each other's accounts.

Solution: Select the Enable Force password reset at first login security configuration to reset the password for all new users. This feature is available under  Admin > General > Security Settings > Password Policy.

How to enable password protection for file attachments

When multiple help desk instances are configured in ServiceDesk Plus, file attachments from all instances are stored in the ServiceDesk Plus server. This gives users from all instances access to these files. To prevent this, enable password protection for file attachments.

Solution: Select the Enable password protection for all file attachments configuration under Admin > General > Security Settings.

How to enable a password for all exported report files

Sending reports to unauthorized users leads to security issues; enabling password protection for report attachments helps prevent this.

Solution: Select the Enable File Protection Password configuration under Admin > General > Privacy Settings.

How to strengthen the user password policy

A password policy is a set of rules designed to enhance ServiceDesk Plus' security by encouraging users to employ strong passwords and use them correctly.

Solution: Enable the password policy feature under Admin > General > Security Settings > Password Policy.

Handling sensitive cookies

ServiceDesk Plus comes with Secure and HttpOnly cookie attributes for all cookies containing sensitive information.

Insecure HTTP methods

The PUT & DELETE methods are used by the application and are enabled securely. Proper validations are done to all these methods. Hence, there are no security issues on these methods.

HEAD - is similar to GET, it requires only the metadata of the response as opposed to GET that will fetch the full response. Hence this doesn’t pose any security concern.

Session hijacking vulnerability

A hacker can launch attacks over active sessions and hijack them. It is therefore mandatory to set expiration timeouts for every session. Insufficient session expiration by ServiceDesk Plus increases exposure to other session-based attacks. To avoid this, configure Session Timeout under Admin > General > Security Settings.

ServiceDesk Plus is free from the below security issues:

The bundled Tomcat server (9.0.54) is free from the following security issues:

The bundled Postgres server (10.17) is free from the following vulnerabilities:

Possible RCE vulnerability

The following features in ServiceDesk Plus allow users to run OS commands to satisfy user demand and are therefore not considered security issues.

Suggestions to secure these features further:

Possible XSS vulnerabilities in web page customization

The following features in ServiceDesk Plus enable users to execute HTML content, which could allow vulnerable HTML contents to creep into the customization page.

Solutions to overcome this vulnerability:

If you have any questions, please feel free to write to us at servicedeskplus.