The Ultimate Joomla Security Practices and Malware Removal Guide
With each passing year, online security is becoming a riskier domain. While the number of online businesses and users are increasing rapidly, so are the risks associated with these operations. Hackers are getting smarter in circumventing security measures and are resorting to newer ways of probing for vulnerabilities.
Content management systems remain one of the most exploited systems by hackers globally. Out of the various CMSs used by businesses worldwide, WordPress, Joomla, and Drupal occupy the largest market share. Businesses running on these CMSs are often eye candy to online fraudsters who exploit security holes to steal data, credit card information or alter the website.
Joomla is one of the largest and the most popular open source content management system which is widely used by online businesses. Joomla has a large user base, and the popularity has brought the CMS in the radar of attackers and malicious programmers. As a result, Joomla encounters a wide range of security-related issues.
Astra has put together an exhaustive guide on how you can identify and track potential vulnerabilities and follow some basic guidelines to completely secure your Joomla site to run a hassle-free online business:
Basic Security Steps
Here is a list of some basic security steps to follow to secure your Joomla site:
- Stay up-to-date: Failure to patch an outdated extension or outdated core is the amajor reason why Joomla sites get hacked. Always check your control panel for available updates and make sure that you are running the latest Joomla version.
- Check extensions for vulnerabilities: You can check your Joomla site for vulnerable extensions by visiting the extension manager in your Joomla backend and enlisting all non-Joomla components, modules, templates, and plug-ins you have installed. Enter each extension into the Joomla vulnerability database to check for that version’s vulnerability. Apply any patches needed to fix a vulnerable extension or template.
- Security Notifications: It is important to sign up for security notifications. Joomla’s two e-mail notification services notify members when a new vulnerability is discovered or when a vulnerable extension has been identified.
- Strengthen admin password: Easy passwords are easily hacked by hackers by using brute force attacks. Thus, all administrator accounts must contain strong passwords which are complex to hack.
- Use good hosts: Using a budget host puts your Joomla site to risk as hosting requires technical skills and investment in that skill. Do not give in to free hosting as these you may run the risk of not having your server configured for Security, making it easier for hackers to compromise your Joomla site.
- Check PHP version: Joomla is powered by PHP which is also vulnerable to security shortfalls at times. Thus it is recommended to run a secure version of PHP. You can check your version, go to the “System” menu item and at the bottom open “System Information” which will tell you your PHP version.
- Remove old installations and files: Check and remove any not-so-important PHP files which pose a security risk, backups that expose information like database dumps, older versions or backups of your site in subdirectories. A publicly available older version even if not linked to your site exists as a security threat.
Recommended Security Steps
Implementing the following security practices will protect your Joomla site from the majority of attacks:
- Regularly update Joomla Version, Extension & Plugins: A secure Joomla site is one which is updated regularly. Every version update is released with security enhancements and bug fixes. An outdated version of Joomla or any other outdated extensions/plugins can sneak in hackers.
- Use Strong Passwords: Weak credentials can be ultimately leaked through Brute Force and act as common security holes, thus leading to compromised security. Easily guessed passwords and default admin accounts make it easier for perpetrators to gain illegal access to your Joomla website, thus exposing it a host of malicious activities. A long length password with multiple characters makes it for a secure passcode than a shorter one.
- Periodic backups: Regularly backing up the archives of your files and databases saves your back in case anything goes wrong. Some extensions like the Easy Joomla Backup provide automatic scheduled backups which can later be restored in case of data loss resulting from a hack.
- Restrict access to Admin Page: Perpetrators often resort to brute force attacks on easily guessed admin login pages. Thus it is imperative to restrict access to your administrator area. It is advised to not use a default admin login page URL, rather replace it with a specific name. Moreover, the admin panel must be password protected. Extensions like Admin tools, RSFirewall etc allow a Joomla site owner to change their login page URL
- Security Extensions: Using security extensions go a long way in securing your Joomla site. These extensions, when configured with your site properly, allow you to block any kind of malicious activity and cover up security holes. extensions allow you to block hacker attacks and close security holes of your Joomla site.
- Using Two-factor Authentication: A two-factor authentication code (commonly known as the One time password: OPT) makes your Joomla site even more secure. Even if your password is guessed or leaked, one still has to go through an authentication code to gain illegal access of your account.
- Be wary of corrupted downloads: Never download premium extensions, plugins or any items for free from unauthenticated or unofficial sources. Plugins from an unknown source may be corrupted or contain malware, which may harm your site. Do not consider saving money here, rather spend on authentic sources.
- SSL Certification: Whenever a user logs into a site, his/her credentials are sent to a server sans encryption. By using an SSL certificate, these credentials will be encrypted before sending to the server. In this way, an SSL certification provides an additional layer of protection to your Joomla website.
- Disable FTP Layer: FTP layer is generally not needed in Joomla and it is disabled by default. It is necessary to keep it so, as an enabled FTP layer is a major security hole in Joomla sites.
- Proper File and Directory Permissions: Always manage permissions to files and directories, and never give full access of permission 777. Never give full access or permission 777, but rather use 755 for folders, 644 for files and 444 for configuration.php files
WaterTight/Ultimate Security Tips
- Joomla Security Extensions: There are a wide variety of excellent Joomla extensions which not only secure your site but also provide an array of functionalities like periodically scan for vulnerabilities, limit or block security threats, block malicious networks, enforce stronger passwords, look for file change patterns, block common security threats through a firewall, to name a few. Some popular Joomla extensions are:
- ACL Manager: Helps to discover & fix issues with your Joomla assets (permissions) table / ACL.
- AdminExile: Allows you to conduct Brute force detection, blacklist and whitelist IPs.
- QuickLogout: Allows you to get rid of logout confirmation prompt to ensure people log out.
- Securitycheck Pro: A global protection suite which is designed to protect your Joomla website without affecting server speed.
- jomDefender: CSRF prevention, remove Joomla PHP header, Admin password prompt
You can also scan your Joomla site with Astra’s Website Malware and Security Scanner.
- Block Bad Bots: Bad bots, scrapers, and crawlers are constantly lurking on websites and drastically reduce your bandwidth. Abovementioned security extensions can work to block these bots, but at times it is needed to do so at the server level.
- Secure Connections: Always ensure your connections when connecting to your Joomla site are secure. Use an SFTP encryption ( if provided by your web host ) or SSH. If you are using an FTP client the default port for SFTP is usually 22.
- Search Engine Friendly URLs: It is always recommended to enable search engine friendly URL and conceal the file names like
index.phpfrom appearing in your URL structure. This enables you to conceal essential information and prevent hackers from unearthing any vulnerabilities.
- HTTP Security Headers: To protect your Joomla site against online attacks and vulnerabilities, add HTTP security headers. These provide an additional layer of security and can be configured on your web server. Typically, these headers instruct your browser on how to handle your site’s content. Below are six common HTTP security headers we recommend implementing and or updating:
- Content-Security Policy
Malware Removal Steps
Certain common indicators like Blacklist warnings by Google and other search engines, abnormal browser behavior, modified files, and the presence of malicious new users in the Joomla dashboard exhibit a hacked Joomla website. Mentioned below is a guide to identify and clean your hacked Joomla site:
Scan your Joomla site to identify malware locations and malicious payloads. Astra’s integrated Joomla security ensures timely monitoring and identification of a hacked Joomla site. Thereafter, check for any modified files including your core files. You can do so by manually check your files via SFTP.
Audit for malicious user accounts and administrators. In case your Joomla site shows as blacklisted by Google or other website security authorities, you can check the security status of your Joomla! website by using their diagnostic tools. To check for Google transparency, visit the Safe Browsing Site Status website where you can view
- Site safety details which give information about malicious redirects, spam, and downloads.
- Testing Details which inform about the most recent Google scan which discovered the malware.
On gaining information about potential malware location, compromised users and threat assessment, opt for a full website clean. Compare infected files with previous backups to assess the extent of modifications and remove malicious changes. Clean hacked Joomla database by using a database admin panel, such as PHPMyAdmin or tools like Search-Replace-DB or Adminer.
Next step would be to secure all user accounts. Often hackers leave multiple backdoors so as to again gain access even after a website has been cleaned. Backdoors are embedded in legitimate-looking files usually but located in the wrong directories. Therefore, it is imperative to thoroughly cleanse your files from backdoors else there is a threat of re-infection.
What to do Post hack?
- The first step to follow post cleaning the hack is a Joomla update. One of the primary reasons why sites get infected is using outdated versions of sites which are easily vulnerable to malpractices. Updates essentially remove vulnerable extensions and fill in security holes thus providing you with a secure environment.
- Currently, Joomla version 3.x is the most stable major version as they are still actively developed. Those using 1.x and 2.x branches should immediately switch to 3.x and keep the core files updated.
- It is advised to update all Joomla core files, components, templates, modules, and plugins. Also, reset all passwords to avoid getting reinfected if hackers gained access to your credentials. Ensure that you’ve set up two-factor authentication on user accounts. Also, practice the least privilege and give limited access to people who need to do a particular job.
- Post-hack, it is also advised to reinstall all extensions to ensure they are functional and malware residual free. In case you have deactivated themes, components, modules, or plugins, it should be removed them from your web server.
- After cleaning your hacked Joomla site, make a backup. Having a good backup strategy is at the core of the best security practices. Store your backups in an off-site location, as storing them on a server can also lead to a hack.
- Lastly, it is advised to scan your system with a good antivirus. There is a possibility of system compromise if a user with an infected computer has access to your website. Protect your site using a website firewall which basically shields your site from any malicious users or malware threats from the web. Astra’s Web Application Firewall mitigates against any online threats and keeps malware at bay.
Wish to know more about how to protect your Joomla site from online threats? Visit Astra’s Joomla protection plan to know about securing your site while you do business.