<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Austin E Osuide on Medium]]></title>
        <description><![CDATA[Stories by Austin E Osuide on Medium]]></description>
        <link>https://medium.com/@austineosuide?source=rss-e7dcad5e0c9e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*nxD_i5oWcg0EGXTq.jpg</url>
            <title>Stories by Austin E Osuide on Medium</title>
            <link>https://medium.com/@austineosuide?source=rss-e7dcad5e0c9e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 20:24:23 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@austineosuide/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Installing Hashicorp Vault on a Raspberry Pi 4]]></title>
            <link>https://austineosuide.medium.com/installing-hashicorp-vault-on-a-raspberry-pi-4-1b1716f3cf51?source=rss-e7dcad5e0c9e------2</link>
            <guid isPermaLink="false">https://medium.com/p/1b1716f3cf51</guid>
            <category><![CDATA[hashicorp-vault]]></category>
            <category><![CDATA[ca-certificates]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[homelab]]></category>
            <category><![CDATA[raspberry-pi]]></category>
            <dc:creator><![CDATA[Austin E Osuide]]></dc:creator>
            <pubDate>Mon, 15 Feb 2021 12:17:30 GMT</pubDate>
            <atom:updated>2021-02-17T14:06:29.459Z</atom:updated>
            <content:encoded><![CDATA[<p>As you do, you’d want to have a ‘fully functional’ OSS instance of Vault in your homelab and not the ‘dev’ instance which loads ‘unsealed’. This is good practice if you want to simulate a production environment with the intricacies of certificate management and gives you a, more or less, permanent Vault for use in your lab. So, without further ado, the steps:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/610/1*NmTr1dgmdl2xLb9OLOQ5jg.png" /></figure><ul><li>Install groovy gorilla: Ubuntu 20.10 on RPi 4</li></ul><p><a href="https://ubuntu.com/download/raspberry-pi">https://ubuntu.com/download/raspberry-pi</a></p><ul><li>Download Hashicorp Vault</li></ul><p>wget <a href="https://releases.hashicorp.com/vault/1.6.2/vault_1.6.2_linux_arm.zip">https://releases.hashicorp.com/vault/1.6.2/vault_1.6.2_linux_arm.zip</a></p><ul><li>Install unzip &amp; Unzip</li></ul><p>unzip vault_1.6.2_linux_arm.zip</p><ul><li>Move vault to /usr/bin</li></ul><p>sudo mv vault /usr/bin</p><ul><li>Confirm all good</li></ul><p>vault -v</p><ul><li>Set Linux capability flags which let vault perform memory locking without elevating its privileges:</li></ul><p>sudo setcap cap_ipc_lock=+ep /usr/bin/vault</p><ul><li>Create vault data folder</li></ul><p>sudo mkdir ~/hashicorp/vault-data</p><p>#(make sure folder hashicorp already exists)</p><ul><li>Create startup vault user:</li></ul><p>sudo useradd -r -d ~/hashicorp/vault-data -s /bin/nologin vault</p><ul><li>Set /vault-data ownership to vault user and group exclusively:</li></ul><p>sudo install -o vault -g vault -m 750 -d ~/hashicorp/vault-data</p><ul><li>Create Vault configuration file</li></ul><p>sudo nano /etc/vault.hcl</p><blockquote>ui = true</blockquote><blockquote>storage &quot;file&quot; {</blockquote><blockquote>path = &quot;/home/ubuntu/hashicorp/vault-data&quot;</blockquote><blockquote>}</blockquote><blockquote>listener &quot;tcp&quot; {</blockquote><blockquote>address = &quot;192.168.1.79:8200&quot;</blockquote><blockquote>tls_min_version = &quot;tls12&quot;</blockquote><blockquote>tls_cert_file = &quot;/etc/letsencrypt/live/black-pearl/fullchain.pem&quot;</blockquote><blockquote>tls_key_file = &quot;/etc/letsencrypt/live/black-pearl/privkey.pem&quot;</blockquote><blockquote>tls_disable_client_certs = true</blockquote><blockquote>}</blockquote><ul><li>Change ownership of file:</li></ul><p>sudo chown vault:vault /etc/vault.hcl</p><p>sudo chmod 640 /etc/vault.hcl</p><ul><li>Launch Vault as a service</li></ul><p>sudo nano /etc/systemd/system/vault.service</p><p>[Unit]</p><p>Description=HashiCorp Vault to manage secrets</p><p>Documentation=https://vaultproject.io/docs/</p><p>After=network-online.target</p><p>ConditionFileNotEmpty=/etc/vault.hcl</p><blockquote>[Service]</blockquote><blockquote>User=vault</blockquote><blockquote>Group=vault</blockquote><blockquote>ExecStart=/usr/bin/vault server -config=/etc/vault.hcl</blockquote><blockquote>ExecReload=/usr/bin/kill -1 $MAINPID</blockquote><blockquote>Restart=on-failure</blockquote><blockquote>KillMode=process</blockquote><blockquote>CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK</blockquote><blockquote>AmbientCapabilities=CAP_IPC_LOCK</blockquote><blockquote>SecureBits=keep-caps</blockquote><blockquote>NoNewPrivileges=yes</blockquote><blockquote>KillSignal=SIGINT</blockquote><blockquote>[Install]</blockquote><blockquote>WantedBy=multi-user.target</blockquote><ul><li>Get the service running:</li></ul><p>systemctl daemon-reload</p><p>systemctl start vault.service</p><p>systemctl status vault.service</p><ul><li>Let&#39;s get ready to rumble!! Set you env variables for Vault</li></ul><p>export VAULT_ADDRESS=http://192.168.1.79:8200</p><p>echo &quot;export VAULT_ADDR=http://192.168.1.79:8200&quot; &gt;&gt; ~/.bashrc</p><ul><li>Initialise Vault</li></ul><p>vault operator init</p><p><em>Unseal Key 1: b199iVYvYNwvOEUCFVk6fv7lfGYgnlcxxxxxxxxxqgSC</em></p><p><em>Unseal Key 2: qQ0ogSS6oM0hm8nbAvxFFRakbBxxxxxxxxxxFYY+k9</em></p><p><em>Unseal Key 3: UMi3HKQwxxxxxxxxxxX2mdmEbO/WHfMSvLfOI93</em></p><p><em>Unseal Key 4: aREgLDE8c+oxxxxxxxxxxV4Kd2+x68xqYxax2qjSfnw/</em></p><p><em>Unseal Key 5: t/3kKShdtxxxxxxxxxxomb4c8Ho2hY5i21C8ZRpAgilq</em></p><p><em>Initial Root Token: s.aVnfOxFMxxxxxxxxx5Fe4flz7vp9Fo</em></p><ul><li>Use the unseal keys to unseal vault</li></ul><p>vault operator unseal b199iVYvYNwvOEUCFVk6fv7lfGYgnlcxxxxxxxxxqgSC</p><p>vault operator unseal qQ0ogSS6oM0hm8nbAvxFFRakbBxxxxxxxxxxFYY+k9</p><p>vault operator unseal UMi3HKQwxxxxxxxxxxX2mdmEbO/WHfMSvLfOI9</p><ul><li>This should result in an unsealed Vault as shown below:</li></ul><blockquote>Key Value</blockquote><blockquote>--- -----</blockquote><blockquote>Seal Type shamir</blockquote><blockquote>Initialized true</blockquote><blockquote><strong>Sealed false</strong></blockquote><blockquote>Total Shares 5</blockquote><blockquote>Threshold 3</blockquote><blockquote>Version 1.6.2</blockquote><blockquote>Storage Type file</blockquote><blockquote>Cluster Name vault-cluster-ebcec4ba</blockquote><blockquote>Cluster ID bb776d03-25c3-966a-c0c8-9a336b73bc9e</blockquote><blockquote>HA Enabled false</blockquote><ul><li>The vault UI can also be accessed at the IP or hostname on server certificate</li></ul><p><a href="https://192.168.1.79:8200/ui/">https://192.168.1.79:8200/ui/</a></p><ul><li>The certificates distributed to vault come from an internal CA also <a href="https://smallstep.com/blog/build-a-tiny-ca-with-raspberry-pi-yubikey/">running on a RPi</a></li><li>These certs have a validity period of 2hrs so need to rotate them. We use certbot &amp; systemd for this.</li><li>Create certbot service</li></ul><p>sudo nano /etc/systemd/system/certbot.service</p><blockquote># /etc/systemd/system/certbot.service<br>[Unit]<br>Description=certbot renewal service<br>Documentation=<a href="https://certbot.eff.org/#ubuntuxenial-nginx">https://certbot.eff.org/#ubuntuxenial-nginx</a><br>After=network-online.target</blockquote><blockquote>[Service]<br>Environment=”REQUESTS_CA_BUNDLE=/home/ubuntu/.step/certs/root_ca.crt” \<br>“STEPPATH=/home/ubuntu/.step” \<br>“CERT_LOCATION=/etc/letsencrypt/live/&lt;servername&gt;/cert.pem” \<br>“KEY_LOCATION=/etc/letsencrypt/live/&lt;servername&gt;/key.pem”</blockquote><blockquote>ExecCondition=/usr/bin/bash -c \<br> ‘step certificate inspect $CERT_LOCATION — format json — roots “$STEPPATH/certs/root_ca.crt” | \<br> jq -e “(((.validity.start | fromdate) + \<br> ((.validity.end | fromdate) — (.validity.start | fromdate)) * 0.66) \<br> — now) &lt;= 0” &gt; /dev/null’<br>ExecStart=/snap/bin/certbot -q renew<br>ExecStartPost=/bin/systemctl reload vault.service<br>Type=oneshot</blockquote><ul><li>Create timer service that triggers certbot service:</li></ul><p>sudo nano /etc/systemd/system/certbot.timer</p><blockquote>[Unit]</blockquote><blockquote>Description=Ongoing renewal of certificates</blockquote><blockquote>[Timer]</blockquote><blockquote>OnCalendar=*:0/15</blockquote><blockquote>RandomizedDelaySec=10</blockquote><blockquote>Persistent=true</blockquote><blockquote>[Install]</blockquote><blockquote>WantedBy=timers.target</blockquote><ul><li>Reload the service daemon:</li></ul><p>sudo systemctl daemon-reload</p><ul><li>Enable the timer service:</li></ul><p>sudo systemctl enable certbot.timer</p><ul><li>Start the timer service:</li></ul><p>sudo systemctl start certbot.timer</p><p>This should get Vault running and functional in your home lab with short-lived TLS certificates working in the mix.</p><ul><li>Addendum:<br>You may need to modify the permissions on /etc/letsencrypt/live/ and /etc/letsencrypt/archive/ with:</li></ul><p>chmod 755 /etc/letsencrypt/live/<br>chmod 755 /etc/letsencrypt/archive/<br>(<a href="https://github.com/certbot/certbot/issues/5257">https://github.com/certbot/certbot/issues/5257</a>)</p><p>Enjoy!!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1b1716f3cf51" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The new threat to your home network]]></title>
            <link>https://austineosuide.medium.com/the-new-threat-to-your-home-network-9b8eb492f754?source=rss-e7dcad5e0c9e------2</link>
            <guid isPermaLink="false">https://medium.com/p/9b8eb492f754</guid>
            <category><![CDATA[home-network]]></category>
            <category><![CDATA[hacker]]></category>
            <category><![CDATA[pfsense]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[iot-security]]></category>
            <dc:creator><![CDATA[Austin E Osuide]]></dc:creator>
            <pubDate>Fri, 24 Jul 2020 00:30:43 GMT</pubDate>
            <atom:updated>2020-07-24T00:30:43.488Z</atom:updated>
            <content:encoded><![CDATA[<p>This may not be news to some but I felt a need to share a recent experience. It all started about 3 weeks ago at something like half three in the morning, as you do, now that sleep-cycles are now non-existent: I was listening to a talk on YouTube when my Internet connection suddenly dropped. I did the usual checks and concluded my ISP, PlusNet, which has hitherto been most reliable, was having an unusual glitch. It would be sorted by morning, I thought, and went to bed.</p><p>I was up by 7am to make sure The Boss was not without the Internet only to find it still disconnected. A slight panic now set in as this was most unusual.</p><p>Long story short, I called ISP and help desk reset something at their end and I was told to reboot the router. Part of the information I was also given was that my router was 6 years old! Six years!! They offered to send me a replacement at some cost but I declined the offer.</p><p>Well, after the reboot, the Internet was restored but I realised I had a serious problem: A six year old Internet router is a significant security risk to my home network. I checked the firmware on the router and the last time it was updated was 2016, four years ago! And it was no longer supported. Yikes!!</p><p>I had to do something about this, I thought. With most of the UK now working from home, our home networks are significantly more attractive to malicious actors who may be after any high value assets connected to them like company/business computers.</p><p>Accentuating the threat is the number of Internet connected devices the average household now has. I have 52 Internet connected devices in my 2 person household (Ring, temp &amp; humidity sensors, Alexa devices, mobile phones, TVs, Smart this, Smart that). Any one of these devices, if breached, could be the launchpad for lateral movement.</p><p>Working from home is going nowhere soon so I came up with a plan to better protect and segment my home network.</p><p>I invested in an OpenWRT router, a pfSense firewall and used VLANs to segment the network: IoT and other devices can talk to the Internet but not my “secure subnet’ and I can manage the network from the secure subnet.</p><p>The layout now looks something like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OiNBl6FX0H0pqTwy2HcIdQ.png" /><figcaption>New Network Layout</figcaption></figure><p>I’ve been running the firewall for a few days now and, believe it or not, what we suspected will happen is happening already. But not from the expected or ‘usual suspects’.</p><p>Also what I see on my network is unlikely to be specific to me. My external IP address, to all intents and purposes, is ‘dead’ to external scrutiny (grc scan). So, what I see must be random scanning of subscriber IP networks looking for easy takings.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*akt8H0NhDqWRDWgc0lMbDw.png" /><figcaption>Gibson Research Scan Result</figcaption></figure><p>So where do these scans and potentially malicious probes come from? This is what I’ve observed so far:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*9rZ8NyJsSt9gNddPlWpwWg.png" /><figcaption>pfBlocker Report</figcaption></figure><p>Over half the malicious scans, 57%, can be attributed to nodes from the US and Russia. China is a “distant” 4th, contributing 8% of malicious traffic.</p><p>It seems like the US and Russia are the folk we need to be worried about! :)</p><p>I can only imagine these probes will get more intense with time and will probably get more clever too. No device is hack-proof and part of surviving in this “new way of life” is to take better ownership of your home network.</p><p>Checking your Internet router is up to date with firmware and software versions is a good place to start.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9b8eb492f754" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>