Top 15 Plesk Server Security Best Practices

For many website owners and administrators, Plesk stands as one of the most widely adopted hosting platforms, often serving as an alternative to cPanel. Given its widespread use, Plesk environments are frequently targeted by malicious actors seeking to gain elevated access to web applications and critical server resources. While Plesk offers various security extensions designed to enhance website protection, merely installing these tools without adhering to robust security best practices can still expose your sites and the core Plesk master account to significant risks from malware and exploits. This comprehensive guide will delve into the fundamentals of Plesk and outline essential security best practices to safeguard your digital assets.

What is Plesk?

What is Plesk

To empower website owners with effective site management, hosting administrators deploy various platforms and management tools, enabling customers to tailor their web presence to specific business requirements. Plesk stands out as a highly popular choice, alongside cPanel, particularly favored in hosting environments that support diverse operating systems and platforms. It is ideally suited for hosting providers offering Virtual Private Server (VPS) and dedicated server options, providing a robust and flexible management solution.

Plesk's appeal to both hosters and their clientele stems from its seamless integration with leading Content Management Systems (CMS) such as WordPress, Joomla, and Drupal. This integration significantly simplifies the management process for customers utilizing these prevalent CMS applications, while also streamlining oversight for hosting providers. Furthermore, Plesk boasts extensive support for various database engines, including MySQL, PostgreSQL, and Microsoft SQL Server, as well as popular web hosting applications like Apache Tomcat Java and ColdFusion.

The platform's core functionality can be extended through a wide array of extensions, adding valuable features to customer sites. Notable examples include Docker support, an SEO Toolkit, Git integration, Developer Pack, Servershield by CloudFlare, and KernelCare. While some of these extensions offer inherent security benefits, it is crucial to understand that they typically do not constitute a complete security solution capable of safeguarding against all potential attack vectors. A comprehensive security strategy requires more than just extensions.

Why Plesk Security Hardening is Important

Why Plesk Security Hardening is Important

Considering that a single hosting provider might manage hundreds of websites on a single server, a compromise within Plesk can have a cascading effect, potentially impacting numerous customers simultaneously. Unaddressed zero-day vulnerabilities in Plesk could lead to thousands of sites across multiple servers being exploited. Therefore, it is imperative for administrators to remain diligently informed about the latest Plesk security advisories and promptly apply updates.

A stark illustration of the consequences of a Plesk zero-day vulnerability occurred in 2012. A critical flaw in the hosting platform enabled attackers to extract the master password that hoster administrators used to manage all websites on the server. Armed with this password, attackers could seize control of any site residing on the compromised Plesk server. This specific vulnerability affected older Plesk versions (highlighting the crucial need for consistent updates) and impacted an estimated 50,000 websites before it was ultimately discovered and patched.

While site hijacking represents one of the most severe forms of damage, it is by no means the only threat. Attackers can also upload malware or inject malicious code into files, leading to various detrimental outcomes. Undetected malware, for instance, can clandestinely consume server resources, degrading performance and negatively affecting the customer experience. This can result in increased customer complaints and, over time, significant damage to the hosting company’s reputation. Furthermore, malware operating on the server can surreptitiously eavesdrop on data transmissions, potentially leading to the theft of sensitive information.

The cumulative effects of server damage, reputational harm, stolen customer data, and compromised websites inevitably impact a hosting provider's revenue. Rather than allocating resources to costly incident response and recovery efforts after a major compromise, investing in robust Plesk security hardening measures proactively ensures enhanced data protection and safeguards customer websites, ultimately protecting the bottom line.

Security Best Practices for Plesk

Security Best Practices for Plesk

Regardless of whether you are a host server administrator managing multiple client sites or an individual site owner, implementing these security best practices across all your hosted environments is absolutely crucial. Even a single compromised website can negatively impact overall server performance and potentially expose other sites. Therefore, prioritizing Plesk security should always be at the forefront of your operational strategy.

1. Update Consistently

Update Consistently

Plesk developers regularly release updates in response to newly discovered security vulnerabilities, bug reports, and performance enhancements. While all updates are significant, security patches are paramount for shielding your websites from known exploits. These critical updates address vulnerabilities that have been identified and potentially exploited in real-world scenarios. Failing to keep your Plesk application patched leaves your website, and any other sites managed by Plesk on the same server, susceptible to various attacks.

