Security Add-on

Hostinger VPS Hardening

Hardening Ubuntu VPS cho môi trường shared production: SSH key-only, firewall, Fail2ban và Docker exposure audit.

Mục tiêu

Giảm bề mặt tấn công của shared VPS mà không tự khóa SSH.

SSH key→Disable root/password→Firewall→Fail2ban→Security updates→Docker audit

Prerequisites

Cấu trúc add-on

hostinger-vps-hardening-addon/
├── README.md
└── scripts/
    ├── 01-create-deploy-user.sh
    ├── 02-harden-ssh.sh
    ├── 03-security-baseline.sh
    └── security-check.sh

Các bước setup

1. Tạo deploy userChạy script 01, add SSH key vào authorized_keys.
2. Test từ terminal mớiSSH bằng deploy user. Không tiếp tục nếu chưa thành công.
3. Harden SSHScript 02 tạo sshd drop-in, validate bằng sshd -t rồi reload.
4. Security baselineScript 03 bật UFW, Fail2ban và unattended upgrades.
5. Hostinger FirewallChỉ allow TCP 22, 80, 443.
6. Audit published portsChỉ Traefik nên publish 80/443.
Tạo user
sudo bash scripts/01-create-deploy-user.sh

sudo nano /home/deploy/.ssh/authorized_keys

ssh deploy@YOUR_VPS_IP
Harden SSH
sudo bash scripts/02-harden-ssh.sh
Security baseline
sudo bash scripts/03-security-baseline.sh

Kiểm tra

sudo bash scripts/security-check.sh

sudo ufw status verbose
sudo fail2ban-client status sshd

sshd -T | grep -E \
'permitrootlogin|passwordauthentication|pubkeyauthentication'

docker ps --format 'table {{.Names}}\t{{.Ports}}'

Lỗi thường gặp

Bị mất SSH sau hardening

Dùng Hostinger Web Console để sửa /etc/ssh/sshd_config.d/99-vps-hardening.conf rồi chạy sshd -t.

Docker port vẫn public dù UFW deny

Không dựa vào UFW để chặn container port đã publish. Sửa Compose để backend/DB không có ports:.

Deploy user không chạy được Docker

Kiểm tra group membership bằng groups deploy, logout/login lại sau khi add vào docker group.

Download

VPS Hardening Add-on

SSH key-only, UFW, Fail2ban, security checks.
Tải ZIP