What you will do
You will lock down login, firewall, updates, and backups so the most common attacks can’t easily get into your server.
Do one step at a time. Finish a step, check it works, then move on. Avoid changing DNS, firewall, database, and SSL all at once — that makes problems hard to find.
Before you start
The goal: secure a new offshore VPS before you put a live website on it.
Take a backup first. Before changing anything, take a server snapshot if your panel allows it, so you can roll back. If a site is already there, back up its files and its database.
- Keep your domain login ready.
- Keep your hosting panel login ready.
- Keep the server IP, username, and password (or SSH key) ready.
- Open a notes file and write down every change you make.
- Important: keep one terminal window open the whole time, so a firewall mistake can’t lock you out.
Where do you need to go?
Most of this happens in an SSH terminal on your computer. Log in with the VPS IP and your root password or SSH key. Some steps can also be done from the firewall tools in aaPanel or cPanel.
The simple rule for where each change lives:
- Domain records (DNS) → your domain or Cloudflare panel.
- Website files → your hosting panel.
- WordPress content → wp-admin.
- Server security & software → over SSH or your server control panel.

The steps
Step 1: Update the server
Update first, so the latest security fixes are installed.
apt update && apt upgrade -y
Check: no critical updates are left waiting.
Step 2: Create a normal user
Don’t use root for daily work. Make a regular user and give it sudo access.
adduser deployer
usermod -aG sudo deployer
Check: you can log in as the new user.
Step 3: Turn on the firewall
Allow SSH, HTTP, and HTTPS first, then enable the firewall.
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status
Check: SSH still works after the firewall is on. (This is why you keep a terminal open.)
Step 4: Install fail2ban
fail2ban blocks people who keep trying wrong passwords.
apt install fail2ban -y
systemctl enable --now fail2ban
Check: the service is active.
Extra commands you may need
Run these only on your own server. If your server uses a managed panel, check with support before changing system-level settings.
See what’s listening
ss -tulpn
Review the open ports and close anything you don’t use.
Check the login logs
tail -n 50 /var/log/auth.log
Look for repeated failed login attempts.
Keep short notes as you go
While you work, jot down each change: the old value, the new value, the time, and whether the test passed. For example: “Created user deployer, enabled UFW 10:30, SSH still works, website opens.” It sounds small, but it saves a lot of confusion if something breaks.
If you run server commands, paste the output into your notes too. Then if you ask support for help, you can show the exact command, the exact error, and the exact time.
If a step fails, how to undo it
Always have a way back. For the firewall or SSH, use the VPS console to re-open the SSH port. For DNS, put the old record back. For SSL, remove the forced-HTTPS rule until the certificate works. Don’t change ten things at once.

How to test after setup
- Open a new SSH session to confirm you are not locked out.
- Open your website’s homepage in a private browser window.
- Check the HTTPS padlock — there should be no browser warning.
- Run
ufw statusand confirm only the ports you want are open. - Run
systemctl status fail2banand confirm it is active. - Check the login logs for blocked attempts after a day or two.
Quick troubleshooting
| Problem | Likely reason | What to do |
|---|---|---|
| Locked out after the firewall | SSH port wasn’t allowed | Use the VPS console and allow the SSH port |
| Lots of failed logins | Password login is on | Switch to SSH keys and use fail2ban |
| Website won’t open | Ports 80/443 are blocked | Allow HTTP and HTTPS in the firewall |
Final checklist
- Packages updated.
- Normal sudo user created.
- Firewall enabled.
- fail2ban active.
- Backups set up.
OffshoreKaka offers privacy-friendly VPS and dedicated servers for people who want real control and reliable performance.
FAQ
Can I follow this without much experience?
Yes — just go slowly and test after every important step. If you are not comfortable using SSH, pick managed hosting or ask support to set it up.
Will this get me to #1 on Google?
No honest tutorial can promise that. A hacked or offline server hurts your ranking, so good security protects it — but your content and backlinks still decide where you rank.
What should I send to support if something breaks?
Send your domain name, server IP, the exact error message, a screenshot, the last change you made, and whether it started after a DNS, SSL, firewall, or migration change.