<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Security on wgz.sh</title>
    <link>https://blog.wgz.sh/tags/security/</link>
    <description>Recent content in Security on wgz.sh</description>
    <generator>Hugo -- 0.153.1</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 26 Apr 2026 20:14:30 -0400</lastBuildDate>
    <atom:link href="https://blog.wgz.sh/tags/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Enabling Proxmox Firewall Rules for VMs</title>
      <link>https://blog.wgz.sh/posts/proxmox-firewall/</link>
      <pubDate>Sun, 26 Apr 2026 20:14:30 -0400</pubDate>
      <guid>https://blog.wgz.sh/posts/proxmox-firewall/</guid>
      <description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;
&lt;p&gt;In my homelab I&amp;rsquo;ve been tediously managing firewall rules using &lt;code&gt;ufw&lt;/code&gt;, &lt;code&gt;iptables&lt;/code&gt;, and &lt;code&gt;fail2ban&lt;/code&gt;. While this works well, I believe it&amp;rsquo;s overly complicated for my setup. This led me down the rabbit hole of how to implement firewall rules in Proxmox.&lt;/p&gt;
&lt;p&gt;Proxmox&amp;rsquo;s firewall is extremely competent, but it can be tricky as well.&lt;/p&gt;
&lt;p&gt;One thing I learned about Proxmox is that you need to make sure the firewall is enabled in multiple places. You have several layers of firewalling, one for the hosts, one for the VMs, and one for services running in VNETs. These firewall rules are backed by either &lt;code&gt;iptables&lt;/code&gt; or the more modern &lt;code&gt;nftables&lt;/code&gt; in the case of VNETs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fail2ban Observability</title>
      <link>https://blog.wgz.sh/posts/fail2ban-logging/</link>
      <pubDate>Wed, 31 Dec 2025 15:49:37 -0500</pubDate>
      <guid>https://blog.wgz.sh/posts/fail2ban-logging/</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;
&lt;p&gt;Today I wanted to discuss how I&amp;rsquo;m keeping track of Fail2ban logs on my Proxmox cluster.&lt;/p&gt;
&lt;p&gt;For those of you who don&amp;rsquo;t know what &lt;a href=&#34;https://github.com/fail2ban/fail2ban&#34;&gt;Fail2ban&lt;/a&gt; is, it is a simple program that can automatically
ban threats via iptables by parsing log files and scanning for regex patterns.&lt;/p&gt;
&lt;p&gt;Here is a sample file that can be parsed:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Definition&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;failregex &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; pvedaemon&lt;span style=&#34;color:#ae81ff&#34;&gt;\[&lt;/span&gt;.*authentication failure; rhost&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&amp;lt;HOST&amp;gt; user&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;.* msg&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;.*
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ignoreregex &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And here is the the jail configuration:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yubikey for Personal Use</title>
      <link>https://blog.wgz.sh/posts/yubi/</link>
      <pubDate>Mon, 24 Nov 2025 21:38:36 -0400</pubDate>
      <guid>https://blog.wgz.sh/posts/yubi/</guid>
      <description>&lt;p&gt;Hey Everyone!&lt;/p&gt;
&lt;p&gt;I wanted to share a small (pun intended) improvement to my personal security hygiene.&lt;/p&gt;
&lt;p&gt;That small improvement is called a &lt;a href=&#34;https://www.yubico.com/&#34;&gt;YubiKey&lt;/a&gt;! For those unaware, a YubiKey is a hardware-based MFA device. It supports an MFA standard known as FIDO2, which is much more secure than TOTP.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;alt text&#34; loading=&#34;lazy&#34; src=&#34;https://blog.wgz.sh/images/yubikey.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve begun implementing this across various applications including my personal email, DNS provider, and even 1Password. The main draw for me is that if any of your authenticator apps are compromised, you are still susceptible to a hack.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is Your Favorite Password Manager?</title>
      <link>https://blog.wgz.sh/posts/password-managers/</link>
      <pubDate>Sat, 09 Aug 2025 14:39:16 -0400</pubDate>
      <guid>https://blog.wgz.sh/posts/password-managers/</guid>
      <description>&lt;p&gt;What are your favorite password managers?&lt;/p&gt;
&lt;p&gt;I used to use LastPass, and while it worked fine for me, I eventually switched to 1Password and haven’t looked back.&lt;/p&gt;
&lt;p&gt;What I really like about 1Password is the extra layers of authentication. You either need a secret key or another authenticated device to approve your login. Plus, you can stack that with MFA for even more security. Last I checked, LastPass doesn’t have a secret key, just MFA.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
