Wild codehttp://blog.viraptor.info/Sun, 04 Oct 2020 12:00:00 +0000Who cares about security by obscurityhttp://blog.viraptor.info/post/who-cares-about-security-by-obscurity<div class="section" id="what-s-security-by-obscurity"> <h2>What&#8217;s security by&nbsp;obscurity</h2> <p>I end up taking about the security by obscurity with other engineers and it&#8217;s sometimes not easy to classify what solution is or isn&#8217;t of that kind. Recently the conversation online was <a class="reference external" href="https://utkusen.com/blog/security-by-obscurity-is-underrated.html">restarted with a post</a>. I&#8217;d like to propose a different …</p></div>viraptorSun, 04 Oct 2020 12:00:00 +0000tag:blog.viraptor.info,2020-10-04:/post/who-cares-about-security-by-obscuritymiscsecuritylinuxsshOn finding remote workhttp://blog.viraptor.info/post/on-finding-remote-work<p class="first last">Some experiences on finding remote&nbsp;work.</p> viraptorTue, 07 Feb 2017 12:00:00 +0000tag:blog.viraptor.info,2017-02-07:/post/on-finding-remote-workmiscwork remote interviewsCreating containers by handhttp://blog.viraptor.info/post/creating-containers-by-hand<p class="first last">How to create a minimal Alpine container from scratch. With some comments about what the containers actually&nbsp;are.</p> viraptorMon, 16 Jan 2017 12:00:00 +0000tag:blog.viraptor.info,2017-01-16:/post/creating-containers-by-handmisccontainers systemdWhen is a tor exit not an exithttp://blog.viraptor.info/post/when-is-a-tor-exit-not-an-exit<div class="section" id="are-all-exits-real"> <h2>Are all exits&nbsp;real?</h2> <p>I wrote previously about monitoring a fragment of the tor network traffic without actually being a real exit (and therefore limitting the potential of legal trouble). Since the way to do this is rather simple, I decided to check if anyone else is using the same …</p></div>viraptorMon, 21 Nov 2016 12:00:00 +0000tag:blog.viraptor.info,2016-11-21:/post/when-is-a-tor-exit-not-an-exitmisctorpythonprivacySatellites and possibilitieshttp://blog.viraptor.info/post/satellites-and-possibilities<div class="section" id="the-announcement"> <h2>The&nbsp;announcement</h2> <p>Many news services reported already on the SpaceX plan to launch a number of satellites to provide internet access; for example <a class="reference external" href="http://arstechnica.com/information-technology/2016/11/spacex-plans-worldwide-satellite-internet-with-low-latency-gigabit-speed/">Ars</a>, or more specific discussion at <a class="reference external" href="https://www.reddit.com/r/spacex/comments/5d9724/spacex_has_filed_for_their_massive_constellation/">reddit</a>. In short, SpaceX is planning to set up a constellation of over 4k satellites that provide two directional internet access …</p></div>viraptorFri, 18 Nov 2016 12:00:00 +0000tag:blog.viraptor.info,2016-11-18:/post/satellites-and-possibilitiesmiscinternetsatellitesspacexOwn automatic phishing list and Tor-to-Tor tunnelinghttp://blog.viraptor.info/post/own-automatic-phishing-list-and-tor-to-tor-tunneling<div class="section" id="getting-own-malware-lists"> <h2>Getting own malware&nbsp;lists</h2> <p>Many extensions like uBlock will provide you with curated lists of malicious URLs and domains. This is easy to use and will stop most bad things from happening. But what if you wanted to have your own updates that do not have to take time to …</p></div>viraptorThu, 06 Oct 2016 18:00:00 +0000tag:blog.viraptor.info,2016-10-06:/post/own-automatic-phishing-list-and-tor-to-tor-tunnelingmiscpythondnssecuritytorphishingOptimising and batch processing datahttp://blog.viraptor.info/post/optimising-and-batch-processing-data<div class="section" id="the-challenge"> <h2>The&nbsp;challenge</h2> <p>A few days ago I saw a <a class="reference external" href="https://twitter.com/ProfFalken/status/772675210885627905">tweet</a> from my friend&nbsp;saying:</p> <blockquote> <p>That feeling when you process 5,275,521 records from #<span class="caps">JSON</span> to #MySQL in 43 minutes thanks to &#64;celeryproject and &#64;sqlalchemy!&nbsp;#Python</p> <p class="attribution">&mdash;&#64;ProfFalken</p> </blockquote> <p>My first thought was: great! The second one was&#8230; that doesn&#8217;t sound …</p></div>viraptorSun, 02 Oct 2016 15:00:00 +0000tag:blog.viraptor.info,2016-10-02:/post/optimising-and-batch-processing-datamiscpythonqueuedevelopmentoptimisationI wrote a website in Rust and lived to tell the talehttp://blog.viraptor.info/post/i-wrote-a-website-in-rust-and-lived-to-tell-the-tale<p>I wanted to create a website for a personal project. This is usually the great opportunity to learn - no time pressure, no external requirements, etc. That meant I could choose the language I wanted to try out in anger (Rust) and take it for a spin. Here&#8217;s a short …</p>viraptorSat, 30 May 2015 21:40:00 +0000tag:blog.viraptor.info,2015-05-30:/post/i-wrote-a-website-in-rust-and-lived-to-tell-the-talemiscrustwebprogrammingA different take on remote executionhttp://blog.viraptor.info/post/a-different-take-on-remote-execution<p>Usually we experience two types of remote execution in&nbsp;practice:</p> <ul> <li>You log in to some remote machine and run the application there (ssh),&nbsp;and</li> <li>You get remote application copied locally and run it (mounting remote filesystems, javascript download,&nbsp;etc.)</li> </ul> <p>There are other ideas too of course, but less popular in …</p>viraptorWed, 25 Mar 2015 12:00:00 +0000tag:blog.viraptor.info,2015-03-25:/post/a-different-take-on-remote-executionmisclinuxsyscallccodeexperimentYour wifi shows me where you live, work and travelhttp://blog.viraptor.info/post/your-wifi-shows-me-where-you-live-work-and-travel<p>Many people may already know that all your devices try to broadcast your previous connections. I expect that many more have no idea that&#8217;s happening. There have been articles published about it before, but without specific&nbsp;examples.</p> <h1>WiFi&nbsp;probes</h1> <p>In order to connect to known networks which don&#8217;t …</p>viraptorWed, 11 Mar 2015 12:00:00 +0000tag:blog.viraptor.info,2015-03-11:/post/your-wifi-shows-me-where-you-live-work-and-travelmiscwifisecurityprivacyprobesSeccomp sandboxes and memcached example, part 2http://blog.viraptor.info/post/seccomp-sandboxes-and-memcached-example-part-2<p>As explained in the <a href="/post/seccomp-sandboxes-and-memcached-example-part-1">previous post</a>, seccomp can be used for protecting the system and users from misbehaving and exploited applications. But there has to be some work done to actually enable the protection it offers. That&#8217;s where the programming part starts and possibly some exploration of the application …</p>viraptorWed, 25 Feb 2015 12:00:00 +0000tag:blog.viraptor.info,2015-02-25:/post/seccomp-sandboxes-and-memcached-example-part-2miscmemcacheseccomplinuxSeccomp sandboxes and memcached example, part 1http://blog.viraptor.info/post/seccomp-sandboxes-and-memcached-example-part-1<p>Many programs running for a long time on some server do not do random, unpredictable things. They actually have a pretty well defined set of behaviours and anything that is outside of that set could be automatically treated as a bug, or a hack. For example databases do a lot …</p>viraptorWed, 04 Feb 2015 12:00:00 +0000tag:blog.viraptor.info,2015-02-04:/post/seccomp-sandboxes-and-memcached-example-part-1miscmemcacheseccomplinuxReducing a network problem to a file problem (fuzzing)http://blog.viraptor.info/post/104373878281/reducing-a-network-problem-to-a-file-problem<p>There&#8217;s been a number of issues lately found by fuzzing input files (<em>strings</em>, <em>lesspipe</em>, various image issues, etc.), but these are all stateless apps / libraries. It&#8217;s much easier to fuzz input for <em>strings</em> for example, than client input to <em>mysql</em> server. The <a href="https://fuzzing-project.org/">fuzzing project</a> is actually concentrating on …</p>viraptorFri, 05 Dec 2014 12:57:00 +0000tag:blog.viraptor.info,2014-12-05:/post/104373878281/reducing-a-network-problem-to-a-file-problemmiscfuzzingprogramminglinuxsystemdaflThings that go boom and hang with vagrant and archhttp://blog.viraptor.info/post/78913741974/things-that-go-boom-and-hang-with-vagrant-and-arch<p>Here&#8217;s a list of things that currently fail when trying to run vagrant under Arch. Hopefully I hit most of the keywords from errors and you&#8217;re reading this because you ran into one of&nbsp;those.</p> <h3>Vagrant is not an official Arch&nbsp;package.</h3> <p>It&#8217;s in <span class="caps">AUR</span> though - https …</p>viraptorSat, 08 Mar 2014 14:59:00 +0000tag:blog.viraptor.info,2014-03-08:/post/78913741974/things-that-go-boom-and-hang-with-vagrant-and-archmiscvagrantkvmlibvirtarchlinuxfailfreezehangUbuntu unattended upgrades the salt wayhttp://blog.viraptor.info/post/75262988169/ubuntu-unattended-upgrades-the-salt-way<p>There are many ways to turn on the unattended upgrades in Ubuntu. Creating files in /etc/apt/apt.conf.d, reconfiguring the package by hand, reinstalling after debconf,&nbsp;etc.</p> <p>Here&#8217;s a simple way to do it with salt without breaking the Ubuntu / debconf&nbsp;integration:</p> <div class="highlight"><pre><span></span><span class="n">unattended</span><span class="o">-</span><span class="n">upgrades</span><span class="p">:</span> <span class="n">debconf</span><span class="p">.</span><span class="k">set</span><span class="p">:</span> <span class="o">-</span> <span class="k">data …</span></pre></div>viraptorSun, 02 Feb 2014 03:25:00 +0000tag:blog.viraptor.info,2014-02-02:/post/75262988169/ubuntu-unattended-upgrades-the-salt-waymiscsaltubuntuunattended upgradeAre your data archives append-only?http://blog.viraptor.info/post/62559740222/are-your-data-archives-append-only<p>Any long-term data archives you keep - backups, copies of logs, code repositories, audit entries, etc. Are they append-only? I don&#8217;t mean from the perspective of the account owner. Of course the operator is able to do whatever he wants with those files, including deleting&nbsp;them.</p> <p>But what about your …</p>viraptorSun, 29 Sep 2013 10:35:00 +0000tag:blog.viraptor.info,2013-09-29:/post/62559740222/are-your-data-archives-append-onlymiscbackupsecuritydevopsIssues with preseeding dbconfighttp://blog.viraptor.info/post/60000186508/issues-with-preseeding-dbconfig<p>There&#8217;s an interesting side effect to way Debian-like systems handle the database configuration for various packages. Instead of each package setting the connection parameters on their own, they reuse the abstraction provided by package &#8216;dbconfig-common&#8217;. This is all fine in theory, but unfortunately dbconfig doesn&#8217;t seem to behave …</p>viraptorMon, 02 Sep 2013 05:31:37 +0000tag:blog.viraptor.info,2013-09-02:/post/60000186508/issues-with-preseeding-dbconfigmiscpreseedubuntusaltautomationConstructing a (linux) home backup systemhttp://blog.viraptor.info/post/51516551067/constructing-a-linux-home-backup-system<p>I&#8217;ve got a couple of Linux machines that need a transparent backup solution at home. Transparent as in - they should happen all the time, without asking, without notification, without any interaction. Ideally it shouldn&#8217;t run on the client either just to avoid issues with system updates. Making it …</p>viraptorTue, 28 May 2013 10:12:00 +0000tag:blog.viraptor.info,2013-05-28:/post/51516551067/constructing-a-linux-home-backup-systemmiscbackuplinuxrsyncrsnapshotSIP testing (rescued from stackoverflow)http://blog.viraptor.info/post/51192360154/sip-testing-rescued-from-stackoverflow<p>Just a popular stackoverflow question <span class="amp">&amp;</span> answer which was deleted as not constructive even with 10+ score and thousands of views (by a mod, so can&#8217;t vote to revert - thanks!) Keep in mind that it&#8217;s from 2009 without later&nbsp;reviews.</p> <h2>Question:</h2> <p>I am searching for a tool that tests …</p>viraptorFri, 24 May 2013 11:38:00 +0000tag:blog.viraptor.info,2013-05-24:/post/51192360154/sip-testing-rescued-from-stackoverflowmiscsipstackoverflowtestingdeletionismSetting up Flashcache the hard way and some talk about initramfshttp://blog.viraptor.info/post/45310603661/setting-up-flashcache-the-hard-way-and-some-talk<p>If you follow the latest versions of&#8230; everything and tried to install flashcache you probably noticed that none of the current guides are correct regarding how to install it. Or they are mostly correct but with some bits missing. So here&#8217;s an attempt to do a refreshed guide. I …</p>viraptorThu, 14 Mar 2013 12:20:00 +0000tag:blog.viraptor.info,2013-03-14:/post/45310603661/setting-up-flashcache-the-hard-way-and-some-talkmiscflashcachessdkernelinitcpiolinuxarchPeek and poke in the age of Linuxhttp://blog.viraptor.info/post/44424140237/peek-and-poke-in-the-age-of-linux<p>Some time ago I ran into a production issue where the <strong>init</strong> process (<strong>upstart</strong>) stopped behaving properly. Specifically, instead of spawning new processes, it deadlocked in a transitional state. To be precise, the init process itself was responsive, but the critical services were stuck in one of the pre- or …</p>viraptorSun, 03 Mar 2013 14:18:00 +0000tag:blog.viraptor.info,2013-03-03:/post/44424140237/peek-and-poke-in-the-age-of-linuxmiscPythoncodinghackspeekpokelinuxptraceABC of cracking ABC and unknown protocolshttp://blog.viraptor.info/post/43051577987/abc-of-cracking-abc-and-unknown-protocols<p>I started playing some flash-based <span class="caps">MMORPG</span> for fun lately. The limited options available to the characters in RPGs are not as entertaining as programming, so this didn&#8217;t last long; but it definitely gave me an idea&#8230; Can I get the event stream and decode it without knowing anything about …</p>viraptorThu, 14 Feb 2013 14:20:20 +0000tag:blog.viraptor.info,2013-02-14:/post/43051577987/abc-of-cracking-abc-and-unknown-protocolsmiscabcactionscriptflashencryptioncoding