<?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: The dilemma of ssh authorized_keys key files and its comments</title>
	<atom:link href="http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/</link>
	<description></description>
	<lastBuildDate>Wed, 01 Sep 2010 13:50:40 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Kiel</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-12273</link>
		<dc:creator>Kiel</dc:creator>
		<pubDate>Tue, 21 Jul 2009 23:17:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-12273</guid>
		<description>You should utilize the fingerprint of the SSH key. The fingerprint IS the &quot;checksum&quot; you&#039;re talking about. Changing the comment does NOT change the fingerprint.

Check the fingerprint of the keys and only remove keys with the matching fingerprint. Checking the fingerprint of ssh keys should be common practice anyway - since it is the best way to verify the owner of a key over the phone.

This is very basic public key verification practice.</description>
		<content:encoded><![CDATA[<p>You should utilize the fingerprint of the SSH key. The fingerprint IS the &#8220;checksum&#8221; you&#8217;re talking about. Changing the comment does NOT change the fingerprint.</p>
<p>Check the fingerprint of the keys and only remove keys with the matching fingerprint. Checking the fingerprint of ssh keys should be common practice anyway &#8211; since it is the best way to verify the owner of a key over the phone.</p>
<p>This is very basic public key verification practice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deserted</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-6186</link>
		<dc:creator>Deserted</dc:creator>
		<pubDate>Wed, 17 Dec 2008 23:00:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-6186</guid>
		<description>actually just found this post, point three takes my process one step further by moving the file completely out of the users domain

http://it.toolbox.com/blogs/unix-sysadmin/playing-with-openssh-public-keys-28377</description>
		<content:encoded><![CDATA[<p>actually just found this post, point three takes my process one step further by moving the file completely out of the users domain</p>
<p><a href="http://it.toolbox.com/blogs/unix-sysadmin/playing-with-openssh-public-keys-28377" rel="nofollow">http://it.toolbox.com/blogs/unix-sysadmin/playing-with-openssh-public-keys-28377</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deserted</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-6185</link>
		<dc:creator>Deserted</dc:creator>
		<pubDate>Wed, 17 Dec 2008 22:57:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-6185</guid>
		<description>I personally find that a combination of making authorized_keys read-only for all but root, and using properly configured sudo policies to be a good process here. It won&#039;t catch issues 100% of the time, but it does give a reasonable level of security without wasting too much time on various methods of tracking - you could take this a step further and add either a COW or Versioning system to manage the updates to authorized_keys, that goes beyond my requirements though

As to syberghost&#039;s comment, I agree that root is often the simplest way to manage a large deployment, however I don&#039;t agree with flippant use of sudo or giving root out to anything but trusted senior admins.

Quite apart from potentially intentional harm, a  simple slip on the commandline by an inexperienced user when running with open sudo privs/as root can do a LOT of harm</description>
		<content:encoded><![CDATA[<p>I personally find that a combination of making authorized_keys read-only for all but root, and using properly configured sudo policies to be a good process here. It won&#8217;t catch issues 100% of the time, but it does give a reasonable level of security without wasting too much time on various methods of tracking &#8211; you could take this a step further and add either a COW or Versioning system to manage the updates to authorized_keys, that goes beyond my requirements though</p>
<p>As to syberghost&#8217;s comment, I agree that root is often the simplest way to manage a large deployment, however I don&#8217;t agree with flippant use of sudo or giving root out to anything but trusted senior admins.</p>
<p>Quite apart from potentially intentional harm, a  simple slip on the commandline by an inexperienced user when running with open sudo privs/as root can do a LOT of harm</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: syberghost</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-622</link>
		<dc:creator>syberghost</dc:creator>
		<pubDate>Mon, 14 Apr 2008 14:43:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-622</guid>
		<description>I love how people who administrate little environments glibly say everybody should use sudo 100% of the time.

Now try doing adhoc system administration tasks on 2000 servers under time constraints and tell me how &quot;log on as yourself and use sudo&quot; scales for you.

This problem doesn&#039;t just exist for &quot;root&quot;, either.  You may have other less-privileged accounts for which such remote administration is necessary, not to mention file transfer capabilities which may by necessity be exposed outside the firewall.</description>
		<content:encoded><![CDATA[<p>I love how people who administrate little environments glibly say everybody should use sudo 100% of the time.</p>
<p>Now try doing adhoc system administration tasks on 2000 servers under time constraints and tell me how &#8220;log on as yourself and use sudo&#8221; scales for you.</p>
<p>This problem doesn&#8217;t just exist for &#8220;root&#8221;, either.  You may have other less-privileged accounts for which such remote administration is necessary, not to mention file transfer capabilities which may by necessity be exposed outside the firewall.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Level 1</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-55</link>
		<dc:creator>Level 1</dc:creator>
		<pubDate>Thu, 03 Jan 2008 20:39:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-55</guid>
		<description>After you delete the key, Keep a copy the key under your own personal home folder.  If you delete the wrong key, you have a backup.</description>
		<content:encoded><![CDATA[<p>After you delete the key, Keep a copy the key under your own personal home folder.  If you delete the wrong key, you have a backup.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ccm</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-54</link>
		<dc:creator>ccm</dc:creator>
		<pubDate>Thu, 03 Jan 2008 08:02:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-54</guid>
		<description>Thanks for your comments, guys. Let me add that I know, of course, there is no possibility to enforce a trusted situation when other people have root and even when they don&#039;t - if they are smart enough. The point is how difficult it is to cause trouble, how techie you have to be to get an idea of how to change things for your own advantage. Theoretically, I agree, everybody can do everything, but as we know, every additional barrier is a good choice.

So what I&#039;d really like to see is something in the ssh daemon that matches some of your suggestions. Registering ssh keys, signing them, and stuff. Of course there are alternatives like ldap but when you are an agency caring for dozens of live servers distributed about a couple of providers you cannot centralize and have to deal with a lot of isolated machines.

I think what comes quite close is the suggestion of Jim K - a packet management driven delivery of ssh keys. I also thought about a check script that greps all home dirs from a /etc/passwd, adds the authorized_keys path to it and checks if these files exist and what they contain - kind of current access summary. So in the end it is about writing your own scripts. As I don&#039;t seem to be isolated in my task I hope there will come up some official stuff, soon that prevents us from inventing the wheel again and again.

Thank you, guys.</description>
		<content:encoded><![CDATA[<p>Thanks for your comments, guys. Let me add that I know, of course, there is no possibility to enforce a trusted situation when other people have root and even when they don&#8217;t &#8211; if they are smart enough. The point is how difficult it is to cause trouble, how techie you have to be to get an idea of how to change things for your own advantage. Theoretically, I agree, everybody can do everything, but as we know, every additional barrier is a good choice.</p>
<p>So what I&#8217;d really like to see is something in the ssh daemon that matches some of your suggestions. Registering ssh keys, signing them, and stuff. Of course there are alternatives like ldap but when you are an agency caring for dozens of live servers distributed about a couple of providers you cannot centralize and have to deal with a lot of isolated machines.</p>
<p>I think what comes quite close is the suggestion of Jim K &#8211; a packet management driven delivery of ssh keys. I also thought about a check script that greps all home dirs from a /etc/passwd, adds the authorized_keys path to it and checks if these files exist and what they contain &#8211; kind of current access summary. So in the end it is about writing your own scripts. As I don&#8217;t seem to be isolated in my task I hope there will come up some official stuff, soon that prevents us from inventing the wheel again and again.</p>
<p>Thank you, guys.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim K</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-53</link>
		<dc:creator>Jim K</dc:creator>
		<pubDate>Thu, 03 Jan 2008 04:03:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-53</guid>
		<description>We manage key files via a package.  We create a new install file (rpm or dpkg) with the updated key files.  We place this in a repository and the patching process applies the changes to the key files.  This also allows you to audit compliance and keep track of version history.  You can use cvs/svn to track the changes to the key files...</description>
		<content:encoded><![CDATA[<p>We manage key files via a package.  We create a new install file (rpm or dpkg) with the updated key files.  We place this in a repository and the patching process applies the changes to the key files.  This also allows you to audit compliance and keep track of version history.  You can use cvs/svn to track the changes to the key files&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krzysztof Wyszynski</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-52</link>
		<dc:creator>Krzysztof Wyszynski</dc:creator>
		<pubDate>Wed, 02 Jan 2008 22:52:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-52</guid>
		<description>Why don&#039;t you manage SSH keys using some database backend? Every user can upload his key using some PHP frontend. The key is therefore stored in DB and authorized_keys files are refreshed daily using CRON  job. You, as an administrator, have privileges to manage every key assigned to any person. Users can only upload/change their own keys.</description>
		<content:encoded><![CDATA[<p>Why don&#8217;t you manage SSH keys using some database backend? Every user can upload his key using some PHP frontend. The key is therefore stored in DB and authorized_keys files are refreshed daily using CRON  job. You, as an administrator, have privileges to manage every key assigned to any person. Users can only upload/change their own keys.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-51</link>
		<dc:creator>Jon</dc:creator>
		<pubDate>Wed, 02 Jan 2008 21:52:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-51</guid>
		<description>If they had root and you don&#039;t trust them, you&#039;re basically screwed.  There are a lot of schemes folks could come up with to ensure ssh authorized_keys are fair (require everyone to send their public key to you, store them on a secure machine, periodically run a script to check for non-matching keys in each user&#039;s ~/.ssh, etc.), but that isn&#039;t sufficient.  For example, the attacker could have installed a kernel module that deceives you or circumvents any block you place against them.

When your admins leave, you do your best to close the doors behind them but you must simply accept that they might be smarter than you and still have a way in.  Unless you&#039;re willing to nuke all affected servers down to the ground and re-build them, you&#039;re just kidding yourself.</description>
		<content:encoded><![CDATA[<p>If they had root and you don&#8217;t trust them, you&#8217;re basically screwed.  There are a lot of schemes folks could come up with to ensure ssh authorized_keys are fair (require everyone to send their public key to you, store them on a secure machine, periodically run a script to check for non-matching keys in each user&#8217;s ~/.ssh, etc.), but that isn&#8217;t sufficient.  For example, the attacker could have installed a kernel module that deceives you or circumvents any block you place against them.</p>
<p>When your admins leave, you do your best to close the doors behind them but you must simply accept that they might be smarter than you and still have a way in.  Unless you&#8217;re willing to nuke all affected servers down to the ground and re-build them, you&#8217;re just kidding yourself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JAB van Ree</title>
		<link>http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/comment-page-1/#comment-50</link>
		<dc:creator>JAB van Ree</dc:creator>
		<pubDate>Wed, 02 Jan 2008 21:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.screenage.de/blog/2008/01/02/the-dilemma-of-ssh-authorized_keys-key-files-and-its-comments/#comment-50</guid>
		<description>The outside world should not be able to access said machine(s) directly over the internet anyway, besides default ports like 80, 443, 53, 25 and maybe 993/995?! Only allow certain machines to access the server(s) on other ports, easy to set up using IP tables.</description>
		<content:encoded><![CDATA[<p>The outside world should not be able to access said machine(s) directly over the internet anyway, besides default ports like 80, 443, 53, 25 and maybe 993/995?! Only allow certain machines to access the server(s) on other ports, easy to set up using IP tables.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