Operating with outdated software is a common cause of major data breaches, exemplified by prominent incidents such as the Equifax compromise. To ensure your Plesk installation is always running the latest and most secure version, you can configure automatic updates. However, it's worth noting that Plesk may briefly go offline during the update process, which might not be ideal for large hosting providers requiring continuous uptime. If automatic updates are not feasible for your operation, administrators should enable notifications for Plesk updates, allowing them to initiate manual updates promptly as soon as new versions become available.

2. Use Password Complexity Rules When Creating Passwords

Use Password Complexity Rules

A common user habit is to reuse the same, often simple, passwords across multiple online services. These passwords typically consist of a common word or phrase, sometimes with a few numbers appended. Such short and predictable passwords, especially when reused, are highly vulnerable to brute-force attacks. In such scenarios, attackers can discover a user's password from a less secure third-party site and then exploit these compromised credentials to gain unauthorized access to the user’s Plesk account.

Hosting providers can significantly enhance security by implementing stringent password policies. These policies ensure that users create cryptographically strong passwords that are resilient against brute-force attempts. While a greater number of characters generally improves password strength, mere length is insufficient. Users must also adhere to complexity rules, which mandate the inclusion of a mix of uppercase and lowercase letters, numbers, and special characters. For optimal security, passwords should also be highly randomized and avoid dictionary words or easily guessable patterns.

Plesk facilitates the configuration of password rules. However, the default recommendation of eight characters is increasingly insufficient. For instance, an eight-character password comprising one uppercase, five lowercase, one number, and one special character can be cracked in approximately two hours with modern computing power, rendering it cryptographically insecure. It is strongly advised that hosters enforce a minimum of 10 characters for the master password to adequately protect it from brute-force attacks. Furthermore, users should be actively encouraged to adopt passwords that are 10 to 12 characters or longer, combining a variety of character types for maximum protection.

3. Enforce Multi-Factor Authentication

Enforce Multi-Factor Authentication

Given the pervasive nature of phishing and brute-force password attacks, and the inability of Plesk administrators to mandate unique passwords across all user accounts on every service, Multi-Factor Authentication (MFA) becomes an indispensable security layer. Should either a user or a Plesk administrator inadvertently fall victim to a phishing attempt, MFA acts as a critical safeguard, preventing unauthorized threat actors from successfully authenticating into the targeted account.

It's important to note that traditional text message-based Two-Factor Authentication (2FA) has become increasingly insecure. Vulnerabilities within the SS7 protocol allow attackers to intercept and hijack messages. Additionally, "SIM swapping" attacks leverage social engineering tactics to trick telecom representatives into redirecting a target user's messages to the attacker's SIM card. Due to these significant security weaknesses, the majority of organizations now advocate for and implement authenticator applications that generate time-based, user-specific codes for the second factor of authentication.

Plesk seamlessly integrates with applications like the Google Authenticator, which can be easily downloaded to a user's smartphone. While enabling this feature requires the installation of a specific extension, the enhanced security it provides against phishing and credential stuffing attacks makes the effort entirely worthwhile. Authenticator apps generate dynamic, single-use codes that are used during the second phase of MFA, offering a significantly more secure alternative to relying on text messages.

4. Use SSL/TLS for Remote Administration and SSH

Use SSL/TLS for Remote Administration and SSH

Secure Shell (SSH) is a ubiquitous protocol for remote administration of Linux servers. However, if not configured securely, it presents a significant attack surface, potentially leading to various threats, including the complete compromise of the server, especially if the root account is left exposed. To mitigate these risks and harden SSH access on both the main physical server and individual user instances, several best practices should be implemented:

  • Utilize keyfile authentication as the primary method, rather than relying solely on passwords. This significantly reduces the risk of brute-force password attacks.
  • Change the default SSH port (22) to an alternative, non-standard port. While not a security measure in itself, this helps in reducing automated scanning attempts.
  • Disable direct root user authentication via SSH. Instead, use a regular user account and then elevate privileges using sudo if necessary.

