<?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:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>G-Loaded Journal &#187; Computers</title>
	<atom:link href="http://www.g-loaded.eu/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.g-loaded.eu</link>
	<description>An open-source software and technology related journal</description>
	<lastBuildDate>Fri, 11 May 2012 13:37:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
		<item>
		<title>gzip and deflate compression support by web browsers</title>
		<link>http://www.g-loaded.eu/2012/04/30/gzip-and-deflate-compression-support-by-web-browsers/</link>
		<comments>http://www.g-loaded.eu/2012/04/30/gzip-and-deflate-compression-support-by-web-browsers/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 03:42:54 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Compression]]></category>
		<category><![CDATA[HTTP]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2650</guid>
		<description><![CDATA[There are several ways to improve the performance of a web site. One of them is HTTP compression. Moreover, compressing the web server responses can save tons of bandwidth without adding any significant amount of extra CPU load on the server. Two of the most common compression algorithms used in HTTP are gzip and deflate. [...]]]></description>
			<content:encoded><![CDATA[<p>There are several ways to improve the performance of a web site. One of them is HTTP compression. Moreover, compressing the web server responses can save tons of bandwidth without adding any significant amount of extra CPU load on the server. Two of the most common compression algorithms used in HTTP are <strong>gzip</strong> and <strong>deflate</strong>. An article containing step-by-step instructions on how to configure Apache to <a href="http://www.g-loaded.eu/2008/05/10/use-mod_deflate-to-compress-web-content-delivered-by-apache/" title="Configure httpd to compress output using mod_deflate">compress web server responses using mod_deflate</a> had been published on G-Loaded a long time ago. This post is about the web browser support for the gzip, deflate and raw deflate compression algorithms. The following page contains the results of several <a href="http://www.vervestudios.co/projects/compression-tests/results">compression tests</a> run by various modern and older web browsers. In case you had been looking for such information, that&#8217;s a good place to start.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2012/04/30/gzip-and-deflate-compression-support-by-web-browsers/">gzip and deflate compression support by web browsers</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2008/05/10/use-mod_deflate-to-compress-web-content-delivered-by-apache/" rel="bookmark">Use mod_deflate to Compress Web Content delivered by Apache</a></li>
<li><a href="http://www.g-loaded.eu/2008/01/24/viceo-backend-for-sane-with-libusb-support/" rel="bookmark">Viceo Backend for SANE with libusb support</a></li>
<li><a href="http://www.g-loaded.eu/2011/03/28/dd-wrt-support-for-wireless-n-routers/" rel="bookmark">DD-WRT support for Wireless N Routers</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2012/04/30/gzip-and-deflate-compression-support-by-web-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Restore original configuration files from RPM packages</title>
		<link>http://www.g-loaded.eu/2012/03/26/restore-original-configuration-files-from-rpm-packages/</link>
		<comments>http://www.g-loaded.eu/2012/03/26/restore-original-configuration-files-from-rpm-packages/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:24:27 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2619</guid>
		<description><![CDATA[By default, when the user installs software through the RPM Package Manager or through YUM, usually, the software&#8217;s configuration files included in the RPM do not replace the existing configuration files on the filesystem, but, if they differ from those that currently exist, they are saved with the rpmnew extension. In case the rpm is [...]]]></description>
			<content:encoded><![CDATA[<p>By default, when the user installs software through the <em>RPM Package Manager</em> or through <em>YUM</em>, usually, the software&#8217;s configuration files included in the RPM do not replace the existing configuration files on the filesystem, but, if they differ from those that currently exist, they are saved with the <em>rpmnew</em> extension. In case the rpm is already installed and is the latest version, the quickest way to get the original configuration file back is to uninstall and install the package again. Today, while on CentOS 6.2, I needed to restore the original <code>/etc/sysctl.conf</code> file, which is part of the <em>initscripts</em> package. In this case, uninstalling initscripts was out of the question as it would also remove half of the installed packages due to dependencies. So, I grabbed the chance to figure out and document what would be the quickest and easiest way to restore <code>/etc/sysctl.conf</code>, excluding downloading the package itself and <a href="http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/" title="How to extract the files contained in an RPM package">extract the RPM contents</a>. Fortunately, as soon as I opened yum&#8217;s man page and having spotted the new <strong>reinstall</strong> command, the solution was quite obvious.<br />
<span id="more-2619"></span><br />
For completeness, I hereby document the whole procedure that involves the verification and restoration of the original <code>/etc/sysctl.conf</code> hoping that new users might find these notes helpful.</p>
<p>First of all, I needed to know whether the <code>/etc/sysctl.conf</code> I had on my box differed from the original one. But, before doing that, I had to know which RPM package had installed that file. So, I used the <strong>rpm command</strong> to query this file:</p>
<pre class="console">
# rpm -qf /etc/sysctl.conf
initscripts-9.03.27-1.el6.centos.1.i686
</pre>
<p>So, the <em>initscripts</em> package had installed <code>/etc/sysctl.conf</code>.</p>
<p>Then I verified the initscripts package:</p>
<pre class="console">
# rpm -V initscripts
S.5....T.  c /etc/sysconfig/init
S.5....T.  c /etc/sysctl.conf
</pre>
<p>According to the following table:</p>
<pre class="codesnp">
S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
</pre>
<p>the attributes: size, MD5 checksum and the modification time of <code>/etc/sysctl.conf</code> that existed on my system differed from the attributes of the original file.</p>
<p>Since I had no idea the exact changes I had made to that file at some earlier time, I needed to restore the original and re-modify it from scratch. The new yum &#8220;<strong>reinstall</strong>&#8221; command could be used to to do this quite easily.</p>
<p>First, I kept a copy of the current file:</p>
<pre class="console">
# mv /etc/sysctl.conf /etc/sysctl.conf.modified
</pre>
<p>Then I reinstalled initscripts using YUM&#8217;s reinstall command:</p>
<pre class="console">
# yum reinstall initscripts
Loaded plugins: downloadonly, fastestmirror, priorities
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
 * base: ftp.ntua.gr
 * epel: ftp.ntua.gr
 * extras: ftp.ntua.gr
 * ius: mirror.rackspace.co.uk
 * updates: centosr3.centos.org
6 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package initscripts.i686 0:9.03.27-1.el6.centos.1 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                              Arch                          Version                                           Repository                        Size
=============================================================================================================================================================
Reinstalling:
 initscripts                          i686                          9.03.27-1.el6.centos.1                            updates                          934 k

Transaction Summary
=============================================================================================================================================================
Reinstall     1 Package(s)

Total download size: 934 k
Installed size: 5.4 M
Is this ok [y/N]: y
Downloading Packages:
initscripts-9.03.27-1.el6.centos.1.i686.rpm                                                                                           | 934 kB     00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : initscripts-9.03.27-1.el6.centos.1.i686                                                                                                   1/1

Installed:
  initscripts.i686 0:9.03.27-1.el6.centos.1

Complete!
</pre>
<p>Verify the initscripts package again:</p>
<pre class="console">
# rpm -V initscripts
S.5....T.  c /etc/sysconfig/init
</pre>
<p>No verification errors for <code>/etc/sysctl.conf</code>. Note that reinstalling the package did not touch the <code>/etc/sysconfig/init</code> file. It has been mentioned previously that rpm packages do not overwrite existing configuration files.</p>
<p>I had the original file back and I could then start customizing it from scratch.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2012/03/26/restore-original-configuration-files-from-rpm-packages/">Restore original configuration files from RPM packages</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/04/09/yum-priorities-configuration-for-a-centos-desktop/" rel="bookmark">YUM-Priorities Configuration for a CentOS Desktop</a></li>
<li><a href="http://www.g-loaded.eu/2006/04/05/how-to-build-rpm-packages-on-fedora/" rel="bookmark">How To Build RPM Packages on Fedora</a></li>
<li><a href="http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/" rel="bookmark">How to extract RPM or DEB packages</a></li>
<li><a href="http://www.g-loaded.eu/2011/05/12/running-supervisor-3-on-centos-5/" rel="bookmark">Running supervisor 3 on CentOS 5</a></li>
<li><a href="http://www.g-loaded.eu/2011/03/02/rhel-kernel-source-released-with-patches-already-applied/" rel="bookmark">RHEL kernel source released with patches already applied</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2012/03/26/restore-original-configuration-files-from-rpm-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Speed up Apache by including htaccess files into httpd.conf</title>
		<link>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/</link>
		<comments>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 05:12:59 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2522</guid>
		<description><![CDATA[It is widely known that, if virtual hosts in Apache (httpd) are configured to permit vhost administrators override specific configuration options at the directory level using htaccess files, the web server consumes valuable time in order to check whether an htaccess file exists in every directory included in the requested path and parse it. On [...]]]></description>
			<content:encoded><![CDATA[<p>It is widely known that, if virtual hosts in Apache (httpd) are configured to permit vhost administrators override specific configuration options at the directory level using htaccess files, the web server consumes valuable time in order to check whether an htaccess file exists in every directory included in the requested <em>path</em> and parse it. On the other hand, many popular web applications utilize htaccess files, especially those residing in the <em>DocumentRoot</em>, in order to implement pretty URLs or HTTP redirections, which is extremely convenient since the virtual host owner does not have to edit httpd&#8217;s configuration directly. So, I had the idea to include the htaccess file of the DocumentRoot directory on the filesystem into the virtual host&#8217;s configuration.<br />
<span id="more-2522"></span><br />
Suppose we have the <code>/home/example.org/public_html/</code> directory on the filesystem, which serves as the document root of our virtualhost. The relevant httpd configuration for that vhost would look like this:</p>
<pre class="codesnp">
&lt;VirtualHost 123.123.123.123:80&gt;
  ServerName example.org:80
  ...
  DocumentRoot /home/example.org/public_html
  &lt;Directory /home/example.org/public_html&gt;
    AllowOverride All
    ...
  &lt;/Directory&gt;
  ...
&lt;/VirtualHost&gt;
</pre>
<p>In order to prevent the htaccess lookups on the filesystem without losing the htaccess functionality &#8211; at least at the DocumentRoot level- I transformed the configuration to the following:</p>
<pre class="codesnp">
&lt;VirtualHost 123.123.123.123:80&gt;
  ServerName example.org:80
  ...
  DocumentRoot /home/example.org/public_html
  &lt;Directory /home/example.org/public_html&gt;
    AllowOverride None
    Include /home/example.org/public_html/.htaccess
    ...
  &lt;/Directory&gt;
  ...
&lt;/VirtualHost&gt;
</pre>
<p>Let&#8217;s see what we have accomplished with this:</p>
<ol>
<li>httpd does not waste any time looking for and parsing htaccess files resulting in faster request processing,</li>
<li>the virtual host administrator can still override the configuration options of the document root manually or through the web interface of the web application.</li>
</ol>
<p>Seems like a win-win situation performance and functionality wise.</p>
<p>But, as usual, there is no win-win situation without a downside. In this case, the above trick weakens the server&#8217;s security. Let&#8217;s see how.</p>
<p>Although the configuration of a directory can be set in both <code>httpd.conf</code> and the directory&#8217;s htaccess file, not all directives can be used in both contexts. htaccess files support a subset of the directives that can be used in the <code>Directory</code> context within <code>httpd.conf</code>. By including the htaccess file in httpd&#8217;s configuration the vhost admin is no longer restricted to that subset of directives.</p>
<p>This means that by implementing the above configuration the virtual host administrator is granted more privileges regarding the configuration of the virtual host. This also means that a potential attacker, that would exploit a vulnerability of the web application, would be granted the same privileges once he got write access to that htaccess file.</p>
<p>So, although this trick may seem like a good idea at first, it is in fact a rather <strong>bad idea</strong> and <em>should never be used in production, unless you trust the virtual host administrator and the web application</em>. I do not intend to use such a configuration and I do not recommend it. There are by far better ways to speed up Apache.</p>
<p>Your comments and suggestions are welcome.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/">Speed up Apache by including htaccess files into httpd.conf</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/02/21/htaccess-cheat-sheet/" rel="bookmark">.htaccess Cheat Sheet</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/" rel="bookmark">SSL-enabled Name-based Apache Virtual Hosts with mod_gnutls</a></li>
<li><a href="http://www.g-loaded.eu/2010/03/28/script-apache-error-report/" rel="bookmark">Script for Apache Error Report</a></li>
<li><a href="http://www.g-loaded.eu/2008/05/10/use-mod_deflate-to-compress-web-content-delivered-by-apache/" rel="bookmark">Use mod_deflate to Compress Web Content delivered by Apache</a></li>
<li><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/" rel="bookmark">Mozilla Thunderbird speed up</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The new amateuristic release strategy of Firefox</title>
		<link>http://www.g-loaded.eu/2011/09/28/the-new-amateuristic-release-strategy-of-firefox/</link>
		<comments>http://www.g-loaded.eu/2011/09/28/the-new-amateuristic-release-strategy-of-firefox/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 07:05:26 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2505</guid>
		<description><![CDATA[I have been using Firefox since it was called Phoenix (version 0.5). I&#8217;ve witnessed all the effort that has been put into making this web browser a success. It is still the only web browser I can fully trust. Suddenly, earlier this year, the Mozilla Foundation decided to change the release strategy of the project [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using Firefox since it was called Phoenix (version 0.5). I&#8217;ve witnessed all the effort that has been put into making this web browser a success. It is still the only web browser I can fully trust. Suddenly, earlier this year, the Mozilla Foundation decided to change the release strategy of the project for obvious marketing reasons and release several major versions within a short period of time. It was inevitable that such a change of release cycles would introduce numerous incompatibility issues with the available extensions. Such problems should have been solved before switching release strategies.<br />
<span id="more-2505"></span><br />
Today I happened to browse the tech section of Digg and stumbled upon this news item about the release of Firefox 7. Some of the comments pretty much summarize my feelings about the new release strategy:</p>
<blockquote><p>
- Wtf I just installed 6&#8230;.<br />
- I just installed 5.<br />
- Once the version number is up to 50 in a short amount of time, it will become a joke, and future releases will be ignored.<br />
- Firefox is killing themselves is what they&#8217;re doing. People use Firefox for the plugins, every new version installation kills all plugins. After I install this, there&#8217;s technically no reason for me to use Firefox over Chrome anymore. Why doesn&#8217;t Mozilla understand this???<br />
- Pro tip: People aren&#8217;t switching from Firefox to Chrome because it&#8217;s got a &#8220;better&#8221; version number, guys.
</p></blockquote>
<p>I would add that it is not necessary to go through all the numbers from 5 to 14 to catch up with Chrome in terms of major version numbers. These could be just skipped and go straight to 14!</p>
<p>PS: The Firefox extension of a software I had paid for had stopped working since the FF3 -> FF4 upgrade. A workaround was released by the company for FF4, but as soon as FF5 came out it stopped working again. I&#8217;ll be straight. I&#8217;d rather use Internet Explorer or Chrome or Opera instead of asking the company for a workaround every time the Mozilla folks roll out a new major release of Firefox.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/28/the-new-amateuristic-release-strategy-of-firefox/">The new amateuristic release strategy of Firefox</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2008/06/18/use-the-alternatives-system-to-switch-to-a-custom-firefox-release/" rel="bookmark">Use the Alternatives System to switch to a custom Firefox release</a></li>
<li><a href="http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/" rel="bookmark">The Read-It-Later extension</a></li>
<li><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/" rel="bookmark">Mozilla Thunderbird speed up</a></li>
<li><a href="http://www.g-loaded.eu/2008/12/12/release-time/" rel="bookmark">Release Time</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/28/the-new-amateuristic-release-strategy-of-firefox/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>How to configure mod_gnutls to use the RC4 cipher to mitigate the SSL/TLS vulnerability</title>
		<link>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/</link>
		<comments>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 20:40:45 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Applications]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[ciphers]]></category>
		<category><![CDATA[mod_gnutls]]></category>
		<category><![CDATA[mod_ssl]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2471</guid>
		<description><![CDATA[It&#8217;s been a while since the details of an SSL/TLS vulnerability have been released to the public. Since then, security experts have worked on the issue and have released a whitepaper describing how to mitigate the attack, known as BEAST (Browser Exploit Against SSL/TLS). From the security researchers&#8217; article: The problem lies in the way [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since the details of an <em>SSL/TLS vulnerability</em> have been released to the public. Since then, security experts have worked on the issue and have <a href="http://www.phonefactor.com/blog/slaying-beast-mitigating-the-latest-ssltls-vulnerability.php">released</a> a <a href="http://www.phonefactor.com/resources/CipherSuiteMitigationForBeast.pdf" title="Whitepaper on the mitigation of the BEAST attack">whitepaper</a> describing how to mitigate the attack, known as BEAST (Browser Exploit Against SSL/TLS).<br />
<span id="more-2471"></span><br />
From the security researchers&#8217; article:</p>
<blockquote><p>The problem lies in the way that block ciphers are used in SSL/TLS. Block ciphers are generally operated in one of several modes that define how encrypted blocks are manipulated to ensure complete confidentiality. Cipher Block Chaining, or CBC mode, is used in SSL for all block ciphers, including AES and Triple-DES. The BEAST attack relies on a weakness in the way CBC mode is used in SSL and TLS. Non-CBC cipher suites, such as those using the RC4 stream encryption algorithm, are not vulnerable.</p>
<p>There have been several suggested mitigations that can be put into play from the perspective of the client, such as reorganizing the way the data is sent in the encrypted stream. Servers can protect themselves by requiring a non-CBC cipher suite. One such cipher suite is rc4-sha, which is widely supported by clients and servers.</p></blockquote>
<p>Researchers have concluded that the <a href="http://en.wikipedia.org/wiki/RC4" title="Information about the Alleged RC4 cipher">RC4</a> (Alleged RC4) based cipher suites are not vulnerable to the BEAST attack, while <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29" title="Information about the Cipher-block chaining (CBC)">CBC</a> (Cipher Block Chaining mode) based cipher suites are. This involves both the <strong>TLS 1.0</strong> and the <strong>SSL 3.0</strong> protocols. On the contrary, TLS 1.1 and 1.2 have not been found to be vulnerable, but their use is very limited since they haven&#8217;t been adopted by the majority of HTTP clients and servers yet.</p>
<p>So, the use of <strong>RC4</strong> based ciphers is all that is left for the moment. The security experts have released a list of cipher suites that is suitable for use in the configuration of the <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html" title="mod_ssl documentation page">mod_ssl</a> module for <a href="http://httpd.apache.org/" title="Apache's httpd homepage">httpd</a>:</p>
<pre class="console">
SSLHonorCipherOrder on
SSLCipherSuite !aNULL:!eNULL:!EXPORT:!DSS:!DES:RC4-SHA:RC4-MD5:ALL
</pre>
<p>They have also released a one-liner list of ciphers suitable for use in the relevant fields of the <em>Local Group Policy Editor</em> in Windows Server boxes.</p>
<p>However, there is no info about configuring the <a href="http://www.outoforder.cc/projects/apache/mod_gnutls/" title="mod_gnutls homepage">mod_gnutls</a> module for <em>apache</em> to use <strong>RC4</strong> based ciphers, so, as a dedicated user of <em>mod_gnutls</em>, I decided to release this <em>tip</em>. All you have to do is set the preferred ciphers in the <strong>GnuTLSPriorities</strong> directive. In this example we use the TLS 1.0 protocol:</p>
<pre class="console">
GnuTLSPriorities NONE:+VERS-TLS1.0:+ARCFOUR-128:+RSA:+SHA1:+COMP-NULL
</pre>
<p>Visiting a secure web site that has been configured using any of the methods described above and by checking the information of the secure connection to that website, you should see the following message:</p>
<div id="attachment_2478" class="wp-caption aligncenter" style="width: 576px"><img src="http://www.g-loaded.eu/wp-content/uploads/firefox_ssl_tls_rc4_message.png" alt="Firefox message about using RC4 encryption cipher" title="firefox_ssl_tls_rc4_message" width="566" height="109" class="size-full wp-image-2478" /><p class="wp-caption-text">Firefox message about using RC4 encryption cipher</p></div>
<p>This means that everything is working correctly.</p>
<p>As always, comments and suggestions are welcome and appreciated.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/">How to configure mod_gnutls to use the RC4 cipher to mitigate the SSL/TLS vulnerability</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2008/05/16/using-ssh-for-networking/" rel="bookmark">Using SSH for networking</a></li>
<li><a href="http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/" rel="bookmark">SSL-enabled Name-based Apache Virtual Hosts with mod_gnutls</a></li>
<li><a href="http://www.g-loaded.eu/2009/02/20/critical-vulnerability-in-adobe-reader/" rel="bookmark">Critical vulnerability in Adobe Reader</a></li>
<li><a href="http://www.g-loaded.eu/2007/11/14/mod_gnutls-binary-for-apache/" rel="bookmark">mod_gnutls binary for Apache</a></li>
<li><a href="http://www.g-loaded.eu/2006/01/10/how-to-configure-and-use-lirc/" rel="bookmark">How to configure and use LIRC</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/27/mod_gnutls-rc4-cipher-beast/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Mozilla Thunderbird speed up</title>
		<link>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/</link>
		<comments>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 12:25:13 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2409</guid>
		<description><![CDATA[Mozilla Thunderbird is of those pieces of software I could say I am a fan of, but since I upgraded from TB3 to TB5 and recently to TB6, I&#8217;ve been experiencing various problems with the application&#8217;s overall speed and responsiveness. Using Thunderbird almost felt as if it was reading its data from the internet. Working [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.org/thunderbird/" title="Mozilla Thunderbird homepage">Mozilla Thunderbird</a> is of those pieces of software I could say I am a fan of, but since I upgraded from TB3 to TB5 and recently to TB6, I&#8217;ve been experiencing various problems with the application&#8217;s overall <em>speed</em> and <em>responsiveness</em>. Using Thunderbird almost felt as if it was reading its data from the internet. Working with it had become an unpleasant experience, until I found <a href="http://forums.mozillazine.org/viewtopic.php?f=39&#038;t=2290889" title="Discussion about how to make Thunderbird more responsive.">some tips</a> about how to make it more responsive. It seems that versions 5 and 6 try to use hardware acceleration to render the application&#8217;s user interface and, apparently, this does not work very well with my hardware. Anyway, here is what you have to do in order to restore Thunderbird 6 responsiveness to that of version 3.<br />
<span id="more-2409"></span><br />
Open TB&#8217;s <strong>Config Editor</strong> (<code>tools/options/advanced/general-tab/config-editor-button</code>). Search for the following settings and double-click on them to set them to <strong>TRUE</strong>.</p>
<pre class="codesnp">
gfx.direct2d.disabled
layers.acceleration.disabled
</pre>
<p>Also, open the <strong>Add-on Manager</strong> (<code>tools/add-ons/plugins</code>) and disable all plugins that do not need to be enabled in your email client. Note that the <em>plugins</em> are a different thing than the <em>extensions</em>. I disabled them all in my TB.</p>
<p>Finally, <strong>restart</strong> Thunderbird.</p>
<p>This has worked for me. Thunderbird 6 now feels as responsive as TB3 was.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/">Mozilla Thunderbird speed up</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/12/09/mozilla-thunderbird-3-is-out/" rel="bookmark">Mozilla Thunderbird 3 is out!</a></li>
<li><a href="http://www.g-loaded.eu/2011/11/28/speed-up-apache-by-including-htaccess-files-into-httpd-conf/" rel="bookmark">Speed up Apache by including htaccess files into httpd.conf</a></li>
<li><a href="http://www.g-loaded.eu/2009/10/17/be-cautious-with-notepad/" rel="bookmark">Be cautious with Notepad++</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/09/09/mozilla-thunderbird-speed-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Running supervisor 3 on CentOS 5</title>
		<link>http://www.g-loaded.eu/2011/05/12/running-supervisor-3-on-centos-5/</link>
		<comments>http://www.g-loaded.eu/2011/05/12/running-supervisor-3-on-centos-5/#comments</comments>
		<pubDate>Thu, 12 May 2011 04:56:52 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2263</guid>
		<description><![CDATA[It&#8217;s been a long time since the last time I checked the available software for managing long running processes. Software in this particular area has evolved and, after some research and testing on a virtual machine, I tried to install supervisord in a CentOS 5.6 box. Unfortunately, no RPM package exists for the latest 3.X [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since the last time I checked the available software for managing long running processes. Software in this particular area has evolved and, after some research and testing on a virtual machine, I tried to install <a href="http://supervisord.org/">supervisord</a> in a CentOS 5.6 box. Unfortunately, no RPM package exists for the latest 3.X version, so I decided to go through the procedure to rebuild the <em>supervisor RPM</em> from the Fedora development tree, since v3.X has some really cool features I cannot do without.<br />
<span id="more-2263"></span><br />
If you haven&#8217;t built an RPM package before, you will need to go through a simple procedure in order to <a href="http://www.g-loaded.eu/2006/04/05/how-to-build-rpm-packages-on-fedora/">prepare an RPM building environment</a>. It is highly recommended that you build your packages in a separate box, dedicated to this kind of work, and also use a typical user and not <em>root</em> for building. So, let&#8217;s get the source RPM of <strong>supervisord</strong> from a Fedora Rawhide mirror:</p>
<pre class="console">
wget ftp://ftp.cc.uoc.gr/mirrors/linux/fedora/linux/development/rawhide/source/SRPMS/supervisor-3.0-0.4.a10.fc16.src.rpm
</pre>
<p>The simplest way to build an RPM for our CentOS release is to use the <code>--rebuild</code> option of <code>rpmbuild</code>:</p>
<pre class="console">
rpmbuild --rebuild supervisor-3.0-0.4.a10.fc16.src.rpm
</pre>
<p>Wait a few seconds for it to finish and then your binary RPM package will be in <code>~/&lt;your_building_env&gt;/RPMS/...</code>. </p>
<p>To satisfy dependencies, you will also need the package <strong>python-meld3</strong>. So, download and rebuild it:</p>
<pre class="console">
wget ftp://ftp.cc.uoc.gr/mirrors/linux/fedora/linux/development/rawhide/source/SRPMS/python-meld3-0.6.7-4.fc16.src.rpm
rpmbuild --rebuild python-meld3-0.6.7-4.fc16.src.rpm
</pre>
<p>Having built RPM packages for <strong>supervisor</strong> and <strong>python-meld3</strong>, you can now transfer them to a testing box and install them:</p>
<pre class="console">
yum localinstall /path/to/supervisor.rpm /path/to/python-meld3
yum install python-elementtree
</pre>
<p>We also installed <strong>elementtree</strong> as this is a dependency missing from the supervisor spec file (note to self: file a bug report).</p>
<p>Finally, try to start supervisord:</p>
<pre class="console">
/etc/init.d/supervisord start
</pre>
<p>Surprisingly, it complains about the missing elementtree!</p>
<pre class="codesnp">
Starting supervisord: Traceback (most recent call last):
  File "/usr/bin/supervisord", line 5, in ?
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2479, in ?
    working_set.require(__requires__)
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 585, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 483, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: elementtree
</pre>
<p>Checking the requirements file at: <code>/usr/lib/python2.4/site-packages/supervisor-3.0a10-py2.4.egg-info/requires.txt</code> there are no special version requirements:</p>
<pre class="codesnp">
meld3 >= 0.6.5
elementtree

[iterparse]
cElementTree >= 1.0.2
</pre>
<p>After some investigation on the supervisor-users mailing list, I found a message that <a href="http://lists.supervisord.org/pipermail/supervisor-users/2007-October/000106.html">indicated</a> that <em>setuptools.setup()</em> should be used instead of <em>distutils.core.setup()</em> in the <strong>setup.py</strong> script.</p>
<p>So, the dependency resolution depends on the way the package has been installed! I didn&#8217;t even bother to patch setup.py&#8230; Knowing that the dependencies are correctly installed, I commented out the <code>elementtree</code> line and also the <code>meld3</code> line as this caused the same error.</p>
<p>So, my <code>/usr/lib/python2.4/site-packages/supervisor-3.0a10-py2.4.egg-info/requires.txt</code> file looks like this:</p>
<pre class="codesnp">
#meld3 >= 0.6.5
#elementtree

[iterparse]
cElementTree >= 1.0.2
</pre>
<p>Now supervisor starts without errors:</p>
<pre class="console">
# /etc/init.d/supervisord start
Starting supervisord:                                      [  OK  ]
# cat /var/log/supervisor/supervisord.log
2011-05-12 02:56:08,221 CRIT Supervisor running as root (no user in config file)
2011-05-12 02:56:08,267 INFO RPC interface 'supervisor' initialized
2011-05-12 02:56:08,267 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2011-05-12 02:56:08,271 INFO daemonizing the supervisord process
2011-05-12 02:56:08,272 INFO supervisord started with pid 21337
</pre>
<p>This is what it takes to run <strong>supervisord 3</strong> in CentOS 5 or RHEL 5. If you have any comments and suggestions, please let me know in the comments below.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/05/12/running-supervisor-3-on-centos-5/">Running supervisor 3 on CentOS 5</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2009/12/18/high-cpu-usage-centos-guest-virtualbox-vmware/" rel="bookmark">High CPU usage while running CentOS as guest on Virtualbox or VMware</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/07/sticking-with-centos-rpmforge-and-yum-priorities-for-now/" rel="bookmark">Sticking with CentOS, RPMforge and yum-priorities for now</a></li>
<li><a href="http://www.g-loaded.eu/2009/04/09/yum-priorities-configuration-for-a-centos-desktop/" rel="bookmark">YUM-Priorities Configuration for a CentOS Desktop</a></li>
<li><a href="http://www.g-loaded.eu/2011/02/28/awaiting-centos-6/" rel="bookmark">Awaiting CentOS 6</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/20/my-running-dog/" rel="bookmark">My running dog</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/05/12/running-supervisor-3-on-centos-5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>ntfs-3g and ntfsprogs projects merge</title>
		<link>http://www.g-loaded.eu/2011/04/15/ntfs-3g-and-ntfsprogs-projects-merge/</link>
		<comments>http://www.g-loaded.eu/2011/04/15/ntfs-3g-and-ntfsprogs-projects-merge/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 14:35:41 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2258</guid>
		<description><![CDATA[The fact that the developers of two projects with common goals decided to get along together is news in the Free Software world. What we usually hear are the announcements of new forks. I was very glad to read that the developers of two projects, ntfs-3g and ntfsprogs, which are open source tools that can [...]]]></description>
			<content:encoded><![CDATA[<p>The fact that the developers of two projects with common goals decided to get along together is news in the Free Software world. What we usually hear are the announcements of new forks. I was very glad to read that the developers of two projects, <strong>ntfs-3g</strong> and <strong>ntfsprogs</strong>, which are open source tools that can be used to access and maintain the NTFS filesystem, decided to combine their efforts and made their <a href="http://www.tuxera.com/open-source/release-ntfs-3g-ntfsprogs-2011-4-12/">first merged release</a>. The merge has many benefits: no duplicate effort, easier code maintenance, more focused and coordinated effort and probably the most important one, common and more confident user base. I hope more projects follow their example.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/04/15/ntfs-3g-and-ntfsprogs-projects-merge/">ntfs-3g and ntfsprogs projects merge</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2010/02/27/regular-data-backups/" rel="bookmark">The importance of regular data backups</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/04/15/ntfs-3g-and-ntfsprogs-projects-merge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>The Read-It-Later extension</title>
		<link>http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/</link>
		<comments>http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 10:46:13 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2239</guid>
		<description><![CDATA[I just discovered the Read-It-Later addon for the Firefox browser. This is one of the most fantastic plugins I&#8217;ve seen in a while. From what I see, there have been about 4 million downloads already. This means I am too late, but as they say &#8220;better late than never&#8220;! This extension makes it possible to [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered the <a href="https://addons.mozilla.org/en-US/firefox/addon/read-it-later/">Read-It-Later</a> addon for the Firefox browser. This is one of the most fantastic plugins I&#8217;ve seen in a while. From what I see, there have been about 4 million downloads already. This means I am too late, but as they say &#8220;<em>better late than never</em>&#8220;! This extension makes it possible to maintain a queue of unread content locally or <a href="http://readitlaterlist.com/">remotely</a>. It is also possible to save the text locally and read it at a later time even if you are offline. Really cool.<br />
<span id="more-2239"></span><br />
Here is a list of the features:</p>
<blockquote>
<ul>
<li>Save pages to a reading list to read when you have time.</li>
<li>Offline reading mode lets you read the items you’ve saved for later on the plane, train, or anywhere without an internet connection.</li>
<li>Sync your list to all of your computers, at work or home.</li>
<li>Sync your list to Read It Later apps for iPhone, iPod, iPad, Android and more.</li>
<li>After reading, bookmark pages on your preferred bookmarking service or share them with friends.</li>
<li>Click to Save Mode lets you quickly batch a reading list just by clicking on interesting links.</li>
<li>Text view strips away images, ads, and layout from articles and presents them in an easy to consume way.</li>
</ul>
</blockquote>
<p>Until today I have been keeping content that I wished to read at a later time in the browser&#8217;s bookmark system or I left yet another tab open or stored the URL in a text file. This plugin seems that it will provide a decent solution and eliminate the trouble. I haven&#8217;t used the remote service yet and I am not sure if I will ever do. The local &#8220;<em>read queue</em>&#8221; works really well.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/">The Read-It-Later extension</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2007/02/28/tab-links-extension-for-the-epiphany-browser/" rel="bookmark">Tab Links extension for the Epiphany browser</a></li>
<li><a href="http://www.g-loaded.eu/2006/05/16/tab-session-management-extension-for-epiphany/" rel="bookmark">Tab Session Management extension for Epiphany</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/04/02/the-read-it-later-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>How secure is the TOR network for everyday internet browsing?</title>
		<link>http://www.g-loaded.eu/2011/04/02/how-secure-is-the-tor-network-for-everyday-internet-browsing/</link>
		<comments>http://www.g-loaded.eu/2011/04/02/how-secure-is-the-tor-network-for-everyday-internet-browsing/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 06:47:02 +0000</pubDate>
		<dc:creator>George Notaras</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[TOR]]></category>

		<guid isPermaLink="false">http://www.g-loaded.eu/?p=2203</guid>
		<description><![CDATA[I recently read that the Free Software Foundation has given the Award for Projects of Social Benefit to the TOR Project. Congratulations! There are indeed some cases that the TOR network can be extremely useful to the societies. On the other hand, the fact that an organization like the FSF gives this award to the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read that the Free Software Foundation has given the <em>Award for Projects of Social Benefit</em> to the <a href="https://www.torproject.org/">TOR Project</a>. Congratulations! There are indeed some cases that the TOR network can be extremely useful to the societies. On the other hand, the fact that an organization like the <abbr title="Free Software Foundation">FSF</abbr> gives this award to the TOR project combined with statements like &#8220;<em>People like you and your family use Tor to protect themselves, their children, and their dignity while using the Internet</em>&#8220;, that can be found throughout the TOR project website, may lead the typical internet user into thinking that the TOR network, apart from providing anonymity, is also a secure way of communication, which is far from the truth. I don&#8217;t claim to be a network security expert or an authority on the TOR network, but I don&#8217;t think any expertise is required in order to state the obvious.<br />
<span id="more-2203"></span><br />
At this point, it is useful to roughly describe how TOR works. The TOR network consists of TOR clients, relays and exit nodes. A client connects to the network which initiates the creation of a tunnel that starts at the user&#8217;s location and ends, after following a random route through the relays, to a random exit node. The user configures other software like web browsers or instant messengers to connect to the remote service through this tunnel. Once the request exits the tunnel at the exit-node, it goes through the network of the ISP that provides internet access to the TOR exit-node and it finally reaches the remote service. The response from the remote service follows the inverse route to get back to the user&#8217;s software. This way, the user&#8217;s ISP has absolutely no idea what services the user communicates with, since all user traffic goes through the TOR network and the network of a 3rd party ISP.</p>
<p>So, TOR can provide anonymity as far as the user&#8217;s ISP is concerned, but is it a secure way to communicate with remote services? <strong>If no extra encryption is used</strong>, then it is quite obvious that using remote services through the TOR network is <strong>totally insecure</strong>. Here is why.</p>
<p>The <strong>TOR exit-node</strong> is a key point in the communication between the user and the remote service. This is where the user&#8217;s data exits the TOR tunnel and continues its way to the remote service through the 3rd party ISP&#8217;s network. It is also the place where data from the remote service leaves the 3rd party ISP&#8217;s network and enters the TOR tunnel in order to reach the end user. If no encryption is used, it is possible for the exit-node operator to <strong>sniff this network traffic</strong>. This means that it is technically possible for an evil exit-node operator to:</p>
<ul>
<li>know which web pages the user visits</li>
<li>read the messages the user exchanges through unencrypted IM networks</li>
<li>read the emails the user sends</li>
<li>if the user authenticates to any services without encryption, the evil exit-node operator could for example find out his mailbox or FTP account password or the passwords the user uses for authentication to web sites</li>
<li>even if the authentication to a web service has taken place through an encrypted SSL tunnel, if the rest of the communication with this specific web service is not encrypted, the evil operator could grab a copy of the user&#8217;s  session cookie for this service and access it pretending to be him</li>
</ul>
<p>These are some of the nasty things that can happen <strong>when you access remote services through a proxy server which you do not control</strong>.</p>
<p>Is there any guarantee that exit node operators do not sniff network traffic?</p>
<p>Even if the exit-node operators are cool, who can guarantee that the network traffic is not monitored within the <strong>3rd party ISP</strong>&#8216;s network? If the user accesses personalized services without encryption, then, even if the user&#8217;s real IP and thus his real name is not known, various pieces of collected data can be combined together and possibly reveal his real identity. This process is widely known as <em><a href="http://epic.org/privacy/reidentification/">re-identification</a></em>.</p>
<p>Is there any guarantee that the ISP providing internet access to a TOR exit node does not collect and sell information to &#8220;marketers and identity thieves&#8221;?</p>
<p><strong>I consider the TOR project quite important</strong>. But, since typical internet users are urged to use the TOR network in order to browse the internet, <strong>the involved risks have to be explained in detail</strong>.</p>
<p>On the other hand, I&#8217;d like to urge internet users to spend some time to familiarize themselves with the <strong>basics</strong> of the HTTP protocol, the <strong>concepts</strong> of HTTP authentication and cookie based authentication and the importance of encrypted HTTP connections through <strong>SSL</strong> or <strong>TLS</strong> tunnels. Since the internet has become part of your lives, regardless of your profession, you need to be educated about these things, so as to be able to realize when your communication with the various internet services is vulnerable. You don&#8217;t have to be gurus, but rather get an idea of what is going on.</p>
<p>So far, it is quite clear that the only way to stay on the safe side while using anonymizing proxies on which you usually do not have full control, like TOR, is to connect to any remote services <strong>using encrypted connections only</strong>, usually through SSL or TLS tunnels. Personally, I never use anonymizing networks or third party proxies. This is because I never really had the need to hide my real location. Furthermore, I find it pointless as I don&#8217;t believe that such a thing as anonymity is really feasible. If I had to use TOR, I would try to find a way to connect to the remote service over an encrypted connection. In general, whenever I need a secure SOCKS proxy, for example when I have to use a public network to access personalized internet services, which do not offer full SSL access, I use OpenSSH client&#8217;s <strong>-D switch</strong> while logging in to a SSH server which I own and fully control and thus I have all the security I need.</p>
<p class="cc-block"><em><a href="http://www.g-loaded.eu/2011/04/02/how-secure-is-the-tor-network-for-everyday-internet-browsing/">How secure is the TOR network for everyday internet browsing?</a></em>, unless otherwise expressly stated, is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License</a>.</p>
<h4>Related Articles</h4>

<ul><li><a href="http://www.g-loaded.eu/2005/11/10/configure-vnc-server-in-fedora/" rel="bookmark">Set up the VNC Server in Fedora</a></li>
<li><a href="http://www.g-loaded.eu/2006/11/24/auto-closing-ssh-tunnels/" rel="bookmark">Auto-closing SSH tunnels</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.g-loaded.eu/2011/04/02/how-secure-is-the-tor-network-for-everyday-internet-browsing/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 1873/2016 objects using apc

Served from: www.g-loaded.eu @ 2012-05-16 22:20:53 -->
