DEV Community

Daniel Ioni
Daniel Ioni

Posted on

Complete Guide: Installing Kali Linux on a VPS for MyZubster

πŸ“Œ Introduction

This guide provides a comprehensive, step-by-step walkthrough for installing Kali Linux on a Virtual Private Server (VPS). The guide is specifically tailored for the MyZubster ecosystem, a decentralized marketplace where users tokenize real-world assets and trade them using Monero (XMR) as the primary currency.

By running Kali Linux on a VPS, you can:

Access your security testing environment remotely from anywhere

Scale resources (RAM, CPU, storage) as needed without hardware limitations

Create an isolated environment for security testing without risking your local machine

Run automated security scans 24/7 with minimal operational cost
Enter fullscreen mode Exit fullscreen mode

πŸ” Why Kali Linux for MyZubster?

Kali Linux is the de‑facto standard for security auditing and penetration testing, bundling over 600 pre‑installed tools for network scanning, web application testing, and forensics. In the MyZubster ecosystem, Kali Linux serves a critical role:

"Instead of relying on passive security measures or expensive third‑party APIs, I decided to build an autonomous security bot that scans the gateway every hour using Kali Linux tools (nmap, nikto, sqlmap), analyzes the results with a local AI model (DeepSeek R1:1.5B running on Ollama), and acts automatically: blocks suspicious IPs, suspends users, cancels open orders. Everything runs locally – zero data shared with third parties, zero ongoing costs."
Enter fullscreen mode Exit fullscreen mode

MyZubster Security Bot Architecture

The integration between Kali Linux and MyZubster's security infrastructure is structured as follows:
text

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ MyZubster Server β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Gateway (Node.js + Express) β”‚ β”‚
β”‚ β”‚ - REST API β”‚ β”‚
β”‚ - JWT Authentication β”‚ β”‚
β”‚ - MongoDB models β”‚ β”‚
β”‚ - PaymentMonitor (Monero) β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β–² β”‚
β”‚ β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Security Bot (Python) β”‚ β”‚
β”‚ β”‚ - Runs nmap / nikto / sqlmap β”‚ β”‚
β”‚ β”‚ - Calls DeepSeek via internal API β”‚ β”‚
β”‚ β”‚ - Executes actions: block IP, suspend user, cancel orderβ”‚ β”‚
β”‚ β”‚ - Logs everything to /var/log/security_bot.log β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚ β–² β”‚
β”‚ β”‚ β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ DeepSeek (Ollama) β”‚ β”‚
β”‚ β”‚ - Model: deepseek-r1:1.5b β”‚ β”‚
β”‚ β”‚ - Local API on http://localhost:11434 β”‚ β”‚
β”‚ β”‚ - Analyses logs and returns structured reports β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Kali Linux Tools Used in MyZubster
Tool Purpose Command Example
nmap Scan open ports on the gateway nmap -p 3000,80,443 localhost
nikto Check for common web vulnerabilities nikto -h localhost:3000
sqlmap Detect SQL injection risks sqlmap -u "http://localhost:3000/api/test"
ufw Block suspicious IPs automatically ufw deny from
πŸ› οΈ Prerequisites

Before installing Kali Linux on your VPS, ensure your system meets these minimum requirements:
Component Minimum Recommended
RAM 2 GB 8 GB (for Burp Suite, multiple scans)
Disk Space 20 GB 50+ GB (for Kali metapackages + logs)
CPU 1 vCPU 2+ vCPU cores
Internet Stable connection for installation High-speed broadband
πŸ“¦ Installation Methods

There are three primary methods to install Kali Linux on a VPS. The choice depends on your provider and specific needs.
Method 1: One-Click Template (Simplest & Recommended)

Many providers offer Kali Linux as a pre-configured template. This is the fastest method.

For Hostinger (detailed steps) :

Log in to hPanel with your Hostinger account.

Navigate to VPS β†’ Manage.

In the left sidebar, go to OS & Panel β†’ Operating System.

Scroll to the Change OS section.

Select the Plain OS tab, then choose Kali Linux from the list.

Click the Change OS button.

When the pop-up appears, check the acknowledgment box and click Next.

Set a new password for your Kali Linux template when prompted.

Wait up to 10 minutes for the setup to complete.
Enter fullscreen mode Exit fullscreen mode