Beyond SSH configuration, implementing SSL/TLS certificates is vital. These certificates encrypt all traffic exchanged between a user’s computer and the host server. This encryption effectively protects against eavesdropping and man-in-the-middle (MITM) attacks, preventing unauthorized parties from intercepting or stealing sensitive information during remote administration sessions or any other data transfers.

5. Use sFTP and not FTP for File Sharing

Use sFTP and not FTP for File Sharing

While File Transfer Protocol (FTP) remains a common offering from many hosting companies for user file management, its inherent cleartext data transfer mechanism poses a significant security risk. Any files uploaded or downloaded using standard FTP are entirely vulnerable to man-in-the-middle (MITM) attacks and potential data theft. The lack of encryption means that sensitive information within these files can be easily intercepted, read, or even manipulated by malicious actors. Transferring files via FTP is as insecure as transmitting financial details over an unencrypted HTTP connection.

In contrast, Secure FTP (sFTP) integrates robust encryption to protect file transfers. This functionality is analogous to how HTTPS adds a layer of security to the HTTP protocol, encrypting data in transit. sFTP provides an essential layer of security for file exchanges, effectively safeguarding them from eavesdropping and unauthorized access. Although sFTP operates on similar principles to traditional FTP, the crucial difference lies in its integrated encryption. Users wishing to benefit from this enhanced security must ensure they are using FTP client software that supports the sFTP protocol.

6. Automate CMS Updates

Automate CMS Updates

While popular Content Management Systems (CMS) like WordPress offer native options for enabling automatic updates, Plesk also provides robust capabilities to manage these updates centrally. Activating automatic updates ensures that your CMS software consistently receives the latest patches and upgrades, which are crucial for addressing recently discovered Common Vulnerabilities and Exposures (CVEs). When updating WordPress, it's equally important to remember that all installed plugins and themes must also be kept current, as outdated components can frequently introduce new vulnerabilities to your website.

Beyond the core CMS, a typical website often runs a variety of other applications, such as gallery software, e-commerce platforms, and email management tools. Each of these applications represents a potential entry point for attackers if not regularly updated. Plesk offers specific functionality designed to enable automatic updates for these diverse web applications. By automating these updates, you significantly reduce the risk of compromise stemming from outdated software components across your entire web presence.

7. Secure Plesk and the Website with SSL/TLS

Secure Plesk and the Website with SSL/TLS

Similar to the vulnerabilities associated with FTP, any unencrypted, cleartext connection to the Plesk management interface or to a website itself exposes all transferred data to potential man-in-the-middle (MITM) attacks. It is crucial for website owners to install and maintain an SSL/TLS certificate on their sites to protect their users' privacy and data integrity. Equally important, hosting providers must ensure that all connections to the Plesk control panel are secured with SSL/TLS certificates.

Implementing SSL/TLS on Plesk pages provides a vital layer of defense, preventing users from becoming victims of password theft through MITM attacks. Furthermore, any website pages involved in the transfer of sensitive data should be exclusively accessible via HTTPS. To enforce this, host administrators should configure permanent redirects (301 redirects) from HTTP to HTTPS for all connections, automatically securing user sessions even if they initially attempt to connect through an unencrypted channel.

8. Configure the Domain to Avoid Clickjacking

Configure the Domain to Avoid Clickjacking

Clickjacking represents a deceptive cyber threat designed to trick users into unknowingly executing commands or revealing sensitive information while interacting with what appears to be a legitimate website. This attack technique typically involves embedding a legitimate, vulnerable website within a transparent or hidden iframe, which is then overlaid on an attacker-controlled page. The attacker manipulates the visual elements so that when a targeted user clicks on seemingly innocuous buttons or enters data on the malicious site, their actions are actually directed to the legitimate, hidden site, often while the victim is already authenticated. This can lead to unauthorized actions such as initiating bank transfers or disclosing confidential data.

To effectively protect their sites from being exploited in clickjacking scenarios, website owners should implement the X-Frame-Options HTTP response header with its value set to DENY. This header instructs web browsers not to render the page within an iframe or similar framing mechanisms. Plesk allows you to easily configure this setting for Apache and Nginx domains, preventing third-party websites from embedding your domain in an iframe. The proper server header configuration for this defense mechanism should appear as follows:

X-Frame-Options: DENY

9. Configure Plesk with Trusted Hosts to Avoid Open URL Redirects

