<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SleepMap (Posts about admin)</title><link>https://sleepmap.de/</link><description></description><atom:link href="https://sleepmap.de/categories/cat_admin.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2022 &lt;a href="mailto:dave@sleepmap.de"&gt;David Runge&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;CC BY-NC-SA 4.0&lt;/a&gt;</copyright><lastBuildDate>Mon, 12 Dec 2022 10:30:50 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>New PGP key ID 1793DAD5D803A8FFD7451697BB992F9864FAD168</title><link>https://sleepmap.de/2022/new-pgp-key-id-1793dad5d803a8ffd7451697bb992f9864fad168/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;p&gt;As my current &lt;a target="blank" href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy"&gt;PGP&lt;/a&gt; key &lt;code class="docutils literal"&gt;91BD8815FE0040FA7FF5D68754C28F4FF5A1A949&lt;/code&gt; will be
expired soon, I have created a new one to replace it.&lt;/p&gt;
&lt;p&gt;You can get my new key &lt;code class="docutils literal"&gt;1793DAD5D803A8FFD7451697BB992F9864FAD168&lt;/code&gt; as well as
the old one and the cross-signatures required to establish the &lt;a target="blank" href="https://en.wikipedia.org/wiki/Chain_of_trust"&gt;chain of trust&lt;/a&gt;
between the two via Web Key Directory (&lt;a target="blank" href="https://wiki.gnupg.org/WKD"&gt;WKD&lt;/a&gt;) (which should be used
automatically by &lt;code class="docutils literal"&gt;gpg &amp;gt;= 2.1.23&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;To not deal with the rather convoluted &lt;a target="blank" href="https://gnupg.org/"&gt;gnupg&lt;/a&gt; tooling I have created a
deployment method for this using &lt;a target="blank" href="https://sequoia-pgp.org/"&gt;sequoia-pgp&lt;/a&gt;'s &lt;a target="blank" href="https://man.archlinux.org/man/sq.1"&gt;sq&lt;/a&gt;, about which you can read
in the rest of this article.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2022/new-pgp-key-id-1793dad5d803a8ffd7451697bb992f9864fad168/"&gt;Read more…&lt;/a&gt; (2 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>chain of trust</category><category>gnupg</category><category>gpg</category><category>infrastructure</category><category>openpgp</category><category>sequoia</category><category>sq</category><category>web key directory</category><category>web of trust</category><guid>https://sleepmap.de/2022/new-pgp-key-id-1793dad5d803a8ffd7451697bb992f9864fad168/</guid><pubDate>Sat, 30 Apr 2022 08:35:57 GMT</pubDate></item><item><title>Securely serving webapps using uWSGI</title><link>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Ever since I have been running my own &lt;a href="https://archlinux.org" target="_blank"&gt;Arch Linux&lt;/a&gt; box to serve my services, I used &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; in conjunction with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;So instead of using &lt;a href="https://php-fpm.org/" target="_blank"&gt;php-fpm&lt;/a&gt; and be limited to just &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt;, I can use a single application server to do all of them (&lt;a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank"&gt;CGI&lt;/a&gt;, &lt;a href="https://www.python.org/" target="_blank"&gt;Python&lt;/a&gt;, &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt; and even the stuff I don't use, such as &lt;a href="https://rack.github.io/" target="_blank"&gt;Ruby Rack&lt;/a&gt;, &lt;a href="http://www.mono-project.com/" target="_blank"&gt;Mono&lt;/a&gt;, &lt;a href="https://www.java.com/en/" target="_blank"&gt;Java&lt;/a&gt;, &lt;a href="https://www.lua.org/" target="_blank"&gt;Lua&lt;/a&gt;, &lt;a href="https://www.perl.org/" target="_blank"&gt;Perl&lt;/a&gt;, &lt;a href="http://www.webdav.org/" target="_blank"&gt;WebDAV&lt;/a&gt;). They are all separately installable as plugins.&lt;/div&gt;
&lt;div class="line"&gt;Static sites, such as this, default to being served by &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; directly of course.&lt;/div&gt;
&lt;div class="line"&gt;Over time I found &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt; to be a very versatile and powerful piece of software that has many advantages (over e.g. &lt;a href="https://httpd.apache.org/" target="_blank"&gt;Apache&lt;/a&gt;):&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;socket activation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;webapp encapsulation and jailing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;self-healing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;being able to separetely manage services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;exit after idle&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;I'll explain the services I use (&lt;a href="https://mantisbt.org/" target="_blank"&gt;MantisBT&lt;/a&gt;, &lt;a href="https://roundcube.net/" target="_blank"&gt;roundcube&lt;/a&gt;, &lt;a href="https://owncloud.org" target="_blank"&gt;ownCloud&lt;/a&gt;, &lt;a href="http://list.org/" target="_blank"&gt;Mailman&lt;/a&gt;, &lt;a href="https://github.com/claudehohl/Stikked" target="_blank"&gt;Stikked&lt;/a&gt;, &lt;a href="https://wordpress.org" target="_blank"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://postfixadmin.sourceforge.net/" target="_blank"&gt;Postfixadmin&lt;/a&gt;, &lt;a href="https://www.phpmyadmin.net/" target="_blank"&gt;phpMyAdmin&lt;/a&gt;, &lt;a href="https://git.zx2c4.com/cgit/" target="_blank"&gt;cgit&lt;/a&gt;, &lt;a href="https://www.mediawiki.org/wiki/MediaWiki" target="_blank"&gt;MediaWiki&lt;/a&gt;, &lt;a href="http://etherpad.org" target="_blank"&gt;Etherpad&lt;/a&gt; ) along with configuration examples and their possible pitfalls.&lt;/div&gt;
&lt;div class="line"&gt;In my last post about &lt;a class="reference external" href="https://sleepmap.de/2016/2016/lets-encrypt-it-all"&gt;Let's Encrypt&lt;/a&gt; I already showed some examples on how to configure &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; for the use with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;. Let's jump right in.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/"&gt;Read more…&lt;/a&gt; (20 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>application server</category><category>arch linux</category><category>cgit</category><category>mediawiki</category><category>nginx</category><category>owncloud</category><category>php</category><category>python</category><category>redis</category><category>roundcube</category><category>security</category><category>sockets</category><category>systemd</category><category>uwsgi</category><category>webapps</category><category>wordpress</category><guid>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</guid><pubDate>Sat, 08 Oct 2016 07:00:00 GMT</pubDate></item><item><title>Let's encrypt it all</title><link>https://sleepmap.de/2016/lets-encrypt-it-all/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;For a couple of months now I have been using &lt;a href="https://letsencrypt.org" target="_blank"&gt;Let's Encrypt&lt;/a&gt; to generate free and valid certificates for all the services I run.&lt;/div&gt;
&lt;div class="line"&gt;In many places the free &lt;a href="https://en.wikipedia.org/wiki/Certificate_authority" target="_blank"&gt;Certificate Authority&lt;/a&gt; (short CA) has spread like wild-fire. From small to large scale services, many adopted it and &lt;a href="https://letsencrypt.org/2016/03/08/our-millionth-cert.html" target="_blank"&gt;the amount of issued certificates has grown over 1 million in just four months&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;As a visitor to this website you have probably noticed the small green lock sign next to the address bar. The certificate used for this website is accepted to be valid by your browser (and also by your operating system).&lt;/div&gt;
&lt;div class="line"&gt;If you're up for some background knowledge, just read on. If you're up for some hands-on technical stuff, &lt;a class="reference external" href="https://sleepmap.de/2016/lets-encrypt-it-all/#letsencrypt-howto"&gt;jump right on to the howto&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;Just note: This is a veeeeeeery long article in any case.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2016/lets-encrypt-it-all/"&gt;Read more…&lt;/a&gt; (16 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>acme</category><category>arch linux</category><category>certbot</category><category>certificate</category><category>dovecot</category><category>hidden service</category><category>letsencrypt</category><category>nginx</category><category>openssl</category><category>owncloud</category><category>postfix</category><category>prosody</category><category>roundcube</category><category>security</category><category>ssl</category><category>systemd</category><category>tls</category><category>vpn</category><guid>https://sleepmap.de/2016/lets-encrypt-it-all/</guid><pubDate>Thu, 29 Sep 2016 18:00:00 GMT</pubDate></item><item><title>SSH tunnel with single hop, using systemd-networkd and autossh</title><link>https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Recently I had the pleasure of setting up a &lt;abbr title="Secure Shell"&gt;SSH&lt;/abbr&gt; tunnel between two virtual machines that share no route and are located in two different subnets.&lt;/div&gt;
&lt;div class="line"&gt;They can however reach each other via SSH, hopping their host.&lt;/div&gt;
&lt;div class="line"&gt;Let's assume the following setup:&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;client1&lt;/strong&gt; (Arch Linux) has &lt;em&gt;10.0.5.2/24&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;client2&lt;/strong&gt; (Arch Linux) has &lt;em&gt;10.0.6.2/24&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;host&lt;/strong&gt; (Debian) is &lt;em&gt;10.0.5.1/24&lt;/em&gt; to &lt;strong&gt;client1&lt;/strong&gt; and &lt;em&gt;10.0.6.1/24&lt;/em&gt; to &lt;strong&gt;client2&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;As I needed the two clients to be able to send mail to each other and reach each others' services, I did some digging and opted for a SSH connection using &lt;abbr title="network TUNnel (virtual-network kernel devices)"&gt;TUN&lt;/abbr&gt; devices (aka. "poor man's &lt;abbr title="Virtual Private Network"&gt;VPN&lt;/abbr&gt;").&lt;/div&gt;
&lt;div class="line"&gt;The following is needed to set this up:&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;root access on both virtual machines (&lt;strong&gt;client1&lt;/strong&gt; &amp;amp; &lt;strong&gt;client2&lt;/strong&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a user account on the &lt;strong&gt;host&lt;/strong&gt; system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSH (&lt;a href="http://openssh.com" target="_blank"&gt;OpenSSH&lt;/a&gt; assumed) installed on all three machines&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>autossh</category><category>postfix</category><category>ssh</category><category>systemd</category><category>systemd.network</category><category>TUN</category><category>tunnel</category><guid>https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/</guid><pubDate>Sun, 01 Feb 2015 18:00:00 GMT</pubDate></item></channel></rss>