For Linode:

Two options are available:

Kali as a Distribution: Creates a bare-bones install with kali-linux-core only. Select Kali Linux from the "Image" dropdown during instance creation.

Kali from the Marketplace: Deploys Kali with more tools pre-installed. Select "Marketplace" β†’ "Kali Linux" and configure the metapackages you want installed.
Enter fullscreen mode Exit fullscreen mode

For Other Providers: Services like DigitalOcean and Vultr allow custom ISO uploads for maximum flexibility.
Method 2: Converting Debian/Ubuntu to Kali

If your provider doesn't offer Kali directly but supports Debian/Ubuntu, you can convert it.

Connect to your VPS via SSH:
bash

ssh root@your-vps-ip

Modify APT sources to include Kali repositories:
bash

sudo vim /etc/apt/sources.list

Add this line:
text

deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware

Update and install Kali metapackages:
bash

sudo apt update
sudo apt install kali-linux-headless -y

This installs the core Kali tools without the GUI, ideal for a server environment.
Enter fullscreen mode Exit fullscreen mode

Method 3: Manual Installation from ISO (Advanced)

Use this method if you need full control and your provider supports boot from ISO.

Download the Kali ISO (recommend the netboot version for minimal install).

Upload or mount the ISO through your VPS control panel.

Reboot the VPS and start the installation from the ISO.

Follow the on-screen prompts:

    Choose language, region, and keyboard layout.

    Set hostname and create a non-root user.

    For a headless server, skip desktop environment installation.

    Install GRUB bootloader on the main disk.

Reboot and remove the ISO, then connect via SSH.
Enter fullscreen mode Exit fullscreen mode

πŸ”§ Post-Installation Configuration

After installation, perform these essential security steps:

  1. Update the System bash

sudo apt update && sudo apt full-upgrade -y

  1. Install Essential Kali Metapackages

For MyZubster security scanning, install the necessary tools:
bash

Install core scanning tools

sudo apt install nmap nikto sqlmap -y

For a complete Kali environment (larger footprint):
bash

sudo apt install kali-linux-default -y

For a headless server with no GUI:
bash

sudo apt install kali-linux-headless -y

  1. Configure UFW Firewall bash

sudo ufw allow 22/tcp # SSH
sudo ufw allow 3000/tcp # MyZubster Gateway
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable

  1. Enable SSH Key Authentication (Disable Password Login) bash

Generate SSH key pair on your local machine

ssh-keygen -t ed25519 -C "your_email@example.com"

Copy public key to VPS

ssh-copy-id root@your-vps-ip

Disable password authentication in /etc/ssh/sshd_config

PasswordAuthentication no

  1. Install and Configure Ollama (for DeepSeek AI) bash

curl -fsSL https://ollama.com/install.sh | sh
ollama pull deepseek-r1:1.5b

  1. Verify Installation bash

ssh -T git@github.com # Should show: Hi DanielIoni-creator!

πŸ”„ Integrating Kali with MyZubster: The Security Bot

Your Kali VPS can run a Python security bot that automates vulnerability scanning and threat response. Here's a simplified implementation based on the production system:
python

!/usr/bin/env python3

import subprocess
import requests
import json

MYZUBSTER_API = "http://localhost:3000/api"
TOKEN = None

def login():
"""Authenticate with MyZubster API"""
global TOKEN
resp = requests.post(f"{MYZUBSTER_API}/auth/login",
json={"email": "test@example.com",
"password": "Test123!"})
TOKEN = resp.json().get('token')

def ask_deepseek(prompt):
"""Send analysis request to local DeepSeek model"""
resp = requests.post(f"{MYZUBSTER_API}/ai/ask",
json={"prompt": prompt},
headers={'Authorization': f'Bearer {TOKEN}'})
return resp.json().get('response')

def scan_gateway():
"""Run nmap scan on gateway ports"""
result = subprocess.run(['nmap', '-p', '3000,80,443', 'localhost'],
capture_output=True, text=True)
return result.stdout

def block_ip(ip):
"""Block a suspicious IP using ufw"""
subprocess.run(['ufw', 'deny', 'from', ip], check=False)

def main():
login()
print("πŸ” Starting security scan...")
scan_results = scan_gateway()