Configure Plesk with Trusted Hosts to Avoid Open URL Redirects

Relying on query string parameters for user redirects can inadvertently create a critical security vulnerability known as open URL redirection. This flaw allows attackers to manipulate redirect mechanisms. For instance, consider a legitimate URL structured as mysite.com?redirect=mysite.com/loggedin. If the application's programming logic automatically redirects users based on the value provided in the redirect parameter, an attacker can substitute this value with a malicious URL. They would then craft a link that appears to originate from your legitimate domain but, upon clicking, covertly redirects the user to a deceptive website designed to steal credentials or sensitive data. The victim, seeing the familiar legitimate domain in the initial URL, mistakenly believes they are navigating to a safe destination.

To effectively mitigate this open redirect vulnerability within Plesk, administrators should establish a whitelist of authorized domains and integrate them into the Plesk configuration. Within the panel.ini file, under the [security] section, there is a crucial configuration option named trustedRedirectHosts. Here, you can specify a list of trusted domains to which users are permitted to be redirected, typically after successful authentication or other designated actions.

An example demonstrating how to restrict redirects exclusively to mydomain.com within your panel.ini file would appear as follows:

[security]
trustedRedirectHosts = mydomain.com

10. Restrict Remote Access via the Plesk API

Restrict Remote Access via the Plesk API

The Plesk application includes a powerful Application Programming Interface (API) that enables administrators to programmatically interact with the software and allows users to configure settings remotely. To minimize your potential attack surface, especially when the API functionality is not actively utilized, administrators should consider disabling it entirely or restricting access. The Plesk API can be managed through the panel.ini configuration file. Within the [api] section of this file, you have the option to either disable the API completely or establish an IP whitelist specifying which addresses are authorized to access it.

To fully disable the Plesk API, apply the following configuration within the panel.ini file:

[api]
enabled = off

Alternatively, to implement an IP whitelist, allowing only specific users or servers with designated IP addresses to access the API, use a configuration similar to this:

[api]
allowedIPs = 10.58.108.100,192.168.0.0

This method significantly hardens the API by ensuring only trusted sources can interact with it, drastically reducing the risk of unauthorized remote access.

11. Restrict Administrative Access

Restrict Administrative Access

A critical security measure involves restricting administrative access to the Plesk control panel. If the master password for Plesk or the credentials of an account with administrative privileges are compromised, an attacker could potentially seize control of multiple websites, inject malicious code, or cause significant damage to server configurations and hosted data. To minimize the impact of such a breach, Plesk administrators can implement an IP address whitelist, specifying only authorized IP addresses that are permitted to access administrative functions. While a blacklist can block specific malicious IPs, a whitelist approach is inherently more secure and restrictive.

To configure an IP address whitelist for administrative access, follow these steps:

  • Navigate to Tools & Settings > Restrict Administrative Access (located under the "Security" section).
  • Click on Settings. Select the radio button labeled "Denied from the networks that are not listed," and then click OK. This ensures that only explicitly allowed IPs will have access.
  • Click Add Network and provide the specific IP address or range of addresses from which administrative access to Plesk should be granted. Examples include:
    • Individual IP addresses (e.g., 192.168.1.110)
    • Subnets of IP addresses (e.g., 123.0.0.1/16 or 123.123.*.*)
  • Click OK to save your changes.

Implementing this restriction significantly reduces the exposure of your administrative interface to unauthorized access attempts, even if credentials are stolen.

12. Mitigate the Symlinks Vulnerability

Mitigate the Symlinks Vulnerability

A common feature in web servers like Apache and Nginx, symlinks (symbolic links) allow subscribed users to access their respective subscription documents through an alias. However, if not properly secured, this functionality can inadvertently expose Plesk to a significant vulnerability. Specifically, a malicious third-party subscribed user could potentially exploit known aliased links to gain unauthorized access to the sensitive subscription documents of other users. These documents frequently contain highly confidential information, such as passwords, API keys, and critical CMS settings, making this a high-priority vulnerability that demands mitigation.

The specific settings and methods for symlink mitigation can vary depending on the underlying host operating system and the Content Management Systems (CMS) in use. Plesk provides detailed guidance on how to address and mitigate the symlink vulnerability effectively within their comprehensive documentation, ensuring administrators can apply the most appropriate security measures for their specific environment.

