<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
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/"
> <channel><title>Comments on: How to Keep Your AWS Credentials on an EC2 Instance Securely</title> <atom:link href="http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/feed" rel="self" type="application/rss+xml" /><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html</link> <description>Cloud Developer Tips: Practical tips for developers of cloud computing applications.</description> <lastBuildDate>Thu, 22 Jul 2010 02:24:54 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>By: shlomo</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-363</link> <dc:creator>shlomo</dc:creator> <pubDate>Mon, 19 Jul 2010 16:16:28 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-363</guid> <description>@Ewout,Thanks for your comment! I&#039;ve written an article showing &lt;a href=&quot;http://www.shlomoswidler.com/2010/07/storing-aws-credentials-on-an-ebs-snapshot-securely.html&quot; rel=&quot;nofollow&quot;&gt;how to implement this technique&lt;/a&gt;.</description> <content:encoded><![CDATA[<p>@Ewout,</p><p>Thanks for your comment! I&#8217;ve written an article showing <a
href="http://www.shlomoswidler.com/2010/07/storing-aws-credentials-on-an-ebs-snapshot-securely.html" rel="nofollow">how to implement this technique</a>.</p> ]]></content:encoded> </item> <item><title>By: Storing AWS Credentials on an EBS Snapshot Securely</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-362</link> <dc:creator>Storing AWS Credentials on an EBS Snapshot Securely</dc:creator> <pubDate>Mon, 19 Jul 2010 16:13:24 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-362</guid> <description>[...] SecurelyJuly 19, 2010 &#183; 0 commentsThanks to reader Ewout and his comment on my article How to Keep Your AWS Credentials on an EC2 Instance Securely for suggesting an additional method of transferring credentials: via a snapshot. It&#8217;s similar [...]</description> <content:encoded><![CDATA[<p>[...] SecurelyJuly 19, 2010 &middot; 0 commentsThanks to reader Ewout and his comment on my article How to Keep Your AWS Credentials on an EC2 Instance Securely for suggesting an additional method of transferring credentials: via a snapshot. It&#8217;s similar [...]</p> ]]></content:encoded> </item> <item><title>By: Ewout</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-359</link> <dc:creator>Ewout</dc:creator> <pubDate>Mon, 12 Jul 2010 21:38:35 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-359</guid> <description>@Schlomo,I have been struggling with the same challenge of getting AWS credentials on an EC2 instance. I came up with roughly the same list of options as you, until tonight, when I thought of another possibility:when launching an instance, one can specify a snapshot to automatically create an EBS volume from and bind it to a block device. What if you created an EBS volume, put your credentials on it, create a snapshot from that, and then use the mentioned approach? One could use the user-data script (or whatever) to mount the block device and read the credentials. And when an instance terminates, by default the created EBS volume gets deleted (unless you turned it off in the --block-device-mapping option). Make sure the snapshot is private though. And I assume traffic between EC2 and EBS is secure, however I&#039;m not sure of that, but there are many EBS boot images now, so that would be awkward then. Finally, it&#039;s possible to encrypt the EBS volume at filesystem level, and pass the key for it in your user-data script; it doesn&#039;t add security, but prevents someone else from reading the raw storage after having deleted the volume.That still leaves the &#039;How to Keep AWS Credentials on an EC2 Instance&#039; part, probably you would need to look at SELinux or AppArmor to fix that one, if EC2 even supports that (since EC2 provides the kernels). Also, one could use a read-only filesystem on the EBS volume and have some credentials broker there which takes proper measures to prevent unauthorized retrieving of the credentials; but no idea how to really secure that yet, if it is even possible (since root can do anything, but one could look at the pid of the process requesting the credentials, see which binary it belongs to and check whether the binary is untampered with for example, one could store a list of binaries and sha1sums in the read-only filesystem; but the filesystem itself might be unmounted/recreated/mounted as well).</description> <content:encoded><![CDATA[<p>@Schlomo,</p><p>I have been struggling with the same challenge of getting AWS credentials on an EC2 instance. I came up with roughly the same list of options as you, until tonight, when I thought of another possibility:</p><p>when launching an instance, one can specify a snapshot to automatically create an EBS volume from and bind it to a block device. What if you created an EBS volume, put your credentials on it, create a snapshot from that, and then use the mentioned approach? One could use the user-data script (or whatever) to mount the block device and read the credentials. And when an instance terminates, by default the created EBS volume gets deleted (unless you turned it off in the &#8211;block-device-mapping option). Make sure the snapshot is private though. And I assume traffic between EC2 and EBS is secure, however I&#8217;m not sure of that, but there are many EBS boot images now, so that would be awkward then. Finally, it&#8217;s possible to encrypt the EBS volume at filesystem level, and pass the key for it in your user-data script; it doesn&#8217;t add security, but prevents someone else from reading the raw storage after having deleted the volume.</p><p>That still leaves the &#8216;How to Keep AWS Credentials on an EC2 Instance&#8217; part, probably you would need to look at SELinux or AppArmor to fix that one, if EC2 even supports that (since EC2 provides the kernels). Also, one could use a read-only filesystem on the EBS volume and have some credentials broker there which takes proper measures to prevent unauthorized retrieving of the credentials; but no idea how to really secure that yet, if it is even possible (since root can do anything, but one could look at the pid of the process requesting the credentials, see which binary it belongs to and check whether the binary is untampered with for example, one could store a list of binaries and sha1sums in the read-only filesystem; but the filesystem itself might be unmounted/recreated/mounted as well).</p> ]]></content:encoded> </item> <item><title>By: shlomo</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-355</link> <dc:creator>shlomo</dc:creator> <pubDate>Sat, 10 Jul 2010 19:45:09 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-355</guid> <description>@Jack,Try putting the URL you give to wget in quotes. Some of these URLs have special characters that the shell interprets and quoting the URL argument will prevent the shell from interpreting those special characters.</description> <content:encoded><![CDATA[<p>@Jack,</p><p>Try putting the URL you give to wget in quotes. Some of these URLs have special characters that the shell interprets and quoting the URL argument will prevent the shell from interpreting those special characters.</p> ]]></content:encoded> </item> <item><title>By: Jack</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-353</link> <dc:creator>Jack</dc:creator> <pubDate>Fri, 09 Jul 2010 23:47:03 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-353</guid> <description>If I generate a presigned URL with Amazon&#039;s SDK to a private S3 object, I can access it in a regular browser but cannot wget/curl it and will give me an Error 403: Forbidden. Do you know why that is?</description> <content:encoded><![CDATA[<p>If I generate a presigned URL with Amazon&#8217;s SDK to a private S3 object, I can access it in a regular browser but cannot wget/curl it and will give me an Error 403: Forbidden. Do you know why that is?</p> ]]></content:encoded> </item> <item><title>By: shlomo</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-224</link> <dc:creator>shlomo</dc:creator> <pubDate>Thu, 22 Apr 2010 15:18:58 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-224</guid> <description>@Yarin,SimpleDB requires AWS credentials to access. So it&#039;s equivalent to the option &quot;4. Put the secret in a private S3 object and provide the object’s path&quot; discussed above.</description> <content:encoded><![CDATA[<p>@Yarin,</p><p>SimpleDB requires AWS credentials to access. So it&#8217;s equivalent to the option &#8220;4. Put the secret in a private S3 object and provide the object’s path&#8221; discussed above.</p> ]]></content:encoded> </item> <item><title>By: Yarin</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-223</link> <dc:creator>Yarin</dc:creator> <pubDate>Thu, 22 Apr 2010 14:50:52 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-223</guid> <description>Good article- any thoughts on using SimpleDB to store credentials?</description> <content:encoded><![CDATA[<p>Good article- any thoughts on using SimpleDB to store credentials?</p> ]]></content:encoded> </item> <item><title>By: shlomo</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-182</link> <dc:creator>shlomo</dc:creator> <pubDate>Tue, 30 Mar 2010 17:28:09 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-182</guid> <description>@Gabe,Absolutely, I agree that fine-grained credentials would help mitigate the risk of compromised credentials.</description> <content:encoded><![CDATA[<p>@Gabe,</p><p>Absolutely, I agree that fine-grained credentials would help mitigate the risk of compromised credentials.</p> ]]></content:encoded> </item> <item><title>By: Gabe</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-180</link> <dc:creator>Gabe</dc:creator> <pubDate>Tue, 30 Mar 2010 05:02:44 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-180</guid> <description>AWS could help a lot by providing a way to generate credentials constrained to specific APIs. For example, if I have a machine that simply writes to an SQS queue, then I would generate credentials that only have access to the SendMessage API. If my machine needs to attach EBS volumes and access S3, I would generate credentials with only those permissions. That way in the case of a compromised system or elevation of privilege the damage done is limited to the rights granted in the credentials.</description> <content:encoded><![CDATA[<p>AWS could help a lot by providing a way to generate credentials constrained to specific APIs. For example, if I have a machine that simply writes to an SQS queue, then I would generate credentials that only have access to the SendMessage API. If my machine needs to attach EBS volumes and access S3, I would generate credentials with only those permissions. That way in the case of a compromised system or elevation of privilege the damage done is limited to the rights granted in the credentials.</p> ]]></content:encoded> </item> <item><title>By: shlomo</title><link>http://www.shlomoswidler.com/2009/08/how-to-keep-your-aws-credentials-on-ec2.html/comment-page-1#comment-54</link> <dc:creator>shlomo</dc:creator> <pubDate>Sun, 06 Dec 2009 03:41:58 +0000</pubDate> <guid
isPermaLink="false">http://orchestratus.com/shlomoswidler.com/?p=25#comment-54</guid> <description>@6p00e54ee6e7b68834,&lt;br /&gt;&lt;br /&gt;That&#039;s also a good suggestion. Even better would be to use a single-use URL, which would cease to work after the first retrieval. Then it would not need to be deleted.</description> <content:encoded><![CDATA[<p>@6p00e54ee6e7b68834,</p><p>That&#39;s also a good suggestion. Even better would be to use a single-use URL, which would cease to work after the first retrieval. Then it would not need to be deleted.</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 5/23 queries in 0.246 seconds using disk
Content Delivery Network via Amazon Web Services: S3: blogstatic.shlomoswidler.com.s3.amazonaws.com

Served from: www.shlomoswidler.com @ 2010-08-01 00:27:35 -->