Difference between revisions of "Security Checklist/Getting Started"

From Joomla! Documentation

< Security Checklist
(fix links to new rss feed)
m (Protected "Security Checklist/Getting Started": temporary until JSST group is created ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
(111 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{RightTOC}}
+
{{:Security Checklist/TOC}}
== Before You Begin ==
+
=== Security matters ===
  
* Are you aware of this important link: [http://feeds.joomla.org/JoomlaSecurityNews Joomla Security News] ? Have you subscribed?
+
:Internet security is a fast moving challenge and ever present threat. There is no one right way to secure a website, and all security methods are subject to instant obsolescence, incremental improvement, and constant revision. All public facing websites are open to constant attack. Are you willing and able to invest the time it takes to administer a dynamic, 24x7, world-accessible, database-driven, interactive, user-authenticated website? Do you have the time and resources to respond to the constant flow of new Internet security issues? The [[Top 10 Stupidest Administrator Tricks]] is a comic/tragic look at what can go wrong. Don't learn these tricks the hard way! Depending on your own experience, reading the ''Stupidest Tricks'' will either make you laugh or cry. Luckily, there are some well-established principles upon which to base your defensive plans. The following checklists point you toward current best practices for Joomla security.
:The number one cause of compromised Joomla installs is users failing to keep up to date with security patches. Are '''YOU''' running the latest secure version?
 
  
* The number two reason is insecure hosting setups. ''Is your hosting secure?''
+
=== How to read these documents ===
 +
#Not all techniques are appropriate for every level of experience. Apply the techniques you understand and read up on the ones you don't.
 +
#Not all techniques are appropriate for every server. If you use a shared server, you must depend on the settings established by your hosting provider. If you are using a virtual or dedicated server, you can apply more creative security tactics.
 +
#Not all security tactics are appropriate for all versions of Joomla. Where a technique applies to only one version it is noted by one of the following icons: {{JVer/multi|1.0,1.5,1.6,1.7,2.5,3.0,3.1}}
  
Once you have passed the two tests above, you are ready to begin.
+
=== The most important guidelines===
 +
:These checklists are long and growing because the full plot is thick, complex, and expanding, but don't despair! Here are a few essential guidelines for securing any website. Following them will protect you from most catastrophes.
  
== Read Me First! (OK, Second!) ==
+
# '''Back up early and often:''' Set up (and use and test) a regular backup and recovery process. When done well, this ensures that you can recover from almost any imaginable disaster.
 +
# '''Update early and often:''' Promptly update to the latest ''stable'' version of Joomla! and any installed third-party extensions. This ensures that your site is protected from the newest vulnerabilities as soon as a fix is released and from the latest attack methods as soon as a defense is developed.
 +
# '''Use a secure host''': Use a high-quality Web host. Do not be fooled by offers of 'unlimited bandwidth, unlimited hard drive space, unlimited databases, etc.
 +
# '''Use the community''': Don't forget the truism, "If a deal is too good to be true, it is." It seems that nothing on Earth is unlimited--except perhaps the gullibility of fools and the greed of those who prey upon them. Consider hiring professional assistance if you have inadequate experience or knowledge in this area. One of the advantages of GNU software is that user support is free. Take good advantage of this by asking good questions within the [http://forum.joomla.org Joomla! Forums]. When doing so, be sure to use the the most appropriate board, such as Installation, Migration and Updating, Administration.
  
: Not all techniques are appropriate for all Joomla! versions. Where a technique applies to only one version, an image is added. For example:
 
  
:'''Joomla! 1.0.x Example'''
+
::The most helpful posts in the Joomla! Security Forum are converted into [[Security and Performance FAQs]]. Many of the items on this list are explained in much greater detail in the FAQs.  
  
: [[Image:Compat_10.png]] Set Joomla! Register Globals Emulation OFF.
 
  
:'''Joomla! 1.5.x Example'''
+
::You may want to read the excellent [[Beginners|Absolute Beginners Guide to Joomla!]] It has wealth of tips and tricks presented in an easy to understand format. Even experienced Joomlaists find great ideas here.  
  
: [[Image:Compat_15.png]] To take full advantage of new security features, ensure that all third party extensions are Joomla! 1.5 native.
 
  
: Download extensions from trusted sites, and compare the file's MD5 hash to detect download errors. This suggestions applies to both versions, so no compatibility image is used.
+
::Hunt down the many nuggets of wisdom found in the [http://forum.joomla.org Joomla! Forums], in particular the [http://forum.joomla.org/viewforum.php?f=714 Joomla! 3.x Security Forum] and the [http://forum.joomla.org/viewforum.php?f=621 Joomla! 2.x Security Forum].
  
  
===There's no free lunch!===
+
::To receive all Joomla security announcements, subscribe to Joomla Security News. There are several ways to subscribe:
  
: Don't be fooled by Joomla's award winning ease-of-use. Maintaining a secure, dynamic Web site on the open Internet is not easy. Adequate security requires skill, knowledge, constant watchfulness, good backups, and continual effort.
+
::# [http://feedburner.google.com/fb/a/mailverify?uri=JoomlaSecurityNews Automatic Email Notification]
 +
::# [http://feeds.joomla.org/JoomlaSecurityNews RSS feed].
  
===There's no one right way!===
+
=== The bad news ===
 +
#'''There is no perfect security on the Web!''' As economists would say, "There's no free lunch." Don't be fooled by Joomla's award winning ease-of-use. Maintaining a secure Web site on the open Internet is not easy. Maintaining adequate security requires a wide and ever-growing range of skills and knowledge, constant watchfulness, and a robust backup and recovery process.
 +
#'''There's no one right way!''' Due to the variety and complexity of modern web systems, security issues can't be resolved with simple, one-size-fits-all solutions. You (or someone you trust) must learn enough about your server infrastructure to make valid security decisions. Strong security is a moving target. Today's expert might be tomorrow's victim. Welcome to the game...
 +
#'''There's no substitute for experience!''' To secure your Web site, you must gain real experience (some of which will be bitter), or get experienced help from others. If you haven't invested the considerable time it takes to learn how to maintain a secure Web site, be sure you can consult with someone who has. Read this tongue-in-cheek description of the [[Top_10_Stupidest_Administrator_Tricks|Top 10 Stupidest Administrator Tricks]] which illustrates typical, blow-by-blow examples of how to learn Web security the hard way.
  
: Due to the variety and complexity of modern web systems, security issues can't be resolved with simple, one-size-fits-all solutions. You, or someone you trust, must learn enough about your server infrastructure to make valid security decisions.
+
=== The good news ===  
===There's no substitute for experience!===
 
 
 
: To secure your web site, you must gain real experience (some of which will be bitter), or get experienced help from others.
 
 
 
===Rise above the herd===
 
 
 
: The Security Forums are filled with "Help! I've been hacked" posts by people who did NOT follow standard security practices (this author included). If you decided to study documents such as this before your site is attacked, congratulation, you're already above the herd.
 
 
 
===It's not as hard as it looks===
 
 
 
: The following checklist may seem intimidating, but you don't have to deal with all of it at once. As you become familiar with tools of modern Open Source Web development, such as [http://www.gnu.org/ GNU/Linux], [http://www.apache.org Apache], [http://www.mysql.com MySQL], [http://en.wikipedia.org/wiki/SQL SQL], [http://www.php.net PHP], [http://en.wikipedia.org/wiki/HTTP HTTP], [http://en.wikipedia.org/wiki/CSS CSS], [http://en.wikipedia.org/wiki/XML XML], [http://en.wikipedia.org/wiki/RSS RSS], [http://en.wikipedia.org/wiki/TCP/IP TCP/IP], [http://en.wikipedia.org/wiki/FTP FTP], [http://subversion.tigris.org/ Subversion], [http://en.wikipedia.org/wiki/JavaScript JavaScript], [http://www.joomla.org Joomla!], you'll add refinements to your set of security tactics.
 
 
 
: All complex, dynamic, and open systems require powerful error checking and recovery methods. Web sites are no different. Strong security is a moving target. Today's expert might be tomorrow's victim. Welcome to the game...
 
 
 
== Getting Started ==
 
 
 
===Are you ready?===
 
 
 
# Can you administer a dynamic, 24x7, world-accessible, database-driven, interactive, user-authenticated web server?
 
# Do you have the time and resources to respond to the flow of emerging Internet security issues? The [[Top 10 Stupidest Administrator Tricks]] is a comic/tragic look at what can go wrong. Don't learn these tricks the hard way! Depending on your recent experience, reading the ''Stupidest Tricks'' will either make you laugh or cry.
 
 
 
===Stay informed of security issues===
 
 
 
: Given the complexity of web servers, new vulnerabilities and conflicts are discovered all the time. To receive all security announcements, just subscribe to Joomla Security News. There are two ways to subscribe: [http://feedburner.google.com/fb/a/mailverify?uri=JoomlaSecurityNews automatic email notification] or [http://feeds.joomla.org/JoomlaSecurityNews RSS feed].
 
 
 
===Check the FAQs.===
 
 
 
: The most helpful posts in the Joomla! Security Forum are converted into [[Security and Performance FAQs]]. Many of the items on this list are explained in much greater detail in the FAQs.
 
 
 
===Learn from the pros===
 
 
 
: Hunt down the many nuggets of wisdom found in the [http://forum.joomla.org Joomla! Forums].
 
 
 
* [http://forum.joomla.org/viewforum.php?f=432 Joomla! 1.5 Security Forum]
 
* [http://forum.joomla.org/viewforum.php?f=267 Joomla! 1.0 Security Forum]
 
 
 
: Hunt down the many nuggets of wisdom found in the [http://forum.joomla.org Joomla! Forums].
 
 
 
* [http://forum.joomla.org/viewforum.php?f=432 Joomla! 1.5 Security Forum]
 
* [http://forum.joomla.org/viewforum.php?f=267 Joomla! 1.0 Security Forum]
 
 
 
 
 
== Go To Hosting and Server Setup ==
 
: When you're ready, continue on to [[Security Checklist 2 - Hosting and Server Setup]].
 
  
 +
#'''Even a beginner can start at the head of the herd''' User forums for many systems are clogged with [http://www.google.com/search?q=Help!+I've+been+hacked Help! I've been hacked] posts by people who did NOT follow standard security practices. If you are studying this checklist before your site is attacked, congratulations, you're already ahead of the herd.
 +
#'''It's not as hard as it looks''' If this is one of your first websites, security issues may seem overwhelming, but you don't have to deal with all of them at once. Start with the most critical issues. As you become more familiar with [http://www.gnu.org GNU] tools and techniques, including [http://www.gnu.org/ GNU/Linux], [http://www.apache.org Apache], [http://www.mysql.com MySQL], [http://en.wikipedia.org/wiki/SQL SQL], [http://www.php.net PHP], [http://en.wikipedia.org/wiki/HTTP HTTP], [http://en.wikipedia.org/wiki/CSS CSS], [http://en.wikipedia.org/wiki/XML XML], [http://en.wikipedia.org/wiki/RSS RSS], [http://en.wikipedia.org/wiki/TCP/IP TCP/IP], [http://en.wikipedia.org/wiki/FTP FTP], [http://subversion.tigris.org/ Subversion], [http://en.wikipedia.org/wiki/JavaScript JavaScript], and [http://www.joomla.org Joomla!], you'll add refinements to your set of security tactics.
 +
#'''You can get help''' If you believe your website was attacked, '''do not''' simply post an announcement with full details in the Joomla! forums. If you are dealing with a new vulnerability or new form of attack, publishing that information could put other websites at risk. Instead, report possible security vulnerabilities to the [http://developer.joomla.org/security Joomla! Security Task Force].
  
 
<!-- KEEP THIS AT THE END OF THE PAGE -->
 
<!-- KEEP THIS AT THE END OF THE PAGE -->
 
[[Category:Security Checklist]]
 
[[Category:Security Checklist]]

Revision as of 14:58, 14 May 2015

Security matters[edit]

Internet security is a fast moving challenge and ever present threat. There is no one right way to secure a website, and all security methods are subject to instant obsolescence, incremental improvement, and constant revision. All public facing websites are open to constant attack. Are you willing and able to invest the time it takes to administer a dynamic, 24x7, world-accessible, database-driven, interactive, user-authenticated website? Do you have the time and resources to respond to the constant flow of new Internet security issues? The Top 10 Stupidest Administrator Tricks is a comic/tragic look at what can go wrong. Don't learn these tricks the hard way! Depending on your own experience, reading the Stupidest Tricks will either make you laugh or cry. Luckily, there are some well-established principles upon which to base your defensive plans. The following checklists point you toward current best practices for Joomla security.

How to read these documents[edit]

  1. Not all techniques are appropriate for every level of experience. Apply the techniques you understand and read up on the ones you don't.
  2. Not all techniques are appropriate for every server. If you use a shared server, you must depend on the settings established by your hosting provider. If you are using a virtual or dedicated server, you can apply more creative security tactics.
  3. Not all security tactics are appropriate for all versions of Joomla. Where a technique applies to only one version it is noted by one of the following icons:  Joomla 1.0 Joomla 1.5 Joomla 1.6 Joomla 1.7 Joomla 2.5 Joomla 3.0 Joomla 3.1

The most important guidelines[edit]

These checklists are long and growing because the full plot is thick, complex, and expanding, but don't despair! Here are a few essential guidelines for securing any website. Following them will protect you from most catastrophes.
  1. Back up early and often: Set up (and use and test) a regular backup and recovery process. When done well, this ensures that you can recover from almost any imaginable disaster.
  2. Update early and often: Promptly update to the latest stable version of Joomla! and any installed third-party extensions. This ensures that your site is protected from the newest vulnerabilities as soon as a fix is released and from the latest attack methods as soon as a defense is developed.
  3. Use a secure host: Use a high-quality Web host. Do not be fooled by offers of 'unlimited bandwidth, unlimited hard drive space, unlimited databases, etc.
  4. Use the community: Don't forget the truism, "If a deal is too good to be true, it is." It seems that nothing on Earth is unlimited--except perhaps the gullibility of fools and the greed of those who prey upon them. Consider hiring professional assistance if you have inadequate experience or knowledge in this area. One of the advantages of GNU software is that user support is free. Take good advantage of this by asking good questions within the Joomla! Forums. When doing so, be sure to use the the most appropriate board, such as Installation, Migration and Updating, Administration.


The most helpful posts in the Joomla! Security Forum are converted into Security and Performance FAQs. Many of the items on this list are explained in much greater detail in the FAQs.


You may want to read the excellent Absolute Beginners Guide to Joomla! It has wealth of tips and tricks presented in an easy to understand format. Even experienced Joomlaists find great ideas here.


Hunt down the many nuggets of wisdom found in the Joomla! Forums, in particular the Joomla! 3.x Security Forum and the Joomla! 2.x Security Forum.


To receive all Joomla security announcements, subscribe to Joomla Security News. There are several ways to subscribe:
  1. Automatic Email Notification
  2. RSS feed.

The bad news[edit]

  1. There is no perfect security on the Web! As economists would say, "There's no free lunch." Don't be fooled by Joomla's award winning ease-of-use. Maintaining a secure Web site on the open Internet is not easy. Maintaining adequate security requires a wide and ever-growing range of skills and knowledge, constant watchfulness, and a robust backup and recovery process.
  2. There's no one right way! Due to the variety and complexity of modern web systems, security issues can't be resolved with simple, one-size-fits-all solutions. You (or someone you trust) must learn enough about your server infrastructure to make valid security decisions. Strong security is a moving target. Today's expert might be tomorrow's victim. Welcome to the game...
  3. There's no substitute for experience! To secure your Web site, you must gain real experience (some of which will be bitter), or get experienced help from others. If you haven't invested the considerable time it takes to learn how to maintain a secure Web site, be sure you can consult with someone who has. Read this tongue-in-cheek description of the Top 10 Stupidest Administrator Tricks which illustrates typical, blow-by-blow examples of how to learn Web security the hard way.

The good news[edit]

  1. Even a beginner can start at the head of the herd User forums for many systems are clogged with Help! I've been hacked posts by people who did NOT follow standard security practices. If you are studying this checklist before your site is attacked, congratulations, you're already ahead of the herd.
  2. It's not as hard as it looks If this is one of your first websites, security issues may seem overwhelming, but you don't have to deal with all of them at once. Start with the most critical issues. As you become more familiar with GNU tools and techniques, including GNU/Linux, Apache, MySQL, SQL, PHP, HTTP, CSS, XML, RSS, TCP/IP, FTP, Subversion, JavaScript, and Joomla!, you'll add refinements to your set of security tactics.
  3. You can get help If you believe your website was attacked, do not simply post an announcement with full details in the Joomla! forums. If you are dealing with a new vulnerability or new form of attack, publishing that information could put other websites at risk. Instead, report possible security vulnerabilities to the Joomla! Security Task Force.