The Accidental Admin

Securing Your Small Business Server: A Checklist for Non-Experts

ยท 813 words ยท 4 minutes to read

Running a small business keeps you busy enough โ€” the last thing you need is to worry about hackers, ransomware, or data loss. But here’s the good news: securing your Linux server doesn’t require a degree in IT. With a few straightforward steps, you can protect your business, your customers, and your peace of mind.

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.


1. Keep Your System Updated ๐Ÿ”—

Software updates aren’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.

What to do:

  • Enable automatic security updates.

  • On Ubuntu/Debian, install the unattended-upgrades package:

    sudo apt update && sudo apt install unattended-upgrades
    sudo dpkg-reconfigure -plow unattended-upgrades
    
  • Confirm it’s working:

    sudo unattended-upgrade --dry-run
    

Why it matters: Cyber attackers scan the internet constantly for unpatched servers. Automatic updates close those doors before anyone walks through.


2. Configure a Firewall (UFW) ๐Ÿ”—

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.

What to do:

  • Enable UFW (Uncomplicated Firewall):

    sudo ufw allow OpenSSH
    sudo ufw enable
    
  • Allow only the services you actually use. For example:

    sudo ufw allow 80/tcp   # HTTP
    sudo ufw allow 443/tcp  # HTTPS
    
  • Check your rules:

    sudo ufw status verbose
    

Why it matters: 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.


3. Secure SSH Access ๐Ÿ”—

SSH (Secure Shell) is how you remotely log in to your server. It’s also one of the most common attack vectors. A few small changes make it much harder for attackers to break in.

What to do:

  • Disable root login. Edit /etc/ssh/sshd_config:

    PermitRootLogin no
    
  • Use SSH key-based authentication instead of passwords. On your local machine:

    ssh-keygen -t ed25519
    ssh-copy-id user@your-server-ip
    

    Then disable password login:

    PasswordAuthentication no
    
  • Restart SSH:

    sudo systemctl restart ssh
    

Why it matters: Password-based logins are vulnerable to brute-force attacks. SSH keys are exponentially harder to crack โ€” and you’ll never have to remember another server password.


4. Install Fail2Ban ๐Ÿ”—

Fail2Ban automatically blocks IP addresses that try to log in unsuccessfully too many times. It’s like having a bouncer who remembers troublemakers.

What to do:

  • Install and enable it:

    sudo apt install fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban
    
  • The default settings are good for most small businesses. To verify:

    sudo fail2ban-client status sshd
    

Why it matters: Most cyber attacks are automated bots trying thousands of passwords. Fail2Ban shuts them down before they become a real threat.


5. Set Up Regular Backups ๐Ÿ”—

Backups aren’t just a convenience โ€” they’re your safety net against hardware failure, accidental deletion, and ransomware. If something goes wrong, a recent backup can save your business.

What to do:

  • Choose a backup tool. rsync is simple and built into Linux:

    rsync -avz /important/data /backup/location
    
  • For automated, encrypted backups, consider restic or BorgBackup.

  • Store backups offsite (e.g., a different physical location or cloud storage).

  • Schedule backups with cron:

    crontab -e
    0 2 * * * rsync -avz /var/www /backup
    

Why it matters: A backup you haven’t tested isn’t a backup. Make sure you can actually restore your data โ€” and keep at least one copy somewhere completely separate from your server.


6. Monitor for Suspicious Activity ๐Ÿ”—

You don’t need to watch your server 24/7 โ€” but you do need to know when something unusual happens.

What to do:

  • Uptime Kuma is a beautiful, beginner-friendly monitoring tool with a web dashboard and alerts.
  • Logwatch emails you a daily summary of system activity.
  • Set up simple email alerts for critical events (failed logins, disk space running out, services crashing).

Why it matters: The faster you know something is wrong, the faster you can fix it. Monitoring tools turn “silent disasters” into problems you can actually solve.


Your Quick Security Checklist ๐Ÿ”—

Print this out and tick each item as you complete it:

  • Automatic updates enabled
  • Firewall (UFW) configured and active
  • SSH key authentication enabled, root login disabled
  • Fail2Ban installed and running
  • Backups scheduled and tested
  • Monitoring tool installed with alerts configured

Final Thoughts ๐Ÿ”—

You don’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’ll be ahead of 90% of small businesses when it comes to cybersecurity.

If you have questions or get stuck on any of these steps, drop a comment below or get in touch โ€” we’re here to help.

Welcome to The Accidental Admin: where running a server doesn’t have to feel like one.

Categories