<?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>A Tasty Pixel » Blog &#187; Security</title>
	<atom:link href="http://atastypixel.com/blog/tag/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://atastypixel.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 06 Feb 2012 15:08:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Easy inclusion of OpenSSL into iOS projects</title>
		<link>http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/</link>
		<comments>http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 13:02:54 +0000</pubDate>
		<dc:creator>Michael Tyson</dc:creator>
				<category><![CDATA[Geekspeak]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/</guid>
		<description><![CDATA[Oddly, iOS doesn&#8217;t provide any OpenSSL implementation at all &#8212; If you want to do anything with crypto (like checking signatures, checksumming, etc.), you have to build in the library yourself. I came across a great XCode project wrapper for OpenSSL yesterday, by Stephen Lombardo. This is an XCode project file that contains a target [...]]]></description>
			<content:encoded><![CDATA[<p>Oddly, iOS doesn&#8217;t provide any OpenSSL implementation at all &#8212; If you want to do anything with crypto (like checking signatures, checksumming, etc.), you have to build in the library yourself.</p>

<p>I came across a great <a href="https://github.com/sjlombardo/openssl-xcode">XCode project wrapper</a> for OpenSSL yesterday, by Stephen Lombardo.  This is an XCode project file that contains a target to build OpenSSL from source, and works with both Mac and iOS projects.  I made some <a href="https://github.com/michaeltyson/openssl-xcode">modifications</a> to it, in order to make it work by just dropping in the OpenSSL source tarball, without having to dirty up your source tree with the extracted OpenSSL distribution.</p>

<p>Here&#8217;s how to use it:</p>

<ol>
<li><a href="http://www.openssl.org/source/">Download the OpenSSL source</a>.</li>
<li>Put the downloaded OpenSSL source tar.gz into the same folder
as openssl.xcodeproj (I put it in <code>Library/openssl</code> within my project tree).</li>
<li>Drag the openssl.xcodeproj file into your main project tree in XCode.</li>
<li>Right-click on your project target, and add openssl.xcodeproj under &#8220;Direct
Dependencies&#8221; on the General tab.</li>
<li><p>On the Build tab for your project&#8217;s target, find the &#8220;Header Search Paths&#8221; 
option, and add the path:</p>

<blockquote>
  <p><code>$(SRCROOT)/Library/openssl/build/openssl.build/openssl/include</code></p>
</blockquote>

<p>(Assuming you&#8217;ve put openssl.xcodeproj at the path <code>Library/openssl</code> &#8212; adjust as necessary).</p></li>
<li>Expand your target&#8217;s &#8220;Link Binary With Libraries&#8221; build stage, and drag
libcrypto.a from the openssl.xcodeproj group.</li>
</ol>

<p>Then, you can just import and use as normal (<code>#import &lt;openssl/dsa.h&gt;</code>, etc).</p>

<p><a href="https://github.com/michaeltyson/openssl-xcode/zipball/master">Download it here</a></p>
 <img src="http://atastypixel.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=2100" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firming up WordPress&#8217;s security</title>
		<link>http://atastypixel.com/blog/firming-up-wordpresss-security/</link>
		<comments>http://atastypixel.com/blog/firming-up-wordpresss-security/#comments</comments>
		<pubDate>Sun, 10 May 2009 02:22:17 +0000</pubDate>
		<dc:creator>Michael Tyson</dc:creator>
				<category><![CDATA[Geekspeak]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://atastypixel.com/blog/2009/05/10/firming-up-wordpresss-security/</guid>
		<description><![CDATA[Instructions on how to protect your Wordpress administration area with a layer of HTTP authentication.]]></description>
			<content:encoded><![CDATA[<p>There&#8217;re thousands of articles out there describing how to secure WordPress better against attacks, but I still had a little difficulty with the nuts and bolts, so I thought I&#8217;d detail the process I underwent here.</p>

<p>I recently had a bit of a security breach &#8211; some lowlife broke into my account and injected some phishing stuff into my personal webmail software.  Consequently, I went on a bit of a security binge and deleted some apps I wasn&#8217;t using much, changed all of my passwords to ridiculously long strings, and set up layers of HTTP authentication on my WordPress login/admin pages, the latter of which is described here.</p>

<p>The general idea is to make it hard to get to the login/admin pages in the first place, which should block some attacks.</p>

<p>The <a href="http://wordpress.org/extend/plugins/askapache-password-protect/">AskApache password protect</a> WordPress plugin will do all of this for you, <em>unless</em> it thinks your webserver doesn&#8217;t have the supporting software.  It failed for me on Site5, saying I lacked HTTP digest authentication support, which is actually not true, as it&#8217;s enabled.  I couldn&#8217;t be bothered debugging it though, so I proceeded with the manual route.</p>

<h1>Create the password file</h1>

<p>First, I created an <em>htpasswd</em> file, containing a login and password.  There&#8217;re many sites describing how to do this, but on the terminal, it&#8217;s fairly easy:</p>

<p><code>htpasswd -c /path/to/.htpasswd myusername</code></p>

<p>Note that it&#8217;s a good idea to put the .htpasswd file somewhere <em>outside</em> the web root &#8211; your account&#8217;s home directory is one option.</p>

<h1>Protect the login page</h1>

<p>I opened up the <code>.htaccess</code> in the WordPress root folder, and added the following:</p>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">ErrorDocument 401 default
&nbsp;
AuthUserFile /path/to/.htpasswd
AuthName &quot;Blog&quot;
AuthType Basic
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Files</span> <span style="color: #ff0000;">&quot;wp-login.php&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    require valid-user
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Files<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>


<p>Note that &#8216;ErrorDocument 401 default&#8217; line &#8211; this is in place to avoid getting a &#8217;404&#8242; error whenever you load up the login page.  I&#8217;m not entirely sure of the details, but it seems that if the rewrite module is used (the thing that allows WordPress to define an arbitrary website structure, without needing physical files), then this causes problems with HTTP authentication.</p>

<p>Also, if you wish to protect access to the XMLRPC access point as well, you can add the following:</p>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;Files</span> <span style="color: #ff0000;">&quot;xmlrpc.php&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    require valid-user
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/Files<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>


<p>However, if you do this, I&#8217;m pretty sure pingbacks (the WordPress-specific version of trackbacks) will no longer work.  I think trackbacks will still be functional &#8211; as far as I know, they use a different access point.  If you use a desktop blogging app, you&#8217;ll want to make sure it can handle HTTP authentication.  I know <a href="http://illuminex.com/ecto/">ecto</a> can.</p>

<h1>Protect the admin area</h1>

<p>Finally, I created a new <code>.htaccess</code> file in the <code>wp-admin</code> directory, which looks like this:</p>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">ErrorDocument 401 default
&nbsp;
AuthUserFile /path/to/.htpasswd
AuthName &quot;Blog&quot;
AuthType Basic
&nbsp;
require valid-user</pre></div></div>

 <img src="http://atastypixel.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1600" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://atastypixel.com/blog/firming-up-wordpresss-security/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Private Tags WordPress Plugin</title>
		<link>http://atastypixel.com/blog/wordpress/plugins/private-tags/</link>
		<comments>http://atastypixel.com/blog/wordpress/plugins/private-tags/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 09:23:17 +0000</pubDate>
		<dc:creator>Michael Tyson</dc:creator>
				<category><![CDATA[Geekspeak]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://atastypixel.com/blog/2009/04/10/private-tags-wordpress-plugin/</guid>
		<description><![CDATA[The &#8220;Private Tags&#8221; WordPress plugin allows users to specify a list of tags or categories to keep hidden from the public &#8211; all posts within the specified tags/categories, and the tags/categories themselves, will not be visible to anyone but the original author. Alternatively, in &#8216;inclusive&#8217; mode specify a list of tags/categories to make public &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Private Tags&#8221; WordPress plugin allows users to specify a list of tags or categories to keep hidden from the public &#8211; all posts within the specified tags/categories, and the tags/categories themselves, will not be visible to anyone but the original author.</p>

<p>Alternatively, in &#8216;inclusive&#8217; mode specify a list of tags/categories to make public &#8211; all other tags/categories will remain hidden.</p>

<p><span id="more-1586"></span></p>

<h2>Download</h2>

<p>Download the Private Tags plugin at the <a href="http://wordpress.org/extend/plugins/private-tags/">WordPress plugin page</a></p>

<p>If you like Private Tags, please consider buying one of my <a href="http://atastypixel.com/products">products</a>.</p>

<h3>Installation</h3>

<ol>
<li>Unzip the package, and upload <code>private-tags</code> to the <code>/wp-content/plugins/</code> directory</li>
<li>Activate the plugin through the &#8216;Plugins&#8217; menu in WordPress</li>
<li>Visit &#8216;Private Tags&#8217; settings underneath WordPress settings to configure</li>
</ol>

<h3>Changes</h3>

<p><em>0.1</em> &#8211; Initial release</p>
 <img src="http://atastypixel.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1586" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://atastypixel.com/blog/wordpress/plugins/private-tags/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Links for December 29th through January 28th</title>
		<link>http://atastypixel.com/blog/links-december-29th-january-28th/</link>
		<comments>http://atastypixel.com/blog/links-december-29th-january-28th/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 03:00:38 +0000</pubDate>
		<dc:creator>Michael Tyson</dc:creator>
				<category><![CDATA[Geekspeak]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://atastypixel.com/blog/2009/01/29/links-%datestart-january-28th/</guid>
		<description><![CDATA[These are my links for December 29th through January 28th:

<ul>
<li><a href="http://photoshopfrenzy.com/?p=94">Dramatic Gritty Effect</a> In this tutorial we&#8217;re going to show you how to add a dramatic, gritty, bronzed effect to your images.</li>
<li><a href="http://propel.phpdb.org/trac/">Propel</a> Propel is an Object-Relational Mapping (ORM) framework for PHP5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.</li>
<li><a href="http://www.whatsmypass.com/?p=415">The Top 500 Worst Passwords of All Time</a> Passwords to try when I desperately need to get onto a locked Wifi network for some reason. Don&#39;t tell anybody.</li>
<li><a href="http://rss.timegenie.com/foreign_exchange_rates_forex">Foreign Exchange Rates (FOREX) XML Feed or CSV Feed</a> Free for commercial or non-commercial use, updated daily, XML/CSV format</li>
<li><a href="http://www.mobileorchard.com/9-places-to-publicize-your-iphone-app/">10 Places To Publicize Your iPhone App</a> A list of iPhone App review/gallery sites</li>

</ul>]]></description>
			<content:encoded><![CDATA[<p>Links for December 29th through January 28th:</p>

<ul class="delicious-bookmarks">
    <li><a href="http://photoshopfrenzy.com/?p=94">Dramatic Gritty Effect</a> In this tutorial we’re going to show you how to add a dramatic, gritty, bronzed effect to your images.</li>
    <li><a href="http://propel.phpdb.org/trac/">Propel</a> Propel is an Object-Relational Mapping (ORM) framework for PHP5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.</li>
    <li><a href="http://www.whatsmypass.com/?p=415">The Top 500 Worst Passwords of All Time</a> Passwords to try when I desperately need to get onto a locked Wifi network for some reason. Don&#8217;t tell anybody.</li>
    <li><a href="http://rss.timegenie.com/foreign_exchange_rates_forex">Foreign Exchange Rates (FOREX) XML Feed or CSV Feed</a> Free for commercial or non-commercial use, updated daily, XML/CSV format</li>
    <li><a href="http://www.mobileorchard.com/9-places-to-publicize-your-iphone-app/">10 Places To Publicize Your iPhone App</a> A list of iPhone App review/gallery sites</li>
</ul>
 <img src="http://atastypixel.com/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1326" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://atastypixel.com/blog/links-december-29th-january-28th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

