<?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>Kevin Deldycke &#187; ssl</title> <atom:link href="http://kevin.deldycke.com/tag/ssl/feed/" rel="self" type="application/rss+xml" /><link>http://kevin.deldycke.com</link> <description>Free software engineer &#38; wannabe videomaker</description> <lastBuildDate>Fri, 03 Feb 2012 19:08:27 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Lighttpd-powered WebDAVs server on Debian Squeeze</title><link>http://kevin.deldycke.com/2011/07/lighttpd-powered-webdavs-server-debian-squeeze/</link> <comments>http://kevin.deldycke.com/2011/07/lighttpd-powered-webdavs-server-debian-squeeze/#comments</comments> <pubDate>Tue, 26 Jul 2011 10:51:45 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Debian]]></category> <category><![CDATA[etch]]></category> <category><![CDATA[lighttpd]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[openssl]]></category> <category><![CDATA[Server]]></category> <category><![CDATA[ssl]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[webdav]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=357</guid> <description><![CDATA[Here is a tiny article about how I used Lighttpd to serve content over WebDAV. First, install the required packages: As we want to provide a secure WebDAV access, we need to install OpenSSL: Then we create the file /etc/lighttpd/clear-creds.lst, &#8230; <a href="http://kevin.deldycke.com/2011/07/lighttpd-powered-webdavs-server-debian-squeeze/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Here is a tiny article about how I used <a href="http://www.lighttpd.net">Lighttpd</a> to serve content over <a href="http://wikipedia.org/wiki/WebDAV">WebDAV</a>.</p><p>First, install the required packages:</p><pre class="brush: bash; title: ; notranslate">
$ aptitude install lighttpd-mod-webdav
</pre><p>As we want to provide a secure WebDAV access, we need to install <a href="http://www.openssl.org">OpenSSL</a>:</p><pre class="brush: bash; title: ; notranslate">
$ aptitude install openssl
</pre><p>Then we create the file <code>/etc/lighttpd/clear-creds.lst</code>, that will contain credentials required for authentication, under the following form:</p><pre class="brush: plain; title: ; notranslate">
user1:password1
user2:password2
user3:password3
</pre><p>Logins and passwords are stored here in clear. This is stupid, but for this project I was looking to setup a quick and dirty server. For temporary tests this setup is OK, but I encourage you to switch to a better credential storage system.</p><p>Now I want to serve WebDAV content within a secure channel. A self-signed SSL certificate will be enough. Let&#8217;s generate one:</p><pre class="brush: bash; title: ; notranslate">
$ cd /etc/lighttpd/
$ openssl req -x509 -nodes -subj '/' -days 3650 -newkey rsa:2048 -keyout server.pem -out server.pem
</pre><p>We&#8217;ll configure Lighttpd by loading the default parameters of modules we use:</p><pre class="brush: bash; title: ; notranslate">
$ cd /etc/lighttpd/conf-enabled/
$ ln -s ../conf-available/05-auth.log
$ ln -s ../conf-available/10-ssl.conf
$ ln -s ../conf-available/10-webdav.conf
</pre><p>Now I create a custom configuration file:</p><pre class="brush: bash; title: ; notranslate">
$ touch /etc/lighttpd/conf-available/99-custom.conf
$ cd /etc/lighttpd/conf-enabled/
$ ln -s ../conf-available/99-custom.conf
</pre><p>Here is the content of that <code>99-custom.conf</code> configuration file:</p><pre class="brush: plain; title: ; notranslate">
# Hide server version
server.tag = &quot;lighttpd&quot;

