<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wordpress Security &#187; Sensitive Files</title>
	<atom:link href="http://wpsecure.org/category/sensitive-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpsecure.org</link>
	<description>How to Secure Your WordPress Blog</description>
	<lastBuildDate>Mon, 05 Oct 2009 05:47:50 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Protect /wp-admin</title>
		<link>http://wpsecure.org/how-to-protect-wp-admin/</link>
		<comments>http://wpsecure.org/how-to-protect-wp-admin/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:03:14 +0000</pubDate>
		<dc:creator>David Turnbull</dc:creator>
				<category><![CDATA[Sensitive Files]]></category>

		<guid isPermaLink="false">http://wpsecure.org/?p=106</guid>
		<description><![CDATA[/wp-admin is the WordPress administration area, and as such it&#8217;s a large target for attacks. Here&#8217;s how to protect it:
1. Delete the Default Administrator
When you install Wordpress the default administrator is given the predictable username of admin. This appears harmless but is a huge security flaw. Why?
Well, one way to gain unauthorized access to a system [...]]]></description>
			<content:encoded><![CDATA[<p>/wp-admin is the WordPress administration area, and as such it&#8217;s a large target for attacks. Here&#8217;s how to protect it:</p>
<h3>1. <a href="http://wpsecure.org/delete-the-default-administrator/">Delete the Default Administrator</a></h3>
<p style="font-size: 1.05em;">When you install Wordpress the default administrator is given the predictable username of admin. This appears harmless but is a huge security flaw. Why?</p>
<p style="font-size: 1.05em;">Well, one way to gain unauthorized access to a system is through brute force cracking. This works by using a program to automatically guess possibly millions of different username and passwords combinations over and over.</p>
<p style="font-size: 1.05em;">Using the admin username basically speeds up the process for brute forcers because it’s just one less thing they have to figure out. In reality you should think of your Wordpress username as a second password, and therefore follow similar rules to that of strong passwords:</p>
<ul>
<li>Don’t tell people your username.</li>
<li>Don’t choose an obvious username (like your real name).</li>
<li>Use a mixture of numbers and letters.</li>
</ul>
<p><a href="http://wpsecure.org/delete-the-default-administrator/">How to delete the default administrator</a>.</p>
<h3>2. <a href="http://wpsecure.org/cookie-encryption/">Encrypt Your Cookies</a></h3>
<p>Open up your wp-config.php file, and scroll down to this code:</p>
<blockquote><p>define(’AUTH_KEY’, ‘put your unique phrase here’);<br />
define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);<br />
define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);<br />
define(’NONCE_KEY’, ‘put your unique phrase here’);</p></blockquote>
<p>Now, go over to <a href="http://api.wordpress.org/secret-key/1.1/">http://api.wordpress.org/secret-key/1.1/</a> and copy the randomly generated output. Replace the original 4 lines of code with this newly copied set.</p>
<h3>3. <a href="http://wpsecure.org/secure-your-wp-admin-folder/">Secure the Folder with .htaccess</a></h3>
<p>Login to your server via FTP (or SFTP if you want to be extra awesome) and navigate to /wp-admin folder. If you haven’t done so already, create a .htaccess file and place this code in there:</p>
<blockquote><p>order deny, allow<br />
allow from xxx.xxx.xx<br />
deny from all</p></blockquote>
<p>But wait! You’re not done yet…</p>
<p>Head over to <a href="http://whatismyip.com">whatismyip.com</a> and find out what your IP address is. Replace xxx.xxx.xx with your IP address and save the file.</p>
<p>The problem with this method is not all bloggers work from the same computer or IP address all the time. For those folk you’ll want to read the section about the <a href="http://wpsecure.org/askapache-password-protect/">AskApache Password Protect plugin</a>.</p>
<h3>4. <a href="http://wpsecure.org/hide-login-errors/">Hide Login Errors</a></h3>
<p>By default if you type your username or password incorrectly when trying to login, Wordpress lets you know what mistake you’ve made. This can provide a hacker with confirmation that they know one half of the login equation.</p>
<p>Edit the functions.php file in your /wp-content/themes folder and add this code to prevent these errors from showing up:</p>
<blockquote><p>&lt;?php add_filter(’login_errors’,create_function(’$a’, “return null;”)); ?&gt;</p></blockquote>
<h3>5. Install <a href="http://wpsecure.org/login-lockdown/">Login Lockdown</a></h3>
<p><a href="http://wpsecure.org/login-lockdown/"></a>Login Lockdown is an ingenious plugin that helps ward off brute force attacks. It works by temporarily blocking users by their IP address if they fail to login X amount of times.</p>
<p>Out of the box the default settings are pretty good but I still recommend you set the Lockout Length to as high as you feel comfortable with. The longer malicious users are blocked from the login page, the better.</p>
<h3>6. Install <a href="http://wpsecure.org/stealth-login/">Stealth Login</a></h3>
<p><a href="http://wpsecure.org/stealth-login/"></a><a href="http://wordpress.org/extend/plugins/stealth-login/">Stealth Login</a> makes it easy to change the login address for the WordPress administration area, and prevent users form logging in via wp-login.php (just activate <em>Stealth Mode</em>). Even if someone cracks your <a href="http://wpsecure.org/delete-the-default-administrator/">username</a> and <a href="http://wpsecure.org/strong-passwords/">password</a> they&#8217;ll become stuck because there won&#8217;t be anywhere to login.</p>
<p>While it may not stop seasoned hackers from getting into your system, it takes just a few seconds to setup and is a worthy precaution to take.</p>
<h3  class="related_post_title">You might also want to read...</h3><ul class="related_post"><li><a href="http://wpsecure.org/hide-the-version-number/" title="Hide the Version Number">Hide the Version Number</a></li><li><a href="http://wpsecure.org/secure-your-wp-admin-folder/" title="Secure Your wp-admin Folder">Secure Your wp-admin Folder</a></li><li><a href="http://wpsecure.org/how-to-use-this-guide/" title="How to Use this Guide">How to Use this Guide</a></li><li><a href="http://wpsecure.org/hide-login-errors/" title="Hide Login Errors">Hide Login Errors</a></li><li><a href="http://wpsecure.org/one-click-plugin-updater/" title="One Click Plugin Updater">One Click Plugin Updater</a></li><li><a href="http://wpsecure.org/disable-comments-on-older-posts/" title="Disable Comments on Older Posts">Disable Comments on Older Posts</a></li><li><a href="http://wpsecure.org/wp-db-backup/" title="WP DB Backup">WP DB Backup</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wpsecure.org/how-to-protect-wp-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Protect wp-config.php</title>
		<link>http://wpsecure.org/how-to-protect-wp-config-php/</link>
		<comments>http://wpsecure.org/how-to-protect-wp-config-php/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 22:58:37 +0000</pubDate>
		<dc:creator>David Turnbull</dc:creator>
				<category><![CDATA[Sensitive Files]]></category>

		<guid isPermaLink="false">http://wpsecure.org/?p=103</guid>
		<description><![CDATA[wp-config.php is the most sensitive file within a WordPress installation, containing all of your database login details.
1. Move wp-config.php
By default wp-config.php, which contains all your most sensitive data, is stored in the top level directory of your blog. What few people know however is that you can actually move this file to the directory above its [...]]]></description>
			<content:encoded><![CDATA[<p>wp-config.php is the most sensitive file within a WordPress installation, containing all of your database login details.</p>
<h3>1. <a href="http://wpsecure.org/move-wp-config-php/">Move wp-config.php</a></h3>
<p>By default wp-config.php, which contains all your most sensitive data, is stored in the top level directory of your blog. What few people know however is that you can actually move this file to the directory above its default location.</p>
<p>If WordPress is installed in the /public_html directory this allows you to move the file completely out of public access.</p>
<h3>2. <a href="http://wpsecure.org/deny-access-to-wp-config-php/">Deny public access to wp-config.php</a></h3>
<p>Add the following code to the .htaccess file thats in the same directory as your wp-config.php file.</p>
<blockquote><p># protect wp-config.php<br />
&lt;files wp-config.php&gt;<br />
Order deny,allow<br />
deny from all<br />
&lt;/files&gt;</p></blockquote>
<h3>3. <a href="http://wpsecure.org/perishable-3g-blacklist/">Use the Perishable 3G Blacklist</a></h3>
<p><a href="http://wpsecure.org/perishable-3g-blacklist/"></a>The 3G Blacklist is a block of code put together by Jeff Starr that you drop into your .htaccess file to fight the majority of common security exploits. While not strictly a Wordpress-related .htaccess hack it’s a must have for anyone running on an Apache-based server (which would be most people reading this guide).</p>
<p>To find out how to make use of this brilliant resource visit <a href="http://perishablepress.com/press/2008/05/13/perishable-press-3g-blacklist/">the official site</a>.</p>
<h3  class="related_post_title">You might also want to read...</h3><ul class="related_post"><li><a href="http://wpsecure.org/use-an-account-with-limited-access/" title="Use an Account with Limited Access">Use an Account with Limited Access</a></li><li><a href="http://wpsecure.org/updating-wordpress/" title="Updating WordPress">Updating WordPress</a></li><li><a href="http://wpsecure.org/one-click-plugin-updater/" title="One Click Plugin Updater">One Click Plugin Updater</a></li><li><a href="http://wpsecure.org/askapache-password-protect/" title="AskApache Password Protect">AskApache Password Protect</a></li><li><a href="http://wpsecure.org/how-to-protect-wp-admin/" title="How to Protect /wp-admin">How to Protect /wp-admin</a></li><li><a href="http://wpsecure.org/secure-your-wp-admin-folder/" title="Secure Your wp-admin Folder">Secure Your wp-admin Folder</a></li><li><a href="http://wpsecure.org/hide-the-version-number/" title="Hide the Version Number">Hide the Version Number</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://wpsecure.org/how-to-protect-wp-config-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->