13. Configure Plesk to Use Enhanced Security Mode

Configure Plesk to Use Enhanced Security Mode

For Plesk versions 11 and newer, Enhanced Security Mode is typically activated by default, providing a foundational layer of protection. However, when upgrading from earlier versions or performing manual installations, this crucial security mode might need to be configured manually. You can locate this setting within the "Security Policy" section of your Plesk control panel. It is essential to verify and ensure that the "Enhanced security mode" checkbox is explicitly set to "On" to leverage its full benefits.

The enhancements provided by this security configuration are designed to robustly protect sensitive data, particularly in the event of a system compromise. Key protections include:

  • Encryption of Plesk Passwords: All Plesk passwords stored in the database are encrypted, significantly increasing their security against direct access.
  • API Data Restriction: It prevents sensitive data, such as passwords, from being retrieved via the Plesk API, closing a common loophole for data exfiltration.
  • Secure Password Recovery: Password recovery emails are no longer sent with the password in cleartext, enhancing the security of the recovery process.

Activating and maintaining Enhanced Security Mode adds a vital layer of defense, particularly against internal data breaches and attempts to extract credentials.

14. Follow PCI-DSS Compliance Regulations

Follow PCI-DSS Compliance Regulations

Adherence to compliance regulations is a non-negotiable aspect of modern business, mandating that companies implement specific guidelines to protect user data and avoid severe penalties for non-compliance. The Payment Card Industry Data Security Standard (PCI-DSS) is particularly relevant for any entity that processes, stores, or transmits credit card information, including hosting providers who facilitate customer payments on their platforms. Beyond PCI-DSS, site owners must also be acutely aware of any other industry-specific or regional compliance regulations pertinent to their business operations.

Plesk offers a suite of configuration options specifically designed to enhance data security and assist in meeting PCI-DSS requirements. These configurations encompass a broad range of security controls, including:

  • SSL/TLS Cipher Limitations: Restricting the use of SSL/TLS ciphers to only those considered cryptographically strong and secure, thereby preventing the use of weak encryption algorithms.
  • MySQL Database Connection Control: Implementing measures to block external connections to the MySQL database server, reducing the attack surface.
  • File and Permission Protection: Ensuring proper file permissions are set and maintained to prevent unauthorized access or modification of critical system and website files.
  • Secure FTP Access: Implementing security enhancements for FTP access, ideally encouraging the use of sFTP or FTPS to encrypt data in transit.

By diligently configuring these options, hosters can significantly bolster their security posture and move closer to achieving and maintaining essential compliance standards.

15. Use the Imunify360 Plesk Extension

Use the Imunify360 Plesk Extension

While diligently adhering to the aforementioned security best practices significantly diminishes risk and fortifies Plesk servers and their hosted websites against numerous exploits, these practices alone do not provide continuous threat monitoring or immediate alerts when a security incident is detected. Recognizing that no security solution offers 100% invulnerability, integrating the Imunify360 Plesk extension can work synergistically with these best practices to further harden your security posture. Imunify360 offers a powerful, multi-layered defense, including a robust Linux malware scanner and a comprehensive Linux server antivirus solution.

By deploying Imunify360, you gain not only proactive methods to prevent malware infections and thwart exploits but also continuous monitoring capabilities. This allows both hosters and site owners to actively surveil their digital assets for any emergent threats that might attempt to bypass existing security controls. Incorporating such real-time monitoring enables the early detection of threats, preventing them from escalating into more damaging compromises that could affect potentially hundreds of sites on a single server.

Elevate your web hosting security to an unparalleled level with the comprehensive Imunify360 security suite. Imunify360 is an all-encompassing security platform where every component is meticulously designed to work in concert, ensuring your servers remain safe, secure, and fully operational, freeing you to concentrate on core business objectives. Imunify360 represents a potent synergy of advanced Antivirus protection, a robust Firewall, Web Application Firewall (WAF), a dedicated PHP Security Layer, proactive Patch Management, and Domain Reputation services, all managed through an intuitive user interface with sophisticated automation. We encourage you to try Imunify360 free for 14 days and experience tangible security improvements within just one week.

Make your servers secure now!

Was this answer helpful? 0 Users Found This Useful (0 Votes)