# Force all request to be in HTTPs
# This also redirects all WebDAV requests to WebDAVs
$HTTP[&quot;scheme&quot;] == &quot;http&quot; {
  $HTTP[&quot;host&quot;] =~ &quot;(.*)&quot; {
    url.redirect = ( &quot;^/(.*)&quot; =&gt; &quot;https://%1/$1&quot; )
  }
}

# Valid credentials are required for any request
auth.backend = &quot;plain&quot;
auth.backend.plain.userfile = &quot;/etc/lighttpd/clear-creds.lst&quot;
auth.require = (
  &quot;/&quot; =&gt; (
    &quot;method&quot; =&gt; &quot;digest&quot;,
    &quot;realm&quot; =&gt; &quot;My WebDAV server&quot;,
    &quot;require&quot; =&gt; &quot;valid-user&quot;
  )
)

# Enable WebDAV in read and write mode
webdav.activate = &quot;enable&quot;
webdav.is-readonly = &quot;disable&quot;

# Customize directory listings a bit
dir-listing.set-footer = &quot;&lt;a href='http://example.com'&gt;Company&lt;/a&gt;'s document repository.&quot;
</pre><p>And do not forget to restart the server:</p><pre class="brush: bash; title: ; notranslate">
$ /etc/init.d/lighttpd restart
</pre><p><a href="http://kevin.deldycke.com/wp-content/uploads/2011/07/lighttpd-webdav-server.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2011/07/lighttpd-webdav-server-300x232.png" alt="" title="lighttpd-webdav-server" width="300" height="232" class="aligncenter size-medium wp-image-3441" /></a></p><p>As you can see in the screenshot above, you can now:</p><ul><li>Browse the file system in read/write mode with a WebDAV client via a <code>webdavs://12.34.56.78/</code> URL;</li><li>Access content in read-only mode with a browser by a classic <code>https://12.34.56.78/</code> URL.</li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2011/07/lighttpd-powered-webdavs-server-debian-squeeze/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Setup a lightweight IMAP server on MacOS X Leopard with Dovecot</title><link>http://kevin.deldycke.com/2010/04/setup-lightweight-imap-server-macos-leopard-dovecot/</link> <comments>http://kevin.deldycke.com/2010/04/setup-lightweight-imap-server-macos-leopard-dovecot/#comments</comments> <pubDate>Mon, 26 Apr 2010 17:56:42 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[Dovecot]]></category> <category><![CDATA[E-mail]]></category> <category><![CDATA[IMAP]]></category> <category><![CDATA[leopard]]></category> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[maildir]]></category> <category><![CDATA[ssl]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=1309</guid> <description><![CDATA[Last week I needed a local IMAP server on MacOS X Leopard (10.5) for temporary testing. After struggling with courier-imap for hours, I&#8217;ve finally settled on Dovecot. You&#8217;ll see below how easy it is to install and configure it. We&#8217;re &#8230; <a href="http://kevin.deldycke.com/2010/04/setup-lightweight-imap-server-macos-leopard-dovecot/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://kevin.deldycke.com/wp-content/uploads/2010/04/dovecot-on-macosx.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2010/04/dovecot-on-macosx-150x150.png" alt="" title="dovecot-on-macosx" width="150" height="150" class="alignleft size-thumbnail wp-image-1315" /></a> Last week I needed a local IMAP server on MacOS X Leopard (10.5) for temporary testing. After struggling with <a href="http://www.courier-mta.org/imap/">courier-imap</a> for hours, I&#8217;ve finally settled on <a href="http://www.dovecot.org/">Dovecot</a>. You&#8217;ll see below how easy it is to install and configure it.</p><p>We&#8217;re lucky, <a href="http://www.macports.org/ports.php?by=name&#038;substr=dovecot">Dovecot is available in Mac Ports</a>, so we can install it easily:</p><pre class="brush: bash; title: ; notranslate">
port install dovecot
</pre><p>It&#8217;s time to configure it. We start with the default configuration template:</p><pre class="brush: bash; title: ; notranslate">
cp /opt/local/etc/dovecot/dovecot-example.conf /opt/local/etc/dovecot/dovecot.conf
</pre><p>Then we can edit the <code>dovecot.conf</code> configuration file as we wish. FYI, here are my modifications:</p><pre class="brush: diff; title: ; notranslate">
--- /opt/local/etc/dovecot/dovecot-example.conf	2010-04-23 14:29:52.000000000 +0200
+++ /opt/local/etc/dovecot/dovecot.conf	2010-04-23 14:51:06.000000000 +0200
@@ -21,7 +21,7 @@

 # Protocols we want to be serving: imap imaps pop3 pop3s
 # If you only want to use dovecot-auth, you can set this to &quot;none&quot;.
-#protocols = imap imaps
+protocols = imap

 # A space separated list of IP or host addresses where to listen in for
 # connections. &quot;*&quot; listens in all IPv4 interfaces. &quot;[::]&quot; listens in all IPv6
@@ -45,7 +45,7 @@
 # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
 # matches the local IP (ie. you're connecting from the same computer), the
 # connection is considered secure and plaintext authentication is allowed.
-#disable_plaintext_auth = yes
+disable_plaintext_auth = no

 # Should all IMAP and POP3 processes be killed when Dovecot master process
 # shuts down. Setting this to &quot;no&quot; means that Dovecot can be upgraded without
@@ -221,7 +221,7 @@
 #
 # &lt;doc/wiki/MailLocation.txt&gt;
 #
-#mail_location =
+mail_location = maildir:~/Maildir

 # If you need to set multiple mailbox locations or want to change default
 # namespace settings, you can do it by defining namespace sections.
</pre><p>Before starting Dovecot, we have to create a dummy SSL certificate:</p><pre class="brush: bash; title: ; notranslate">
mkdir -p /opt/local/etc/ssl/{certs,private}
openssl req -new -x509 -days 3650 -nodes -out /opt/local/etc/ssl/certs/dovecot.pem -keyout /opt/local/etc/ssl/private/dovecot.pem
</pre><p>And finally, we can launch the Dovecot server itself as <code>root</code>:</p><pre class="brush: bash; title: ; notranslate">
dovecot
</pre><p>That&#8217;s all !</p><p>You can now access your local IMAP server with any client. Here is an example with <a href="http://www.mozillamessaging.com/thunderbird/">Thunderbird</a>:</p><p><a href="http://kevin.deldycke.com/wp-content/uploads/2010/04/thunderbird-macosx-local-imap-server-config.png"><img src="http://kevin.deldycke.com/wp-content/uploads/2010/04/thunderbird-macosx-local-imap-server-config-300x200.png" alt="" title="thunderbird-macosx-local-imap-server-config" width="300" height="200" class="aligncenter size-medium wp-image-1320" /></a></p><p>And if you have problems, the first reflex is to read dovecot&#8217;s logs:</p><pre class="brush: bash; title: ; notranslate">
tail -F /var/log/mail.log
</pre>]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2010/04/setup-lightweight-imap-server-macos-leopard-dovecot/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Web commands</title><link>http://kevin.deldycke.com/2010/03/web-commands/</link> <comments>http://kevin.deldycke.com/2010/03/web-commands/#comments</comments> <pubDate>Fri, 26 Mar 2010 16:08:36 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[certificate]]></category> <category><![CDATA[CLI]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[KDE]]></category> <category><![CDATA[konqueror]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[openssl]]></category> <category><![CDATA[RSA]]></category> <category><![CDATA[ssl]]></category> <category><![CDATA[wget]]></category> <category><![CDATA[x509]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=1257</guid> <description><![CDATA[Download a web page an all its requisites: Create a PNG image of a rendered html page: Search in all files malformed HTML entities (in this case non-breakable spaces that doesn&#8217;t end with a semicolon): Here is a one-liner I &#8230; <a href="http://kevin.deldycke.com/2010/03/web-commands/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<ul><li>Download a web page an all its requisites:<pre class="brush: bash; title: ; notranslate">
wget -r -p -nc -nH --level=1 http://pypi.python.org/simple/python-ldap/
</pre></li><li>Create a PNG image of a rendered html page:<pre class="brush: bash; title: ; notranslate">
kwebdesktop 1024 768 capture.png http://slashdot.org/
</pre></li><li>Search in all files malformed HTML entities (in this case non-breakable spaces that doesn&#8217;t end with a semicolon):<pre class="brush: bash; title: ; notranslate">
grep -RIi --extended-regexp '&amp;nbsp[^;]' ./
</pre></li><li>Here is a one-liner I use to ping some pages on internet to force our corporate proxy to refresh its internal cache:<pre class="brush: bash; title: ; notranslate">
for EGG in BeautifulSoup PIL Plone; do wget --server-response -O /dev/null http://pypi.python.org/simple/$EGG/; done
</pre></li><li>Create a minimal self-signed unencrypted SSL certificate without issuer information and a validity period of 10 years:<pre class="brush: bash; title: ; notranslate">
openssl req -x509 -nodes -subj '/' -days 3650 -newkey rsa:2048 -keyout self-signed.pem -out self-signed.pem
</pre></li><li>Create a pair of SSL self-signed certificate and (unencrypted) private key (<a href="http://devsec.org/info/ssl-cert.html">source</a>):<pre class="brush: bash; title: ; notranslate">
openssl genrsa -out private.key 2048
openssl req -new -subj '/' -key private.key -out certreq.csr
openssl x509 -req -days 3650 -in certreq.csr -signkey private.key -out self-signed.pem
rm certreq.csr
</pre></li><li>View certificate details:<pre class="brush: bash; title: ; notranslate">
openssl x509 -noout -text -in self-signed.pem
</pre></li></ul> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2010/03/web-commands/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Google Apps&#8217; video chat comes with secure Gmail sessions</title><link>http://kevin.deldycke.com/2008/11/google-apps-video-chat-comes-with-secure-gmail-sessions/</link> <comments>http://kevin.deldycke.com/2008/11/google-apps-video-chat-comes-with-secure-gmail-sessions/#comments</comments> <pubDate>Tue, 18 Nov 2008 17:07:51 +0000</pubDate> <dc:creator>Kev</dc:creator> <category><![CDATA[English]]></category> <category><![CDATA[chat]]></category> <category><![CDATA[gmail]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[google apps]]></category> <category><![CDATA[h264]]></category> <category><![CDATA[https]]></category> <category><![CDATA[Jingle]]></category> <category><![CDATA[mail]]></category> <category><![CDATA[RTP]]></category> <category><![CDATA[security]]></category> <category><![CDATA[ssl]]></category> <category><![CDATA[TLS]]></category> <category><![CDATA[Video]]></category> <category><![CDATA[Web]]></category> <category><![CDATA[XMPP]]></category><guid isPermaLink="false">http://kevin.deldycke.com/?p=379</guid> <description><![CDATA[The story was spread by all top tech blogs last week: Google&#8217;s Gmail now features a video chat. And it requires the installation of a dedicated plugin. Alas, there is no such plugin for any other platform except &#8220;Windows XP &#8230; <a href="http://kevin.deldycke.com/2008/11/google-apps-video-chat-comes-with-secure-gmail-sessions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>The story was spread by <a href="http://www.gizmodo.com.au/2008/11/gmail_now_with_voice_chat_and_video.html">all</a> <a href="http://www.readwriteweb.com/archives/google_launches_video_and_voic.php">top</a> <a href="http://arstechnica.com/news.ars/post/20081111-gmail-gains-voice-and-video-chat-via-mac-and-pc-plug-in.html">tech</a> <a href="http://www.techcrunch.com/2008/11/11/google-adds-voice-and-video-chat-to-gmail/">blogs</a> last week: <a href="http://gmailblog.blogspot.com/2008/11/say-hello-to-gmail-voice-and-video-chat.html">Google&#8217;s Gmail now features a video chat</a>. And it requires the installation of a dedicated plugin.</p><p>Alas, there is no such plugin for any other platform except &#8220;<em>Windows XP and later</em>&#8221; (<a href="http://mail.google.com/videochat">according the official website</a>) and Macs (<a href="http://googleblog.blogspot.com/2008/11/talk-face-to-face-right-from-within.html">as read on the official blog</a>). So it&#8217;s a quite sad news for us Linux users. Indeed, I&#8217;m confident about a future seamless integration into the free software ecosystem, as the Gmail&#8217;s video chat is <a href="http://juberti.blogspot.com/2008/11/say-hello-to-gmail-voice-and-video-chat.html">based on a stack</a> of open (<a href="http://blog.senko.net/2008/11/12/gmail-videochat-the-good-the-bad-and-the-ugly/">or soon-to-be, according the recent controversy</a>) standards and protocols: <a href="http://xmpp.org">XMPP</a>/<a href="http://en.wikipedia.org/wiki/Jingle_(protocol)">Jingle</a>, <a href="http://wikipedia.org/wiki/Scalable_Video_Coding">h264/SVC</a> &#038; <a href="http://wikipedia.org/wiki/Real-time_Transport_Protocol">RTP</a>.</p><p>Anyways, that&#8217;s not the main purpose of this post.</p><p>I just wanted to point out an update that was not reported by the news: as soon as it was officially made available for the public, the brand new <a href="http://googleappsupdates.blogspot.com/2008/11/browser-based-voice-and-video-chat.html">video feature was released for Google Apps&#8217; Gmail</a> too.</p><p>Not only that, Google also backported to Apps&#8217; Gmail the <a href="http://blog.wired.com/27bstroke6/2008/08/gmail-https-doe.html#comment-127126868">much awaited HTTPs option</a> that allow you to force secure encryption of your sessions:<br /> <img src="http://kevin.deldycke.com/wp-content/uploads/2008/11/gmail-force-https.png" alt="" title="gmail-force-https" width="390" height="82" class="aligncenter size-full center wp-image-380" /></p><p>These two updates are quite interesting to note. I long as I remember (and I might be wrong), Google Apps components were always out-of-sync with their legacy equivalent. So this maybe a sign of change in a really good direction for Google Apps users ! <img src='http://kevin.deldycke.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p> ]]></content:encoded> <wfw:commentRss>http://kevin.deldycke.com/2008/11/google-apps-video-chat-comes-with-secure-gmail-sessions/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </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
Database Caching 2/26 queries in 0.012 seconds using apc
Object Caching 730/791 objects using apc

Served from: kevin.deldycke.com @ 2012-02-08 03:46:39 -->
