<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Monitoring on The Accidental Admin</title><link>https://accidentaladmin.fyi/tags/monitoring/</link><description>Recent content in Monitoring on The Accidental Admin</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>andrew.m.higgs@gmail.com (The Accidental Admin Team)</managingEditor><webMaster>andrew.m.higgs@gmail.com (The Accidental Admin Team)</webMaster><lastBuildDate>Sun, 16 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://accidentaladmin.fyi/tags/monitoring/index.xml" rel="self" type="application/rss+xml"/><item><title>Securing Your Small Business Server: A Checklist for Non-Experts</title><link>https://accidentaladmin.fyi/guides/securing-your-small-business-server/</link><pubDate>Sun, 16 Aug 2026 00:00:00 +0000</pubDate><author>andrew.m.higgs@gmail.com (The Accidental Admin Team)</author><guid>https://accidentaladmin.fyi/guides/securing-your-small-business-server/</guid><description>&lt;p&gt;Running a small business keeps you busy enough — the last thing you need is to worry about hackers, ransomware, or data loss. But here&amp;rsquo;s the good news: securing your Linux server doesn&amp;rsquo;t require a degree in IT. With a few straightforward steps, you can protect your business, your customers, and your peace of mind.&lt;/p&gt;
&lt;p&gt;This guide gives you a practical, beginner-friendly checklist you can follow today. No deep technical knowledge required — just a willingness to spend an hour or two making your server much safer.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="1-keep-your-system-updated"&gt;1. Keep Your System Updated &lt;a href="#1-keep-your-system-updated" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Software updates aren&amp;rsquo;t just about new features — they patch security vulnerabilities that hackers actively exploit. Running an outdated server is one of the most common ways small businesses get compromised.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enable automatic security updates.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On Ubuntu/Debian, install the &lt;code&gt;unattended-upgrades&lt;/code&gt; package:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install unattended-upgrades
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo dpkg-reconfigure -plow unattended-upgrades
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Confirm it&amp;rsquo;s working:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo unattended-upgrade --dry-run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
Cyber attackers scan the internet constantly for unpatched servers. Automatic updates close those doors before anyone walks through.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="2-configure-a-firewall-ufw"&gt;2. Configure a Firewall (UFW) &lt;a href="#2-configure-a-firewall-ufw" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;A firewall controls what traffic can reach your server. Think of it as a security guard at the door — only letting in the people you trust.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enable UFW (Uncomplicated Firewall):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ufw allow OpenSSH
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ufw enable
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Allow only the services you actually use. For example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ufw allow 80/tcp &lt;span style="color:#75715e"&gt;# HTTP&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ufw allow 443/tcp &lt;span style="color:#75715e"&gt;# HTTPS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Check your rules:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ufw status verbose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
Without a firewall, every service running on your server is exposed to the entire internet. UFW gives you a simple way to lock things down in minutes.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="3-secure-ssh-access"&gt;3. Secure SSH Access &lt;a href="#3-secure-ssh-access" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;SSH (Secure Shell) is how you remotely log in to your server. It&amp;rsquo;s also one of the most common attack vectors. A few small changes make it much harder for attackers to break in.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Disable root login.&lt;/strong&gt; Edit &lt;code&gt;/etc/ssh/sshd_config&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PermitRootLogin no
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use SSH key-based authentication&lt;/strong&gt; instead of passwords. On your local machine:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-keygen -t ed25519
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ssh-copy-id user@your-server-ip
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then disable password login:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PasswordAuthentication no
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Restart SSH:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart ssh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
Password-based logins are vulnerable to brute-force attacks. SSH keys are exponentially harder to crack — and you&amp;rsquo;ll never have to remember another server password.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="4-install-fail2ban"&gt;4. Install Fail2Ban &lt;a href="#4-install-fail2ban" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Fail2Ban automatically blocks IP addresses that try to log in unsuccessfully too many times. It&amp;rsquo;s like having a bouncer who remembers troublemakers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Install and enable it:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install fail2ban
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable fail2ban
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start fail2ban
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The default settings are good for most small businesses. To verify:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo fail2ban-client status sshd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
Most cyber attacks are automated bots trying thousands of passwords. Fail2Ban shuts them down before they become a real threat.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="5-set-up-regular-backups"&gt;5. Set Up Regular Backups &lt;a href="#5-set-up-regular-backups" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Backups aren&amp;rsquo;t just a convenience — they&amp;rsquo;re your safety net against hardware failure, accidental deletion, and ransomware. If something goes wrong, a recent backup can save your business.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Choose a backup tool. &lt;strong&gt;rsync&lt;/strong&gt; is simple and built into Linux:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rsync -avz /important/data /backup/location
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For automated, encrypted backups, consider &lt;strong&gt;restic&lt;/strong&gt; or &lt;strong&gt;BorgBackup&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Store backups &lt;strong&gt;offsite&lt;/strong&gt; (e.g., a different physical location or cloud storage).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Schedule backups with &lt;code&gt;cron&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;crontab -e
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; * * * rsync -avz /var/www /backup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
A backup you haven&amp;rsquo;t tested isn&amp;rsquo;t a backup. Make sure you can actually restore your data — and keep at least one copy somewhere completely separate from your server.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="6-monitor-for-suspicious-activity"&gt;6. Monitor for Suspicious Activity &lt;a href="#6-monitor-for-suspicious-activity" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;You don&amp;rsquo;t need to watch your server 24/7 — but you &lt;em&gt;do&lt;/em&gt; need to know when something unusual happens.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What to do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Uptime Kuma&lt;/strong&gt; is a beautiful, beginner-friendly monitoring tool with a web dashboard and alerts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logwatch&lt;/strong&gt; emails you a daily summary of system activity.&lt;/li&gt;
&lt;li&gt;Set up simple email alerts for critical events (failed logins, disk space running out, services crashing).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt;
The faster you know something is wrong, the faster you can fix it. Monitoring tools turn &amp;ldquo;silent disasters&amp;rdquo; into problems you can actually solve.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="your-quick-security-checklist"&gt;Your Quick Security Checklist &lt;a href="#your-quick-security-checklist" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Print this out and tick each item as you complete it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Automatic updates enabled&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Firewall (UFW) configured and active&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; SSH key authentication enabled, root login disabled&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Fail2Ban installed and running&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Backups scheduled and tested&lt;/li&gt;
&lt;li&gt;&lt;input disabled="" type="checkbox"&gt; Monitoring tool installed with alerts configured&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="final-thoughts"&gt;Final Thoughts &lt;a href="#final-thoughts" class="anchor"&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;You don&amp;rsquo;t need to be a Linux expert to run a secure server. You just need a plan — and the willingness to spend a little time putting it in place. Work through this checklist over the next week, and you&amp;rsquo;ll be ahead of 90% of small businesses when it comes to cybersecurity.&lt;/p&gt;
&lt;p&gt;If you have questions or get stuck on any of these steps, drop a comment below or get in touch — we&amp;rsquo;re here to help.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Welcome to The Accidental Admin: where running a server doesn&amp;rsquo;t have to feel like one.&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>