<?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>Fresh &#187; security</title>
	<atom:link href="http://welikeitfresh.com/tag/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://welikeitfresh.com</link>
	<description>Home-squeezed goodness with no added pulp. Ideas and inspiration from the eROI creative team.</description>
	<lastBuildDate>Thu, 09 Sep 2010 00:14:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Pre-launch Checklist for 2010</title>
		<link>http://welikeitfresh.com/2010/01/13/a-pre-launch-checklist-for-2010/</link>
		<comments>http://welikeitfresh.com/2010/01/13/a-pre-launch-checklist-for-2010/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 00:40:12 +0000</pubDate>
		<dc:creator>Jill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[redesign]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://welikeitfresh.com/?p=1583</guid>
		<description><![CDATA[Don&#8217;t drop the ball now that the ball has dropped! That&#8217;s right, it&#8217;s a new year, and time to make new resolutions and goals as well as re-commit ourselves to standards and quality in web design and development.  One of the most critical periods in the creation of a new (or redesigned) website is what [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t drop the ball now that the ball has dropped! That&#8217;s right, it&#8217;s a new year, and time to make new resolutions and goals as well as re-commit ourselves to standards and quality in web design and development.  One of the most critical periods in the creation of a new (or redesigned) website is what we at eROI call the &#8220;Deploy&#8221; phase. This is when all the hard work the team has put into a project culminates to one defining moment when you flip the switch and the site &#8220;GOES LIVE&#8221; for the whole world to see.  But more important than the actual flip-switching is the pre-launch phase where we make sure the site is ready for prime time, so to speak.</p>
<p>One of the most important steps in the pre-launch phase is an in-depth QA process, including usability and cross-browser testing.  But let&#8217;s assume that step has already been completed and your site is bug free and looks snazzy in all the major browsers.  Heck, let&#8217;s even say you&#8217;ve got a kick-ass mobile version and that everything degrades gracefully with javascript disabled, or on a horrible, outdated browser (I don&#8217;t think I need to name names here).</p>
<p>Aside from making sure everything works and looks good, here is a list of items to check on and implement (if you haven&#8217;t already).  Many of these may seem rather trivial compared to larger issues like site functionality, but the little details are important and you want to put your best face forward when presenting a new website to the world.  The lack of a favicon may not drive people away from your site, but those small details will be noticed and appreciated by users as well as peers in the industry.  Other items on the list can be much more crucial to the usability and success of the site.</p>
<p><span id="more-1583"></span></p>
<h3>Add Google Analytics and create goals and/or events</h3>
<p>There&#8217;s nothing like having a great response to your newly launched site &#8211; only to realize you&#8217;ve forgotten to add analytics tracking code.  But beyond just adding the code so you can track your site&#8217;s traffic, it&#8217;s also helpful to set up events and goals within Google Analytics. Having goals will help you measure how successful your site is, beyond just the number of page views. For more information on goals, see this presentation, <a href="http://services.google.com/analytics/breeze/en/goals/index.html">Goals in Google Analytics</a>.</p>
<p>You may also want to set up some events so you can track specific actions that may not be measurable by page view counts and user paths.  On one site we launched recently we wanted to measure how many people were logging in using Facebook Connect, as opposed to logging in using the traditional method.  Creating Events let us track those actions and compare them. For more information on setting up events, see Google&#8217;s <a href="http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html">Event Tracking Guide</a>.</p>
<h3>Proof-read and check for straggler placeholder content (&#8220;lorem ipsum&#8221;, FPO images)</h3>
<p>Typos and grammatically incorrect sentences are easy for a developer to miss when they are concentrating on making sure the site looks and functions properly in the week(s) before launch.  Hopefully misspellings and forgotten &#8220;Lorem Ipsum&#8221; text will be caught in QA, but they could be overlooked if the focus is on testing functionality.  Take another look through the site yourself, but more importantly, ask a friend to proof-read or ask your mom to see if there&#8217;s anything she doesn&#8217;t understand.  Getting new eyeballs on the site is always better than just looking at it yourself for the 5,278th time.</p>
<h3>Check for hard-coded links containing your development URL</h3>
<p>Sure, your links and assets may work NOW, but will they after you&#8217;ve pushed the site live and the development site is taken offline?  Even if you keep your dev site up and running, if you are still linking to JS and CSS files from your development site you&#8217;ll probably end up wondering why those edits you are making to the live versions aren&#8217;t having any effect.</p>
<p>The easiest way to avoid having development URLs on your live site is to not hard-code those links at all. If you are using WordPress there are several ways to have URLs generated dynamically:</p>
<ul>
<li>Use the constant TEMPLATEPATE for PHP includes</li>
<li>Use get_permalink() to retrieve the permalink for a specific page</li>
<li>For assets, use bloginfo(&#8216;template_directory&#8217;) to get the URL for your theme folder. Then append the rest of the path to the CSS or javascript file</li>
</ul>
<h3>Check your SEO and robots.txt</h3>
<p>Any optimization for search engines should be completed before the site is launched. Sometimes SEO might not feel &#8220;essential&#8221; for a site launch but you really want it to get the most momentum coming out of the gate so it&#8217;s best to have everything set up before launch.  Check your robots.txt file as well to make sure it is formatted properly. Mistakes in the robots.txt file could mean that certain directories are not indexed by search engines. For some common mistakes to avoid, see the article <a href="http://www.businessseek.biz/article-directory/article-59.html">The importance of Robots.txt</a> and scroll down to the section &#8220;Things to Avoid.&#8221;</p>
<h3>Add an XML Sitemap</h3>
<p>Generate an XML Sitemap of your finished site using a <a href="http://www.xml-sitemaps.com/">sitemap generator</a>, or a <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">WordPress plugin</a>.  If you generate it yourself, place the XML file in the root directory of the site.  The sitemap will help search engines crawl your site and index your pages.</p>
<h3>Test your site in YSlow and fix any obvious optimization issues</h3>
<p>Hopefully you will have used <a href="http://developer.yahoo.com/yslow/">YSlow</a> or Google Pagespeed during the development process to spot problems early. But even if you have checked during active development, last minute changes or additions may have made a big impact so always check again.  Reduce your HTTP requests by combining CSS and javascript files and using <a href="http://www.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/">sprites</a>.  Minify and/or Gzip scripts to reduce their sizes.  Move assets to a Content Delivery Network if one is available (this is especially important if you have videos or large downloadable files).</p>
<h3>Turn on caching</h3>
<p>To ensure your site is &#8220;Digg-proof&#8221; (can handle a large spike in traffic, usually caused by being linked to from a site like Digg) site caching is essential. If you are using WordPress, here are a couple of great caching plugins: <a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super-Cache</a> and <a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>.  Super Cache will save static HTML copies of your pages so that they will not need to be dynamically generated with PHP every time someone visits.  No need to worry about your dynamic content disappearing though &#8211; if you add a new blog post or if someone posts a comment, the static page in the cache will be recreated.  W3 Total Cache doesn&#8217;t go so far as to create a static version of your site, but it does do many other things that will increase the load speed of your site and lighten the load on the server.  Whichever method you use, enabling caching <em>before</em> launch will prevent unexpected downtime should a &#8220;Digg&#8221;-type event occur (and typically you will never predict when that might happen).</p>
<h3>Make some security checks</h3>
<p>Are any of your folder or file permissions set to 777?  Do you have an easy-to-guess password on the admin account for your CMS? Do any forms on the site submit data to a database without first being checked and filtered (to prevent SQL Injection Attacks)?</p>
<h3>Add a favicon</h3>
<p>The cherry on top of your website sundae. But beyond just looking all pretty up in the address bar of the browser, the favicon will also be displayed in certain situations if your site is bookmarked. Having a little icon to go with your site  helps it to be identified amongst the user&#8217;s other bookmarks.</p>
<p>and finally&#8230;</p>
<h3>Give yourself some credit!</h3>
<p>If appropriate and you&#8217;ve discussed it with your client, add a &#8216;website by&#8230;&#8217; attribution and link into the footer of the site (or on a &#8220;credits&#8221; or &#8220;links&#8221; page).</p>
<p>See anything I missed or have something on your pre-launch list that I didn&#8217;t mention?  Leave it in the comments!</p>
<p>Oh, and happy new year!  Here&#8217;s to many successful site launches in 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://welikeitfresh.com/2010/01/13/a-pre-launch-checklist-for-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Basic security measures to keep your WordPress admin area safe</title>
		<link>http://welikeitfresh.com/2009/12/04/basic-security-measures-to-keep-your-wordpress-sit-area-safe/</link>
		<comments>http://welikeitfresh.com/2009/12/04/basic-security-measures-to-keep-your-wordpress-sit-area-safe/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 17:00:57 +0000</pubDate>
		<dc:creator>Jill</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[hackers]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://welikeitfresh.com/?p=1543</guid>
		<description><![CDATA[Nobody WANTS to have their blog hacked.  But without a few basic precautions, you could be practically inviting them in without knowing it.
When you install WordPress, you will automatically have a user account named &#8220;admin.&#8221;  Everyone who knows WordPress knows this.  And that includes the bad folks who want to get admin access to your [...]]]></description>
			<content:encoded><![CDATA[<p>Nobody WANTS to have their blog hacked.  But without a few basic precautions, you could be practically inviting them in without knowing it.</p>
<p>When you install WordPress, you will automatically have a user account named &#8220;admin.&#8221;  Everyone who knows WordPress knows this.  And that includes the bad folks who want to get admin access to your site.  Because they know that your site probably has an administrator-level account with the username &#8220;admin,&#8221; half the work is done.  Then they just need to figure out your password.  One of the most common attacks on WordPress sites is called &#8220;brute force&#8221; password guessing. A script will keep trying different password combinations until it finds the correct one.  They usually aren&#8217;t successful, but sometimes they hit the jackpot &#8211; and you don&#8217;t want your site to be the lucky winner.<span style="color:#FF6400">**</span></p>
<p>To defend against this type of attack, there are three fairly basic things you can do:</p>
<ol>
<li>Have a good password</li>
<li>Get rid of the &#8220;admin&#8221; account</li>
<li>Ban anyone with too many failed login attempt</li>
</ol>
<p><span id="more-1543"></span></p>
<h3 style="font-size:1.4em;margin:10px 0">Creating a strong password</h3>
<p>WordPress makes it really easy to have a good password.  When you edit your profile and change your password there is a &#8220;strength indicator&#8221; that will tell you if your password is very weak, weak, medium or strong.  Always shoot for a &#8220;strong&#8221; rating.  That goes for anyone with any user role, but especially for someone with administrator-level access.</p>
<h3 style="font-size:1.4em;margin:10px 0">Getting rid of the &#8220;admin&#8221; account</h3>
<p>This is a little more involved, but still really easy.  The most painless way I have found to accomplish this with WordPress is to use <a href="http://wordpress.org/extend/plugins/wpvn-username-changer/">WPVN Username Changer</a> to change the username from &#8220;admin&#8221; to something else.  The plugin doesn&#8217;t work with WPMU yet, unfortunately, as it doesn&#8217;t seem to transfer Site Admin status to the new username.</p>
<p>Here are the steps I&#8217;d recommend to change your username:</p>
<ol>
<li>If you want to change your account&#8217;s password to something other than the generated password, I found it&#8217;s easiest to change it before you switch usernames. If you do change it, make sure it gets a &#8220;strong&#8221; rating.</li>
<li>Backup your database (unless it is an untouched, fresh installation of WordPress).</li>
<li>Download, install and activate <a href="http://wordpress.org/extend/plugins/wpvn-username-changer/">WPVN Username Changer</a>.</li>
<li>Expand &#8220;Users&#8221; in the main navigation, and click &#8220;Change Username&#8221;.</li>
<li>Enter your new username, click save. The plugin will ask you to log in again using your new username (This is where changing your password comes in handy &#8211; you don&#8217;t have to go back to your installation email to copy/paste the generated password).</li>
</ol>
<p><a href="http://welikeitfresh.com/files/2009/12/Change-Your-Username-‹-Pickle-Surprise-—-WordPress_1259712817340.png"><img class="aligncenter size-medium wp-image-1548" src="http://welikeitfresh.com/files/2009/12/Change-Your-Username-‹-Pickle-Surprise-—-WordPress_1259712817340-450x162.png" alt="Change Your Username ‹ Pickle Surprise! — WordPress_1259712817340" width="450" height="162" /></a>(yup, it&#8217;s that easy.)</p>
<p>There are of course other ways to rid your site of the &#8216;admin&#8217; user.  Aside from other techniques for changing the username to something else (directly editing the user in the database), you can also create a new account for yourself, and then delete the admin user.  <a href="http://www.clickonf5.org/wordpress/delete-wordpress-default-admin-user/5447">Steps for deleting the admin account are outlined clearly in this post at Internet Techies</a>.</p>
<p>If you go this route, just be extra-cautious that you have given your new account proper permissions before you delete &#8216;admin&#8217;.  In WordPress, it&#8217;s as easy as changing the user&#8217;s role to &#8216;administrator&#8217;.  In WPMU, in addition to changing the role, you will need to add the new user name to the list of site admins on the Site Options page.  To do that, expand the Site Admin section in the navigation, then click Options. Scroll down to Administration Options. Add the new username(s) to the site admin list, separated by spaces.</p>
<h3 style="font-size:1.4em;margin:10px 0">Ban anyone with too many failed login attempts</h3>
<p>There are a couple plugins I&#8217;ve found that can do this for you (though I&#8217;m sure there are more): <a href="http://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/">Login Lockdown</a> and  <a href="http://wordpress.org/extend/plugins/limit-login-attempts/">Limit Login Attempts</a>. These plugin allows you to block anyone that has more than a certain number of failed login attempts.  You can specify what that number is in the plugin settings, as well as the duration of the lockout. Login Lockdown displays the IPs of anyone currently locked out on its options page.  Limit Login Attempts goes one step further: it can keep a log of all lockouts, and/or email you whenever it happens.  Also, if anyone has multiple lockouts (you can choose the number), Limit Login Attempts allows you to block them for an even longer period of time.</p>
<p><a href="http://welikeitfresh.com/files/2009/12/loginlockout.gif"><img class="aligncenter size-medium wp-image-1546" src="http://welikeitfresh.com/files/2009/12/loginlockout-450x427.gif" alt="loginlockout" width="450" height="427" /></a></p>
<h3 style="font-size:1.4em;margin:10px 0">Final notes: Strong passwords, strong passwords, strong passwords. Did I mention strong passwords?</h3>
<p>So you&#8217;ve deleted or renamed the &#8216;admin&#8217; account, so you&#8217;re protected against malicious automated scripts.  That&#8217;s great!  But let&#8217;s say someone holds a grudge against you for that time you beaned them with a dodge ball in P.E.  And they have a new brute force password cracker they are dying to try out.  There are a couple ways they could discover your username. Aside from the fact that they may be able to guess it (if it&#8217;s your first name for example), they could also find it if you have posted any blog posts with your administrator account, and use the_author_posts_link() in your template.  That function generates a link to an archive of your posts, in the format of  http://www.site.com/author/nancyq. There&#8217;s your username, exposed to the world.  If they guess your password, they are in.</p>
<p>Even if you don&#8217;t have author archives, your username may also be displayed in the RSS feed generated by WordPress.  If you have not changed your display name from the default, the RSS feed source code will show your username as the content creator.</p>
<p><a href="http://welikeitfresh.com/files/2009/12/rsssource.png"><img class="aligncenter size-medium wp-image-1547" src="http://welikeitfresh.com/files/2009/12/rsssource-450x91.png" alt="rsssource" width="450" height="91" /></a>It&#8217;s probably not likely that you have a nemesis from 5th grade trying to get access to your blog &#8211; and both the above scenarios are easy to fix or avoid. However, if someone with malicious intent knows (or can guess or find) your username you can be in trouble if you have a weak password.  Even if a hacker gains access to an author or editor account, even though they couldn&#8217;t do a whole lot of harm, they could still post links, naughty pictures, or worse, blinking blue text saying &#8220;pwnd&#8221;.</p>
<p>If you don&#8217;t know how to create a good, strong password, <a href="http://www.google.com/search?hl=en&amp;client=firefox-a&amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;hs=p9c&amp;q=strong+passwords&amp;aq=f&amp;oq=&amp;aqi=g-p1g9">there is a lot of advice out there</a>.</p>
<h3 style="font-size:1.4em;margin:10px 0">Some resources</h3>
<p>A strong password, some tricky username tactics, and locking down your login form are all some very basic things you can do to protect your WordPress admin area.  Of course there are many, many more things you can do to protect against brute force attacks, as well as other types of common WordPress attacks.  Google &#8220;wordpress security&#8221; and you will get a LOT of info.  Here are some links to get you started:</p>
<p><a href="http://codex.wordpress.org/Hardening_WordPress">Hardening WordPress</a> (WordPress codex)</p>
<p><a href="http://www.wpbeginner.com/wp-tutorials/11-vital-tips-and-hacks-to-protect-your-wordpress-admin-area/">13 Vital Tips and Hacks to Protect Your WordPress Admin Area</a> (WPBeginner)</p>
<p><a href="http://www.problogdesign.com/wordpress/11-best-ways-to-improve-wordpress-security/">11 Best Ways to Improve WordPress Security</a> (Pro Blog Design)</p>
<p><a href="http://wordpress.org/extend/plugins/wp-security-scan/">WP Security Scan</a> (a plugin that will scan your site/blog for security vulnerabilities)</p>
<p><span style="color:#FF6400">**</span> Distributed account hacking schemes could be making brute force password guessing a more wide spread and successful. See articles:<br />
<a href="http://www.theregister.co.uk/2009/11/30/wordpress_password_cracking/">Web service automates Wordpress account cracking</a><br />
<a href="http://futurismic.com/2009/11/16/the-hail-mary-cloud-slow-but-steady-brute-force-password-guessing-botnet/">The Hail Mary Cloud: Slow but steady brute-force password guessing botnet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://welikeitfresh.com/2009/12/04/basic-security-measures-to-keep-your-wordpress-sit-area-safe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
