<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Mr.Novell\&#8217;s Blog</title>
	<atom:link href="https://mrnovell.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://mrnovell.wordpress.com</link>
	<description>SUSE in the Enterprise</description>
	<lastBuildDate>Thu, 31 Aug 2017 03:41:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mrnovell.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s0.wp.com/i/buttonw-com.png</url>
		<title>Mr.Novell\&#8217;s Blog</title>
		<link>https://mrnovell.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://mrnovell.wordpress.com/osd.xml" title="Mr.Novell\&#039;s Blog" />
	<atom:link rel='hub' href='https://mrnovell.wordpress.com/?pushpress=hub'/>
	<item>
		<title>Welcome Back!</title>
		<link>https://mrnovell.wordpress.com/2017/08/31/welcome-back/</link>
					<comments>https://mrnovell.wordpress.com/2017/08/31/welcome-back/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Thu, 31 Aug 2017 03:41:30 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=140</guid>

					<description><![CDATA[After about 10 years of being away from this blog, I am back but will be starting a new blog. I&#8217;ve been at many companies over the years and now managing and running my own Engineering team. Stay tuned&#8230;]]></description>
										<content:encoded><![CDATA[<p>After about 10 years of being away from this blog, I am back but will be starting a new blog.</p>
<p>I&#8217;ve been at many companies over the years and now managing and running my own Engineering team. Stay tuned&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2017/08/31/welcome-back/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>GroupWise and openSUSE 11.3</title>
		<link>https://mrnovell.wordpress.com/2013/05/16/groupwise-and-opensuse-11-3/</link>
					<comments>https://mrnovell.wordpress.com/2013/05/16/groupwise-and-opensuse-11-3/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Thu, 16 May 2013 16:51:05 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Groupwise]]></category>
		<category><![CDATA[openSuSE]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=134</guid>

					<description><![CDATA[Here is a little howto install the GroupWise 8 client on openSUSE 11.3 STEP 1: Prepare openSUSE 11.3 for the Novell GroupWise 8 client (as root) zypper in openmotif openmotif22-libs libstdc++33 (for 64bit-Systems, the &#8220;-32bit&#8221; versions of openmotif22-libs and libstdc++33 are required) STEP 2: Download latest Novell GroupWise client Latest GroupWise client available here STEP [&#8230;]]]></description>
										<content:encoded><![CDATA[<p> Here is a little howto install the GroupWise 8 client on openSUSE 11.3</p>
<p>STEP 1: Prepare openSUSE 11.3 for the Novell GroupWise 8 client<br />
(as root)<br />
zypper in openmotif openmotif22-libs libstdc++33<br />
(for 64bit-Systems, the &#8220;-32bit&#8221; versions of openmotif22-libs and libstdc++33 are required)</p>
<p>STEP 2: Download latest Novell GroupWise client<br />
Latest GroupWise client available here</p>
<p>STEP 3: Install the Novell GroupWise 8 client<br />
(as root)<br />
unzip *.zip<br />
rpm -Uhv *.rpm<br />
(alternative, you can click your way around and install using the GUI)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2013/05/16/groupwise-and-opensuse-11-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>Install Subversion on Mac OS X Lion (10.7)</title>
		<link>https://mrnovell.wordpress.com/2011/09/23/install-subversion-on-mac-os-x-lion-10-7/</link>
					<comments>https://mrnovell.wordpress.com/2011/09/23/install-subversion-on-mac-os-x-lion-10-7/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Fri, 23 Sep 2011 20:42:00 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[subversion lion leopard]]></category>
		<category><![CDATA[svn]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=132</guid>

					<description><![CDATA[Edit the SystemVersion.plist file to change your Mac OS X version from 10.7 to 10.6: sudo vi /System/Library/CoreServices/SystemVersion.plist Replace each occurrence of 10.7 with 10.6 Save the file Install Universal Subversion 1.6.17 Binaries for Snow Leopard (Mac OS X 10.6) from http://www.collab.net/downloads/community/ Revert the file we edited previously (10.6 to 10.7 this time)]]></description>
										<content:encoded><![CDATA[<p>Edit the SystemVersion.plist file to change your Mac OS X version from 10.7 to 10.6:<br />
sudo vi /System/Library/CoreServices/SystemVersion.plist<br />
Replace each occurrence of 10.7 with 10.6<br />
Save the file<br />
Install <strong>Universal Subversion 1.6.17 Binaries for Snow Leopard (Mac OS X 10.6)</strong> from <a href="http://www.collab.net/downloads/community/" target="_blank">http://www.collab.net/downloads/community/</a><br />
Revert the file we edited previously (10.6 to 10.7 this time)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2011/09/23/install-subversion-on-mac-os-x-lion-10-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>Simple Two-Factor SSH Authentication</title>
		<link>https://mrnovell.wordpress.com/2011/09/23/simple-two-factor-ssh-authentication/</link>
					<comments>https://mrnovell.wordpress.com/2011/09/23/simple-two-factor-ssh-authentication/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Fri, 23 Sep 2011 19:26:13 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux/OSS]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=128</guid>

					<description><![CDATA[In a two-part post I&#8217;m going to show you some tricks you can do with SSH logins. This post covers setting up two-factor SSH authentication with the Google Authenticator app. I was recently getting some servers in shape so I can pass the Payment Card Industry standards questionnaire and one requirement was two-factor authentication access to the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In a two-part post I&#8217;m going to show you some tricks you can do with SSH logins. This post covers setting up two-factor SSH authentication with the <a href="http://code.google.com/p/google-authenticator/">Google Authenticator</a> app.</p>
<p>I was recently getting some servers in shape so I can pass the Payment Card Industry standards questionnaire and one requirement was two-factor authentication access to the server. I queried whether SSH key + passphrase was acceptable but didn&#8217;t get a clear answer so I figured I&#8217;d explore setting up another authentication factor myself, plus it piqued my interest.</p>
<p>After a bit of research I found it was possible using a <a href="http://code.google.com/p/google-authenticator/source/browse/#hg%2Flibpam">PAM module</a> but it doesn&#8217;t work along with SSH key authentication (only password authentication) and I only use SSH key logins for my servers.</p>
<section>
<article>
<div>
<h2>The magic</h2>
<p>I wanted to find the simplest method of implementing this so I started looking at what we can do with SSH itself. There is an option in the <code>authorized_keys</code> file that allows you to run a command when a user authorizes with a particular key eg.</p>
<div>
<div id="highlighter_980338">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>command</code><code>=</code><code>"/usr/bin/my_script"</code> <code>ssh</code><code>-dsa AAA...zzz me@example.com</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>The <code>command="..."</code> part invokes a different command upon key authentication and runs the <code>/usr/bin/my_script</code> instead. Now we&#8217;ve got a starting point to work on the Google Authenticator logic.</p>
<h2>Simple implementation</h2>
<p>I&#8217;ve chosen ruby to implement this simple example but in theory you could use anything you want. This is a naive implementation but it will prove the concept. You&#8217;re going to need the<a href="http://rubygems.org/gems/rotp">rotp</a> library as well for this to work <code>gem install rotp</code>.</p>
<p>We put the following in <code>/usr/bin/two_factor_ssh</code></p>
<div>
<div id="highlighter_686530">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>#!/usr/bin/env ruby</code></div>
<div><code>require </code><code>'rubygems'</code></div>
<div><code>require </code><code>'rotp'</code></div>
<div><code># we'll pass in a secret to this script from the authorized_keys file</code></div>
<div><code>abort </code><code>unless</code> <code>secret = </code><code>ARGV</code><code>[</code><code>0</code><code>]</code></div>
<div><code># prompt the user for their validation code</code></div>
<div><code>STDERR</code><code>.write </code><code>"Enter the validation code: "</code></div>
<div><code>until</code> <code>validation_code = </code><code>STDIN</code><code>.gets.strip</code></div>
<div><code>  </code><code>sleep </code><code>1</code></div>
<div><code>end</code></div>
<div><code># check the validation code is correct</code></div>
<div><code>abort </code><code>"Invalid"</code> <code>unless</code> <code>validation_code == </code><code>ROTP</code><code>::</code><code>TOTP</code><code>.</code><code>new</code><code>(secret).now.to_s</code></div>
<div><code># user has validated so we'll give them their shell</code></div>
<div><code>Kernel.exec </code><code>ENV</code><code>[</code><code>'SSH_ORIGINAL_COMMAND'</code><code>] || </code><code>ENV</code><code>[</code><code>'SHELL'</code><code>]</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>The secret is in <code>Kernel.exec</code> which, upon successful validation, replaces the<code>two_factor_ssh</code> script process with the original command the user was attempting or their default shell so it is a completely seamless experience from that point on.</p>
<h2>Generating the secret</h2>
<p>We need to generate a secret token that is shared between the Google Authenticator app and the server.</p>
<p>Here&#8217;s a little script that will spit out a new token and a link to a QR code that can be scanned into the Google Authenticator application.</p>
<div>
<div id="highlighter_570532">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>#!/usr/bin/env ruby</code></div>
<div><code>require </code><code>'rubygems'</code></div>
<div><code>require </code><code>'rotp'</code></div>
<div><code>secret = </code><code>ROTP</code><code>::Base32.random_base32</code></div>
<div><code>data = </code><code>"<a href="//totp/">otpauth://totp/</a>#{`hostname -s`.strip}?secret=#{secret}"</code></div>
<div><code>url = </code><code>"<a href="https://chart.googleapis.com/chart?chs=200x200&amp;chld=M">https://chart.googleapis.com/chart?chs=200x200&amp;chld=M</a>|0&amp;cht=qr&amp;chl=#{data}"</code></div>
<div><code>puts </code><code>"Your secret key is: #{secret}"</code></div>
<div><code>puts url</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Running this produces:</p>
<div>
<div id="highlighter_636437">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>Your secret key is: 4rr7kc47sc5a2fgt</code></div>
<div><code><a href="https://chart.googleapis.com/chart?chs=200x200&amp;chld=M">https://chart.googleapis.com/chart?chs=200x200&amp;chld=M</a>|0&amp;cht=qr&amp;chl=<a href="//totp/myserver?secret=4rr7kc47sc5a2fgt">otpauth://totp/myserver?secret=4rr7kc47sc5a2fgt</a></code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>We can scan the QR code directly into Google Authenticator and then update our<code>authorized_keys</code> file as follows:</p>
<div>
<div id="highlighter_983753">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>command</code><code>=</code><code>"/usr/bin/two_factor_ssh 4rr7kc47sc5a2fgt"</code> <code>ssh</code><code>-dsa AAA...zzz me@example.com</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>That should do it!</p>
<h2>Testing it out</h2>
<div>
<div id="highlighter_922442">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<div>
<div><code>[richard@mbp ~]$ </code><code>ssh</code> <code>moocode@myserver</code></div>
<div><code>Enter the validation code: wrong</code></div>
<div><code>Invalid</code></div>
<div><code>Connection to myserver closed.</code></div>
<div><code>[richard@mbp ~]$</code></div>
<div><code>[richard@mbp ~]$ </code><code>ssh</code> <code>moocode@myserver</code></div>
<div><code>Enter the validation code: 410353</code></div>
<div><code>moocode@myserver:~$</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Great, that seems to work as expected.</p>
<h2>Wrapping up</h2>
<p>I&#8217;ve got a slightly <a href="http://bit.ly/qWP2Ns">more involved example</a> that adds in support for &#8216;remember me&#8217; by IP address for a fixed period of time so you don&#8217;t have to reach for the phone on every single login from the same IP.</p>
<p>The extended example also does some primitive logging but I&#8217;d like to add in a better auditing system (another PCI compliance requirement) as this would allow us to know which key is used to log into the server and whether they validated.</p>
<p>We should also probably have a fallback mechanism (a master key or 5 one-time codes like Google does) so we don&#8217;t inadvertently lock ourselves out of the server.</p>
<p>Article:<a href="https://moocode.com/posts/5-simple-two-factor-ssh-authentication"> moocode.com</a></p>
</div>
</article>
</section>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2011/09/23/simple-two-factor-ssh-authentication/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>MrNovell is back!</title>
		<link>https://mrnovell.wordpress.com/2011/09/23/mrnovell-is-back/</link>
					<comments>https://mrnovell.wordpress.com/2011/09/23/mrnovell-is-back/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Fri, 23 Sep 2011 00:48:43 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=124</guid>

					<description><![CDATA[Hey All, I know it&#8217;s been long while since I posted but I have a lot of new ideas that I want to post about and I&#8217;ll give an update of what I been up to the past year or so. Stay Tuned!]]></description>
										<content:encoded><![CDATA[<p>Hey All,</p>
<p>I know it&#8217;s been long while since I posted but I have a lot of new ideas that I want to post about and I&#8217;ll give an update of what I been up to the past year or so. </p>
<p>Stay Tuned!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2011/09/23/mrnovell-is-back/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>Display Disk I/O</title>
		<link>https://mrnovell.wordpress.com/2010/12/02/display-disk-io/</link>
					<comments>https://mrnovell.wordpress.com/2010/12/02/display-disk-io/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Thu, 02 Dec 2010 23:06:56 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=118</guid>

					<description><![CDATA[Would you like to know the disk I/O of the processes on your system? Give iotop a try. &#160; &#160; &#160;]]></description>
										<content:encoded><![CDATA[<p>Would you like to know the disk I/O of the processes on your system?</p>
<p>Give iotop a try.</p>
<p>&nbsp;<br />
<img src="https://i0.wp.com/www.letslearnlinux.com/suseblog/2010-08-11/iotop.png" alt="iotop screen shot" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2010/12/02/display-disk-io/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>

		<media:content url="http://www.letslearnlinux.com/suseblog/2010-08-11/iotop.png" medium="image">
			<media:title type="html">iotop screen shot</media:title>
		</media:content>
	</item>
		<item>
		<title>SSH Access &#8211; Prevent password guessing</title>
		<link>https://mrnovell.wordpress.com/2010/07/27/ssh-access-prevent-password-guessing/</link>
					<comments>https://mrnovell.wordpress.com/2010/07/27/ssh-access-prevent-password-guessing/#comments</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Tue, 27 Jul 2010 19:28:04 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=111</guid>

					<description><![CDATA[The Risk In my case, I want outside SSH access to my server with minimal risk. What is that risk? Password guessing by script kiddies. Many young hax0rs run a few scripts every night that randomly try thousands of different passwords on machines that are accessible over SSH. The moment your machine is reachable on [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>The Risk</strong><br />
In my case, I want outside SSH access to my server with minimal risk. What is that risk? Password guessing by script kiddies. Many young hax0rs run a few scripts every night that randomly try thousands of different passwords on machines that are accessible over SSH.</p>
<p>The moment your machine is reachable on port 22, these scripts find you and your logs fill up with lines like these:</p>
<blockquote><p>
Dec 22 04:25:54 asterix sshd[19886]: reverse mapping checking getaddrinfo for 59.163.108.38.static-chennai.vsnl.net.in [59.163.108.38] failed &#8211; POSSIBLE BREAK-IN ATTEMPT!<br />
Dec 22 04:25:54 asterix sshd[19886]: Failed password for root from 59.163.108.38 port 52523 ssh2<br />
Dec 22 04:31:18 asterix sshd[19892]: Failed password for root from 120.105.81.155 port 55401 ssh2<br />
Dec 22 04:31:58 asterix sshd[19918]: Invalid user oracle from 120.105.81.155<br />
Dec 22 04:31:58 asterix sshd[19918]: Failed password for invalid user oracle from 120.105.81.155 port 58104 ssh2</p></blockquote>
<p>If you have a strong root password, you are probably reasonably secure, however in time someone might get in. That is your risk, right there.</p>
<p><strong>The Solution</strong><br />
So how do you stop it? Since you are running Linux, very easily, if you enter the following two iptables commands as root:</p>
<blockquote><p>
# iptables -A INPUT -i eth0 -p tcp &#8211;dport 22 -m state &#8211;state NEW -m recent &#8211;set &#8211;name SSH<br />
# iptables -A INPUT -i eth0 -p tcp &#8211;dport 22 -m state &#8211;state NEW -m recent &#8211;update &#8211;seconds 120 &#8211;hitcount 4 &#8211;rttl &#8211;name SSH -j DROP</p></blockquote>
<p>(You might need to change the &#8216;eth0&#8217; part into your external interface, likely eth1 or ppp0 or similar. )<br />
What does this do? Whenever someone connects to your machines more than 3 times in two minutes, they are blocked for two minutes. This will effectively stop all password guessing scripts; they usually cannot handle this and crash or hang.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2010/07/27/ssh-access-prevent-password-guessing/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>Subversion and Snow Leopard</title>
		<link>https://mrnovell.wordpress.com/2009/12/09/subversion-and-snow-leopard/</link>
					<comments>https://mrnovell.wordpress.com/2009/12/09/subversion-and-snow-leopard/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Wed, 09 Dec 2009 02:14:30 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[snowleopard svn]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=105</guid>

					<description><![CDATA[Along with so many others, I upgraded to Snow Leopard. Overall the upgrade went without a hitch. However, I noticed that my Subversion repository was no longer available from Subclipse or via the Web Browser. Not good. So I did some digging around and upon finding this article from Patrick Rice http://patrick-rice.net/daybook/2009/09/20/subversion-snow-leopard-etc/ I was up [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<div>
<p>Along with so many others, I upgraded to Snow Leopard. Overall the upgrade went without a hitch. However, I noticed that my Subversion repository was no longer available from Subclipse or via the Web Browser. Not good.</p>
<p>So I did some digging around and upon finding this article from Patrick Rice <a href="http://patrick-rice.net/daybook/2009/09/20/subversion-snow-leopard-etc/">http://patrick-rice.net/daybook/2009/09/20/subversion-snow-leopard-etc/</a> I was up and working again in a few minutes.</p>
<p>Apparently with the Snow Leopard upgrade, the Apache <code>mod_dav_svn</code> configuration was removed from <code>/etc/apache2/other/svn.conf</code>.  Patrick references the following article.  It’s extremely educational and informative:  <a href="../2007/11/17/how-to-manage-your-own-subversion-repository-in-leopard/">How To: Manage Your Own Subversion Repository In Leopard</a>.  The details still apply in Snow Leopard, as well.</p>
<p>Following these articles I just created a new <code>/etc/apache2/other/svn.conf</code>.</p>
<pre>LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so

&lt;Location /svn&gt;
    DAV svn

    SVNParentPath /Users/Shared/svn

    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/apache2/svn-auth-file
    Require valid-user
&lt;/Location&gt;</pre>
<p>Restart the Apache server (via Sharing in the System Preferences application).  And you should have your repository back.</p>
<p>Snipts from: <a href="http://codethought.com/blog/?p=211" target="_blank">CodeThought</a></p>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2009/12/09/subversion-and-snow-leopard/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Chrome on OpenSuSE 11.2</title>
		<link>https://mrnovell.wordpress.com/2009/12/02/google-chrome-on-opensuse-11-2/</link>
					<comments>https://mrnovell.wordpress.com/2009/12/02/google-chrome-on-opensuse-11-2/#respond</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Wed, 02 Dec 2009 01:21:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[opensuse google]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/2009/12/02/google-chrome-on-opensuse-11-2/</guid>

					<description><![CDATA[Google has released official builds of Google Chrome for Linux and Mac OS X Here is how you install this puppy on openSUSE 11.2 zypper ar -t YUM http://dl.google.com/linux/rp zypper in google-chrome-unstable]]></description>
										<content:encoded><![CDATA[<p>Google has released official builds of Google Chrome for Linux and Mac OS X<br />
Here is how you install this puppy on openSUSE 11.2</p>
<p>zypper ar -t YUM <a href="http://dl.google.com/linux/rp" rel="nofollow">http://dl.google.com/linux/rp</a></p>
<p>zypper in google-chrome-unstable</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2009/12/02/google-chrome-on-opensuse-11-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenSUSE Linux: Creating Self-Signed SSL Certificates</title>
		<link>https://mrnovell.wordpress.com/2009/06/18/opensuse-linux-creating-self-signed-ssl-certificates/</link>
					<comments>https://mrnovell.wordpress.com/2009/06/18/opensuse-linux-creating-self-signed-ssl-certificates/#comments</comments>
		
		<dc:creator><![CDATA[bscott]]></dc:creator>
		<pubDate>Thu, 18 Jun 2009 17:13:41 +0000</pubDate>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux/OSS]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[OpenSuSE]]></category>
		<guid isPermaLink="false">http://mrnovell.wordpress.com/?p=101</guid>

					<description><![CDATA[Overview At some point or another, you’ll likely end up needing an SSL certificate for a Web site somewhere along the line. For a commercial site, your hosting provider can or will help you get this all squared away. This article is not for people in that situation. What we’re doing here will be to [&#8230;]]]></description>
										<content:encoded><![CDATA[<div style="font-size:15px;font-weight:900;">Overview</div>
<p>At some point or another, you’ll likely end up needing an SSL certificate for a Web site somewhere along the line. For a commercial site, your hosting provider can or will help you get this all squared away. This article is not for people in that situation.</p>
<p>What we’re doing here will be to create our own Certificate Authority. Then, we’ll create our own server key and a signing request. Then, we’ll sign our own certificate using the key and certificate from our own Certificate Authority. In other words, we’re not just going to create an SSL certificate, but we’re going to sign that bad boy, too.</p>
<p>This is useful for personal websites that need a little security, or when you’re waiting for your real cert from a real Certificate Authority. Perhaps you need it for transmitting data from an external server to your Intranet. Or perhaps you need it in any of the three hundred thousand seven hundred forty-two other situations that may arise.</p>
<p><span id="more-101"></span></p>
<div style="font-size:15px;font-weight:900;">Certificate Authority</div>
<p>The first thing that you’ll need is root access to the server.  SSH in and head somewhere secure like <span>/root</span>.</p>
<p>Next, we’ll go ahead and generate our own Certificate Authority key. In this step, we are impersonating someone like Verisign or Thawte. Well, not impersonating, but we are going to do the same thing for ourselves that they would normally do.</p>
<p>To create our key, we’ll run this command:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl genrsa -des3 -out ca.key 4096</pre>
<p>When we do that, it looks something like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1257][root@mail:~/cert]$ openssl genrsa -des3 -out ca.key 4096
Generating RSA private key, 4096 bit long modulus
...............................................................................................................................++
.................................................++
e is 65537 (0x10001)
Enter pass phrase for ca.key: <span style="color:#00ff00;">[enter a pass phrase here for the CA key]</span>
Verifying - Enter pass phrase for ca.key: <span style="color:#00ff00;">[verify the same pass phrase here]</span>
[1258][root@mail:~/cert]$</pre>
<p>Note that those pass phrases are something you make up right then. You are not authenticating anything, but rather setting up a pass phrase for authenticating later.</p>
<p>Next, we’ll need to use that key to create a certificate.  Before we do this, the information that you will enter here is <em><strong>NOT</strong></em> the information you will enter later for your own server. Remember, we are emulating a Certificate Authority here. When we generate our server certificate, we will put in the real information which must differ from what is here. With that, let’s whip out the certificate. Notice that we are making it good for 3650 days, or 10 years. Adjust to your taste. So let’s make the cert, now. This is done with the following command:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl req -new -x509 -days 3650 -key ca.key -out ca.crt</pre>
<p>And doing this may resemble something like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1306][root@mail:~/cert]$ openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
Enter pass phrase for ca.key: <span style="color:#00ff00;">[enter the CA pass phrase from above here]</span>
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:WA
Locality Name (eg, city) []:Redmond
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Microsoft Corporation
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.microsoft.com
Email Address []:bill.gates@microsoft.com
[1307][root@mail:~/cert]$</pre>
<div style="font-size:15px;font-weight:900;">Our Server Key and CSR</div>
<p>Next up on the list is to create a key that corresponds to our server. The first one we made was for the Certificate Authority. This one will be generated by and for our own server. We will do that with this command:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl genrsa -des3 -out server.key 4096</pre>
<p>The output should look familiar:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1310][root@mail:~/cert]$ openssl genrsa -des3 -out server.key 4096
Generating RSA private key, 4096 bit long modulus
................................++
....++
e is 65537 (0x10001)
Enter pass phrase for server.key: <span style="color:#00ff00;">[enter a pass phrase here for our server key]</span>
Verifying - Enter pass phrase for server.key: <span style="color:#00ff00;">[verify the same pass phrase here]</span>
[1313][root@mail:~/cert]$</pre>
<p>Again, those pass phrases are something you make up right then. You are not authenticating anything, but rather setting up a pass phrase for authenticating later.</p>
<p>Now… let’s see… oh yeah. Now, we have to create a signing request, or CSR, from the server key we just made. This signing request will usually make a trip to a genuine Certificate Authority to have the key signed and a real, verified, bonafide signed certificate returned back to us. So, to generate our signed certificate, we’ll need to first have a signing request so we can make the signed cert. See how that works?</p>
<p>To create the CSR, we do this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl req -new -key server.key -out server.csr</pre>
<p>Now remember, kids. This is the part where we do put in our actual real information because the server does in fact belong to us. Put in the real domain where it says “Common Name (eg, YOUR name) []:”. Fill out everything correctly. And so we do:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1313][root@mail:~/cert]$ openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: <span style="color:#00ff00;">[enter the pass phrase here for our server key from above]</span>
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:UT
Locality Name (eg, city) []:Eagle Mountain
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Suse Blog
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.suseblog.com
Email Address []:my-address@suseblog.com <span style="color:#00ff00;">[put in your real email address here]</span>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[1323][root@mail:~/cert]$</pre>
<div style="font-size:15px;font-weight:900;">Sign the Certificate</div>
<p>Now, we are going to take all these files and make them do some voodoo. We are going to sign the signing request using the Certificate Authority certificate and key that we made at the beginning. What we will get is our perfectly forged signed certificate. OK, not perfectly, because we are not a real CA. But we’ll get a pretty darn good signed cert that will work for us rather nicely.</p>
<p>The command we’re going to run looks like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt</pre>
<p>And when we run it, we see something hopefully resembling this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1326][root@mail:~/cert]$ openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
Signature ok
subject=/C=US/ST=UT/L=Eagle Mountain/O=Suse Blog/CN=www.suseblog.com/emailAddress=my-address@suseblog.com
Getting CA Private Key
Enter pass phrase for ca.key: <span style="color:#00ff00;">[enter the CA pass phrase from above here]</span>
[1332][root@mail:~/cert]$</pre>
<div style="font-size:15px;font-weight:900;">Generate <span>server.key</span> That Won’t Prompt for Password</div>
<p>Now, we have a little problem.  Our <span>server.key</span> file will cause <span>apache2</span> to prompt us for a password every time it starts. We need to fix it so that doesn’t happen. We’ll do that with these three commands:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.key</pre>
<p>When we run these commands, here’s our output:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1354][root@mail:~/cert]$ openssl rsa -in server.key -out server.key.insecure
Enter pass phrase for server.key: <span style="color:#00ff00;">[enter the pass phrase here for our server key from above]</span>
writing RSA key
[1354][root@mail:~/cert]$ mv server.key server.key.secure
[1354][root@mail:~/cert]$ mv server.key.insecure server.key
[1354][root@mail:~/cert]$</pre>
<div style="font-size:15px;font-weight:900;">Placing the Files</div>
<p>At this stage, you should now have a bunch of files.  These, in fact:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1354][root@mail:~/cert]$ ll
total 32
drwxr-xr-x  2 root root 4096 2008-06-02 13:54 .
drwx------ 10 root root 4096 2008-06-02 13:35 ..
-rw-r--r--  1 root root 2529 2008-06-02 13:07 ca.crt <span style="color:#00ff00;">[CA certificate]</span>
-rw-r--r--  1 root root 3311 2008-06-02 12:58 ca.key <span style="color:#00ff00;">[CA key]</span>
-rw-r--r--  1 root root 2049 2008-06-02 13:32 server.crt <span style="color:#00ff00;">[our server certificate]</span>
-rw-r--r--  1 root root 1748 2008-06-02 13:23 server.csr <span style="color:#00ff00;">[our server signing request]</span>
-rw-r--r--  1 root root 3243 2008-06-02 13:54 server.key <span style="color:#00ff00;">[our password-less server key]</span>
-rw-r--r--  1 root root 3311 2008-06-02 13:13 server.key.secure <span style="color:#00ff00;">[our passworded server key]</span>
[1355][root@mail:~/cert]$</pre>
<p>Just having them doesn’t get us anywhere, so let’s get them installed. First, we are going to change some permissions, because we don’t want just anyone having access to these files. To apply the appropriate permissions, run this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">chmod 0600 server.key.secure server.key server.csr server.crt</pre>
<p>Now, here’s where things depend on the distribution that you are using. I will describe what I am doing so that if you are not on OpenSUSE, you will still be able to get this working.</p>
<p>In OpenSUSE, the <span>apache2</span> config directory is located at <span>/etc/apache2</span>.  Underneath that, there are a handful of directories.  The three we care about are <span>/etc/apache2/ssl.crt</span>, <span>/etc/apache2/ssl.csr</span>, and <span>/etc/apache2/ssl.key</span>.  The <span>server.crt</span> needs to be moved to <span>/etc/apache2/ssl.crt</span>.  The <span>server.csr</span> file needs to be moved to <span>/etc/apache2/ssl.csr</span>.  And the <span>server.key</span> file needs to be moved to <span>/etc/apache2/ssl.key</span>:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1348][root@mail:~/cert]$ mv server.key /etc/apache2/ssl.key/server.key
[1349][root@mail:~/cert]$ mv server.crt /etc/apache2/ssl.crt/server.crt
[1349][root@mail:~/cert]$ mv server.csr /etc/apache2/ssl.csr/server.csr
[1349][root@mail:~/cert]$</pre>
<p>Yep, pretty complex stuff, moving files.</p>
<p>Now, we need to make a handful more edits to some files, and we’re just about there.</p>
<div style="font-size:15px;font-weight:900;">System Configuration</div>
<p>First thing is to edit <span>/etc/sysconfig/apache2</span>. Search through that file for the directive called APACHE_MODULES. Make sure you see ’ssl’ in there. If not, add it. Then, search through the file and find APACHE_SERVER_FLAGS. Make sure it has ‘SSL’ in it. If not, add it. Save and close the file.</p>
<p>You can also manage apache’s modules with the ‘a2enmod’ command.  To view the list of loaded modules, run ‘a2enmod -l’.</p>
<p>Next, open up the config file that tells <span>apache2</span> which ports to listen on.  In OpenSUSE, this file is <span>/etc/apache2/listen.conf</span>.  Rip that bad boy open.  You will see the following line:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">Listen 80</pre>
<p>Add a new line for port 443, our HTTPS port, so that it looks like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">Listen 80
Listen 443</pre>
<p>Then, look for the following line:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">NameVirtualHost *:80</pre>
<p>Add a new line for port 443, our HTTPS port, so that it looks like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">NameVirtualHost *:80
NameVirtualHost *:443</pre>
<p>Save and quit.</p>
<div style="font-size:15px;font-weight:900;">Virtual Host Configuration</div>
<p>In OpenSUSE, it’s really easy to have virtual hosts on a machine.  I have like 10 on mine.  One of them is my blog, <a title="OpenSUSE Linux Rants" href="http://www.suseblog.com/" target="_blank">www.suseblog.com</a>.  Well, to make this easy, in OpenSUSE, the virtual domain configuration files are located in <span>/etc/apache2/vhosts.d</span>, each with their own name.  My <a title="OpenSUSE Linux Rants" href="http://www.suseblog.com/" target="_blank">www.suseblog.com</a> configuration file is called <span>suseblog.conf</span>.  To set up SSL for this virtual host, just duplicate the file and give it another name.  In my case, I named it <span>ssl-suseblog.conf</span>.</p>
<p>Now, we’re going to open up that file and add like 4 lines to it.  No sweat.</p>
<p>At the top of the file, there is a line that looks like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">&lt;VirtualHost *:80&gt;</pre>
<p>Change the port from 80 to 443, so it looks like this:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">&lt;VirtualHost *:443&gt;</pre>
<p>Then, go down a ways and add these lines:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:black;font-size:12px;background-color:#eeeeee;margin:0;padding:1em;">SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key</pre>
<p>Save and quit on that one, too.</p>
<div style="font-size:15px;font-weight:900;">Configure Firewall</div>
<p>We can configure this thing perfectly, but if the firewall doesn’t know to let traffic through, we will not have HTTPS access to the server. Let’s check the firewall really quick to make sure.</p>
<p>Fire up YAST. Go to the Security &amp; Users option on the right, and select FIREWALL from the left. If you do not have a firewall running on the machine, you can just exit now. If you do, you will need to go to ALLOWED SERVICES. In the SERVICES TO ALLOW drop-down on the right, select HTTPS Server. Then click ADD. Then click NEXT, and finally FINISH. You should now have port 443 opened for HTTPS business.</p>
<p>Now, let’s go ahead and restart apache and enjoy our new self-signed self-generated SSL cert on our HTTPS service:</p>
<pre style="border:1px solid black;overflow:auto;font-family:courier;width:95%;color:white;font-size:12px;background-color:black;margin:0;padding:1em;">[1426][root@mail:/etc/apache2]$ /etc/init.d/apache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate)          done
Starting httpd2 (prefork)                                             done
[1427][root@mail:/etc/apache2]$</pre>
<div style="font-size:15px;font-weight:900;">Conclusion</div>
<p>Well, we’ve concluded.  Enjoy.</p>
<p><a href="http://httpd.apache.org/docs/2.0/mod/mod_ssl.html" target="_blank">More info on the mod_ssl page</a></p>
<p>Article By: <a title="SuSEBlog" href="http://www.suseblog.com/opensuse-linux-103-signing-self-generated-ssl-certificates-as-your-own-certificate-authority" target="_blank">SuseBlog</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://mrnovell.wordpress.com/2009/06/18/opensuse-linux-creating-self-signed-ssl-certificates/feed/</wfw:commentRss>
			<slash:comments>31</slash:comments>
		
		
		
		<media:content url="https://2.gravatar.com/avatar/816bad05e1dbd21e6a7683d11a4229eae7203726a1dc235eae46bdb51c4ec052?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Mr.Novell</media:title>
		</media:content>
	</item>
	</channel>
</rss>
