<?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>Sascha Tayefeh&#039;s Homepage &#187; Security</title>
	<atom:link href="http://www.tayefeh.de/tag/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tayefeh.de</link>
	<description>Blogging about Information Technology</description>
	<lastBuildDate>Sun, 25 Jul 2010 17:16:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
			<div id="jquery_pagebar">
		
			<div id="pages">  <span id="number"> Navigation</span> <a href="http://www.tayefeh.de/tag/security/feed/page/2/" title="Older Entries" >&raquo;</a></div>
			<div id="slider"></div>
		</div>
		
			<item>
		<title>OAuth and Spring Security</title>
		<link>http://www.tayefeh.de/2010/07/oauth-and-spring-security/</link>
		<comments>http://www.tayefeh.de/2010/07/oauth-and-spring-security/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 13:56:58 +0000</pubDate>
		<dc:creator>Sascha Tayefeh</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[spring framework]]></category>
		<category><![CDATA[spring security]]></category>

		<guid isPermaLink="false">http://www.tayefeh.de/?p=657</guid>
		<description><![CDATA[Some hints on how to use Spring Security for securing RESTful webservices and AJAX communication between server and client.]]></description>
			<content:encoded><![CDATA[<p>While  <a href="http://www.springsource.org/" target="_blank">Spring Framework</a> &#8211; and in particular <a href="http://static.springsource.org/spring-security/site/index.html" target="_blank">Spring Security</a> &#8211; provides many ways to deal with authentication and authorization, there are some new approaches that are becoming increasingly popular. As in most cases, the requirements of the cloud along with that of <a href="http://en.wikipedia.org/wiki/Multitenancy" target="_blank">mulitenant applications</a> have been the driving force of this evolution.</p>
<p>For example, while <a href="http://en.wikipedia.org/wiki/Transport_Layer_Security" target="_blank">SSL</a> is definitely a secure layer, many (if not most) home grown applications simply do not want to pay for a signed certificate (even less in face of the fact that such a certificate is mostly restricted to a single domain) and, thus, simply do not use <a href="http://en.wikipedia.org/wiki/Transport_Layer_Security" target="_blank">SSL</a>. Of course, this is worst, but still common practice.</p>
<p>Also, <a href="http://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank">basic authentification</a> is, presumingly with respect to its simplicity, still widespread. However, basic authentification in combination with a non-secure transport layer is a security black hole.</p>
<p>And finally, with <a href="http://en.wikipedia.org/wiki/Software_as_a_service" target="_blank">SaaS</a> rising,  comfortable <a href="http://en.wikipedia.org/wiki/Single_sign-on" target="_blank">single sign-on</a> in a multitenant environment must be considered in modern software design. Latter issue, cloud based single sign-on, is supported by the <a href="http://static.springsource.org/spring-security/site/index.html" target="_blank">Spring Security</a> (see <a href="http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ns-config.html#ns-openid" target="_blank">ref. manual</a>).</p>
<p>There are some more requirements emerging from the evolving cloud: for example,  RESTful web services as part of asynchronous data transfer need to be secured on user level. While such scenarios can definitely be realized with the <a href="http://static.springframework.org/spring-security/site/">Spring Security</a>, it definitely focuses on securing classic synchronous data transfer and flows (for instance, I would rather <em>not</em> choose <a href="http://www.springsource.org/go-webflow2" target="_blank">Spring Web Flow</a> to implement the flow of an highly AJAXian web application). In order to implement flows based on highly asynchronous communication between the client and server, there is definitely some  hacking to do (see e.g. <a href="http://grzegorzborkowski.blogspot.com/2008/10/spring-security-acl-very-basic-tutorial.html" target="_blank">this tutorial</a>).</p>
<p>However, the most important issue in times of millions of home grown smartphone apps is sharing credentials with such a client. Using same password over and over again, because you cannot remember millions of different passwords? Of course, this is worst, but still common practice. Now, what if your credentials are misused by your app? Wouldn&#8217;t it be much better, if you would not share your credentials with the client at all?</p>
<p><a href="http://oauth.net/" target="_blank">OAuth</a> is an open protocol to allow secure API authorization in a simple  and standard method from desktop and web applications. It has been developed with most of the issues that emerged from cloud-based authentification and authorizastion in mind. Furthermore, it is being used  by global players like <a href="http://digg.com/" target="_blank">Digg</a>, <a href="http://www.jaiku.com/" target="_blank">Jaiku</a>, <a href="http://www.flickr.com/" target="_blank">Flickr</a>, <a href="http://www.twitter.com/" target="_blank">Twitter</a>, and developers of <a href="http://oauth.net/" target="_blank">OAuth</a> are hopeful to see <a href="http://www.google.com/" target="_blank">Google</a>, <a href="http://www.yahoo.com/" target="_blank">Yahoo</a>, and others soon to follow. With so many heavy weight service providers relying on OAuth, it may definitely be considered as quasi standard. Unfortunately, <a href="http://static.springframework.org/spring-security/site/">Spring Security</a> is not (yet) shipped with out-of-the-box support of <a href="http://oauth.net/" target="_blank">OAuth</a>, although I am pretty sure that the extremely capable Springsource team will deliver Spring with OAuth support as soon as possible.</p>
<p>For those who cannot (and should not) wait, a promising approach is described in <a href="http://spring-security-oauth.codehaus.org/" target="_blank">OAuth for Spring Security</a>. The purpose of this project is to provide an <a href="http://oauth.net/" target="_blank">OAuth</a> implementation for <a href="http://static.springframework.org/spring-security/site/" target="_blank">Spring Security</a>. I have tested their implementation, and hereby I strongly recommend their approach. For me, the most striking advantage of this design is the combined power of both, OAuth and Spring Security. While you still have the comfort of Spring and its AOP framework, you have implemented the security of OAuth.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tayefeh.de/2010/07/oauth-and-spring-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preventing SSH Brute Force Attacks</title>
		<link>http://www.tayefeh.de/2009/12/preventing-ssh-brute-force-attacks/</link>
		<comments>http://www.tayefeh.de/2009/12/preventing-ssh-brute-force-attacks/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 15:04:58 +0000</pubDate>
		<dc:creator>Sascha Tayefeh</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.tayefeh.de/?p=414</guid>
		<description><![CDATA[A short note on how to block brute force ssh attacks]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for a way to prevent ssh brute force attacks. Although they are not particularly dangerous if you have prohibited password login (which you should have done under any circumstances), they had been spamming my log files. Asking the almighty search engine for relief, I found a number of interesting articles about attack blocker, such as <a title="DenyHost" href="http://denyhosts.sourceforge.net/" target="_blank">DenyHost</a>.</p>
<p>I&#8217;ve just installed the package on my private OsX server via <a title="MacPorts" href="http://www.macports.org/" target="_blank">MacPorts</a>. However, it took me a while until I found the installation location of all required files. After having touched <code>/etc/hosts.deny</code> (the file used by denyhosts to store suspicious ips for tcp_wrappers to block them), copied <code>/opt/local/share/denyhosts/denyhosts.cfg-dist</code> to somewhere reasonable (e.g. <code>/etc/denyhosts.cfg</code>), modified it to my needs (added E-Mail etc.), I was able to test start <a title="DenyHost" href="http://denyhosts.sourceforge.net/" target="_blank">DenyHost</a> with:</p>
<p><code>sudo /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/denyhosts.py --config=/etc/denyhosts.cfg</code></p>
<p>I&#8217;ve got a nice email telling me that, deducing from my  <code>/var/log/secure.log</code> some IPs were now added to  <code>hosts.deny</code>. Furthermore, some interesting data have been stored in <code>/opt/local/share/denyhosts/data</code>.</p>
<p>However, I prefer <a title="DenyHost" href="http://denyhosts.sourceforge.net/" target="_blank">DenyHost</a> to be running in daemon mode and to synchronize with data collected from the cloud, so I inserted  <code>SYNC_SERVER = http://xmlrpc.denyhosts.net:9911</code> into <code>denyhosts.cfg</code> and started <a title="DenyHost" href="http://denyhosts.sourceforge.net/" target="_blank">DenyHost</a> with some additional options:</p>
<p><code>sudo /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/denyhosts.py --config=/etc/denyhosts.cfg --sync --daemon</code></p>
<p>And now I feel much more comfortable now.</p>
<p>Related Links:</p>
<ul>
<li><a href="http://www.howtoforge.com/preventing_ssh_dictionary_attacks_with_denyhosts" target="_blank">Preventing SSH Dictionary Attacks With DenyHosts</a></li>
<li><a href="http://denyhosts.sourceforge.net/" target="_blank">Denyhost</a></li>
<li><a href="http://www.cyberciti.biz/faq/block-ssh-attacks-with-denyhosts/" target="_blank">Debian Linux Stop SSH User Hacking / Cracking Attacks with DenyHosts Software</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.tayefeh.de/2009/12/preventing-ssh-brute-force-attacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Security Essentials: Free AntiVirus and AntiSpyware Software by Microsoft</title>
		<link>http://www.tayefeh.de/2009/11/microsoft-security-essentials-free-antivirus-and-antispyware-software-by-microsoft/</link>
		<comments>http://www.tayefeh.de/2009/11/microsoft-security-essentials-free-antivirus-and-antispyware-software-by-microsoft/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 20:38:44 +0000</pubDate>
		<dc:creator>Sascha Tayefeh</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Anti-Spyware]]></category>
		<category><![CDATA[Anti-Virus]]></category>
		<category><![CDATA[Antivirus]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Spyware]]></category>
		<category><![CDATA[Virus]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.tayefeh.de/2009/11/microsoft-security-essentials-free-antivirus-and-antispyware-software-by-microsoft/</guid>
		<description><![CDATA[Finally, Microsoft has released a free Antivirus and Antispyware Suite. It is running on my notebook with Windows Vista and I am quite confident. Actually, it has replaced the Security Suite I had been using until now. The Suite can be downloaded for free at: http://www.microsoft.com/Security_Essentials/ BTW, I just learned, that installing Windows Security Essentials [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, Microsoft has released a free Antivirus and Antispyware Suite. It is running on my notebook with Windows Vista and I am quite confident. Actually, it has replaced the Security Suite I had been using until now.</p>
<p>The Suite can be downloaded for free at:</p>
<p><a title="http://www.microsoft.com/Security_Essentials/" href="http://www.microsoft.com/Security_Essentials/">http://www.microsoft.com/Security_Essentials/</a></p>
<p>BTW, I just learned, that installing Windows Security Essentials will either disable (Vista/Win7) or remove (XP) Windows Defender. Defender is no longer required, because it is being replaced by WSE. However, you really should check if Defender is really disabled/removed. If not, do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tayefeh.de/2009/11/microsoft-security-essentials-free-antivirus-and-antispyware-software-by-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Batch Decrypt With GNU GPG</title>
		<link>http://www.tayefeh.de/2009/06/how-to-batch-decrypt-with-gnu-gpg/</link>
		<comments>http://www.tayefeh.de/2009/06/how-to-batch-decrypt-with-gnu-gpg/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 17:24:36 +0000</pubDate>
		<dc:creator>Sascha Tayefeh</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[gnupg]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[PGP]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.tayefeh.de/?p=318</guid>
		<description><![CDATA[Multiple files decrypting with windows command line]]></description>
			<content:encoded><![CDATA[<p>Batch decrypting multiple files using a wildcard is as simple as:</p>
<p><code>echo thisismypassphrase|gpg --passphrase-fd 0 --decrypt-files *.gpg</code></p>
<p>And mind the lack of spaces right and left of the pipe <img src='http://www.tayefeh.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley colorbox-318' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.tayefeh.de/2009/06/how-to-batch-decrypt-with-gnu-gpg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create PDF/A Documents using the free PDF-Creator</title>
		<link>http://www.tayefeh.de/2009/04/how-to-create-pdfa-documents-using-the-free-pdf-creator/</link>
		<comments>http://www.tayefeh.de/2009/04/how-to-create-pdfa-documents-using-the-free-pdf-creator/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 10:19:21 +0000</pubDate>
		<dc:creator>Sascha Tayefeh</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[ghostscript]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[PDF/A]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.tayefeh.de/?p=274</guid>
		<description><![CDATA[Some instructions that describe how to create PDF/A documents meant for long-term archiving of electronic documents.]]></description>
			<content:encoded><![CDATA[<p>Creating <a onclick="window.open('http://www.wikipedia.org/wiki/Pdf','','');return false;" href="http://www.wikipedia.org/wiki/Pdf">PDF </a>documents is quite easy. For instance, <a onclick="window.open('http://en.wikipedia.org/wiki/OpenOffice.org','','');return false;" href="http://en.wikipedia.org/wiki/OpenOffice.org">Open Office</a> is capable of exporting PDF while <a onclick="window.open('http://www.wikipedia.org/wiki/Adobe_Acrobat','','');return false;" href="http://www.wikipedia.org/wiki/Adobe_Acrobat">Adobe<sup>®</sup> Acrobate</a>, which is a professional solution by <a onclick="window.open('http://www.wikipedia.org/wiki/Adobe_Systems','','');return false;" href="http://www.wikipedia.org/wiki/Adobe_Systems">Adobe<sup>®</sup> Systems</a>, offers a wide range of additional features. One of the most powerful features is creation of <a onclick="window.open('http://www.wikipedia.org/wiki/PDF/A','','');return false;" href="http://www.wikipedia.org/wiki/PDF/A">PDF/A </a>documents.  This special format creates PDFs which is meant for long-term archiving.</p>
<p>However, there is a very useful free open-source tool called <a onclick="window.open('http://www.pdfforge.org/','','');return false;" href="http://www.pdfforge.org/">PDFCreator </a>which is also capable of creating <a onclick="window.open('http://www.wikipedia.org/wiki/PDF/A','','');return false;" href="http://www.wikipedia.org/wiki/PDF/A">PDF/A</a> documents.  You only need to download <a onclick="window.open('http://www.pdfforge.org/','','');return false;" href="http://www.pdfforge.org/">PDFCreator </a>and follow these instructions:</p>
<ul>
<li>Print any document from any application you like</li>
<li>As the printer, choose PDFCreator</li>
<li>Click on &#8220;O.K.&#8221; or &#8220;Print&#8221; or whatever</li>
<li>A dialog pops up. Click on &#8220;Properties&#8221;</li>
<li>To the left, click on &#8220;Program&#8221; (if not already chosen)</li>
<li>Click on &#8220;Ghostscript&#8221; (which is actually the engine that creates PDFs)</li>
<li>Copy and paste the following line into the upper text box (&#8220;Additional Ghostscript Parameters&#8221;):
<p><code>-dPDFA|-f|&lt;gslib&gt;</code></p>
<p><br class="spacer_" /></p>
</li>
<li>Click on &#8220;Save&#8221; and again on &#8220;Save&#8221;</li>
</ul>
<p>You are done. A <a onclick="window.open('http://www.wikipedia.org/wiki/PDF/A','','');return false;" href="http://www.wikipedia.org/wiki/PDF/A">PDF/A</a> document is created. You may want to check this. If you have e.g. <a onclick="window.open('http://www.adobe.com/products/reader/','','');return false;" href="http://www.adobe.com/products/reader/">Adobe<sup>®</sup> Acrobate Reader</a> installed, all you need to do is to open the just created PDF and have a look at small bar to the very left. You should see a small icon which reads &#8220;PDF&#8221; at its top left and shows the letter &#8220;i&#8221; at its bottom right. This indicates that there are additional information available. Click on that icon. You should see &#8220;Conformance. Standard: PDF/A-1B. ISO Name: ISO 19005-1&#8243;. If so, you document is actually a <a onclick="window.open('http://www.wikipedia.org/wiki/PDF/A','','');return false;" href="http://www.wikipedia.org/wiki/PDF/A">PDF/A</a> one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tayefeh.de/2009/04/how-to-create-pdfa-documents-using-the-free-pdf-creator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
