Security Checklist/Testing and Development
From Joomla! Documentation
< Security ChecklistRevision as of 15:39, 13 October 2012 by Tom Hutchison
Internet security is a vast and fast-moving topic. No one set of rules can cover all the possible situations.
The articles below will point you in the right direction. At a minimum they will do two things:
- Inform you of typical security issues
- Point you in the right direction for more information</translate>
Security Checklist Articles</translate>
- How do UNIX file permissions work?
- How do Windows file permissions work?
- How do phpSuExec file permissions work?
- Magic quotes and security
- Securing Joomla extensions</translate>
<translate> See also the Category for the Security Checklist.</translate>
Secure Testing and Development
Develop locally, deploy globally
- Develop and test your site on a local machine first. Installing Joomla locally is not as hard as it may sound, and the exercise will greatly boost your confidence.
Use an IDE
- Consider using an Integrated Development Environment (IDE). One free IDE that many Joomla! developers use is Eclipse. See Setting up your workstation for Eclipse development for instructions on installing Eclipse.
Use a versioning system
- Be able to roll back to an earlier version of your site using a modern version control system, such as CVS, Subversion, or git. The Eclipse IDE indicated above includes a Subversion plugin. This allows you to work with the Joomla! source repository as well as other projects hosted on JoomlaCode.
More suggested tools
- Check out the Joomla! community's list of popular Developer Software and Tools.
Setup a backup process first
The most important rule
- Thou shalt at all time be able to return your site to a previous working state through regular use of a strong, off-site backup and recovery process.
- Be sure your backup and recovery process is ready and tested BEFORE your site goes live.
- This is the single best way (and often the only way) to recover from such inevitable catastrophes as:
- A compromised/cracked site.
- Broken site due to a faulty upgrade.
- Hardware failure, such as dead hard drives, power failures, server theft, etc.
- Authoritarian government intervention. (More common than some think.)
- Needing to quickly relocate to a new server or hosting provider.