# Send to DeepSeek for analysis
analysis = ask_deepseek(
    f"Analyze this nmap scan and list any security concerns:\n{scan_results}"
)

# Log and act on findings
with open('/var/log/security_bot.log', 'a') as log:
    log.write(f"{analysis}\n")
Enter fullscreen mode Exit fullscreen mode

if name == "main":
main()

Automate with Cron (Run Every Hour)
bash

crontab -e

Add this line:

0 * * * * /usr/bin/python3 /root/security_bot.py >> /var/log/security_bot.log 2>&1

πŸ”— Tari NFT Integration

The Kali VPS also supports MyZubster's Tari NFT template for tokenizing real-world assets. The Tari sidechain of Monero enables verifiable digital identities for physical assets.
Building an NFT Template on Tari
bash

Install Rust and Tari dependencies

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add wasm32-unknown-unknown

Clone and build NFT template

cd ~/tari-nft-template
cargo build --target wasm32-unknown-unknown --release

πŸ›‘οΈ Monero: The Primary Currency of MyZubster

Monero (XMR) serves as the foundational currency for all transactions in MyZubster due to its privacy-by-default architecture.
Why Monero for MyZubster?
Feature Benefit
Untraceable Transactions Payment amounts and addresses are obfuscated
Decentralized Nodes No single point of failure or control
Private Remote Nodes Can run a private node on your VPS for full control over privacy
Connecting MyZubster to a Monero Node Over Tor

For maximum privacy, you can run a Monero daemon on your VPS and connect via Tor:

Configure Tor hidden service (/etc/torrc):
text

HiddenServiceDir /var/lib/tor/monero-service/
HiddenServicePort 18081 127.0.0.1:18081

Configure Monero daemon (~/.bitmonero/bitmonero.conf):
text

no-igd=1
restricted-rpc=1
rpc-login=USERNAME:PASSWORD

Restart services:
bash

sudo systemctl restart tor@default
monerod --detach

Connect wallet:
bash

monero-wallet-cli --proxy 127.0.0.1:9150 \
    --daemon-host HIDDEN_SERVICE.onion \
    --trusted-daemon \
    --daemon-login USERNAME:PASSWORD
Enter fullscreen mode Exit fullscreen mode

🧠 DeepSeek AI for Log Analysis

MyZubster uses DeepSeek R1:1.5B, a local AI model, to analyze security logs. This approach provides:
Advantage Benefit
Zero Cost No API keys, no recurring fees
Total Privacy Data never leaves the server
Fast Response Lightweight, CPU-optimized model
Customizable Prompts can be tailored for structured reports
πŸ€– Android Security and Bot Defense

MyZubster integrates with Android security frameworks through its mobile app, which includes features like Orbot support and end-to-end encryption. The Kali VPS can also serve as a bot master for authorized security testing.
Generating Android Security Test Payloads (Authorized Testing Only)
bash

Install dependencies

sudo apt update && sudo apt install android-sdk apksigner -y

Clone the GetDroid tool (for authorized testing only)

git clone https://github.com/AndroVirus/getdroid
cd getdroid
chmod +x getdroid.sh
bash getdroid.sh

⚠️ WARNING: The tools mentioned (Metasploit, GetDroid) are for authorized security testing only. Using them against devices you do not own or without explicit permission is illegal and unethical.
Enter fullscreen mode Exit fullscreen mode

πŸ“Š Summary: Benefits of Kali Linux on VPS for MyZubster
Benefit Why It Matters for MyZubster
Remote Accessibility Access security environment from anywhere, monitor marketplace 24/7
Scalability Upgrade resources as transaction volume grows without hardware changes
Enhanced Security Isolated environment prevents local machine compromise during testing
Cost Efficiency Pay only for resources used; ideal for continuous automated scanning
Full Customization Root access allows installing tools, configuring firewalls, and integrating custom AI models
Zero Ongoing Costs Local AI (DeepSeek) + open-source tools = no third-party API fees
πŸ”— References

MyZubster Security Bot Integration

MyZubster Mobile: NFC Payments and Decentralized App

Kali Linux VPS Installation Guide

Monero Remote Node Documentation

Tari NFT Template
Enter fullscreen mode Exit fullscreen mode

Top comments (0)