Ubuntu Server 24.04: 12 việc làm ngay sau khi nhận VPS

Chia sẻ bài viết

Mục lục
Ubuntu Server 24.04: 12 việc làm ngay sau khi nhận VPS

Trả lời nhanh: Nhận VPS Ubuntu mới, 30 phút đầu quyết định độ an toàn nhiều tháng sau: (1) cập nhật hệ thống, (2) tạo user thường + sudo, (3) SSH key và tắt đăng nhập mật khẩu, (4) đổi port SSH, (5) bật firewall UFW, (6) fail2ban chặn dò mật khẩu, (7) swap 2 GB, (8) múi giờ và NTP, (9) unattended-upgrades tự vá bảo mật, (10) giới hạn log/journal, (11) cài bộ giám sát, (12) chạy benchmark lấy bản ghi nền. Làm tuần tự theo bài, mỗi mục 2-3 phút, máy từ 'trần trụi giữa chợ' thành 'nhà có khóa có chuông'.

VPS mới nhận là căn nhà chưa lắp khóa: SSH root mở toang, bot toàn cầu bắt đầu dò mật khẩu trong vài phút đầu tiên (xem auth.log mà tin). Bài này là nghi thức nhập trạch 12 bước, thứ tự đã tính để không tự khóa mình ngoài cửa, câu lệnh dán được, và giải thích ngắn vì sao từng bước tồn tại. Làm một lần, dùng làm khuôn cho mọi máy sau.

Tóm tắt nhanh
  • Bước 1-4: cập nhật, user riêng, SSH key, đổi port, đóng cửa chính trước tiên
  • Bước 5-6: UFW + fail2ban, tường rào và chó giữ nhà
  • Bước 7-9: swap, giờ giấc, tự vá bảo mật, nền nếp sinh hoạt
  • Bước 10-12: log có kỷ luật, giám sát, benchmark nền, để tương lai có cái mà so

Bước 1-4: Đóng cửa chính

apt update && apt full-upgrade -y && reboot   # (1) va het lo hong ton dong tu image

adduser ban && usermod -aG sudo ban            # (2) user thuong co sudo
# (3) tu MAY CA NHAN: ssh-copy-id ban@IP, roi thu dang nhap user moi TRUOC khi khoa
# /etc/ssh/sshd_config: PermitRootLogin no · PasswordAuthentication no
# (4) cung file do: Port 2222 (so tuy chon)
systemctl restart ssh

Trình tự là sống còn: xác nhận đăng nhập được bằng user mới + key ở một cửa sổ SSH khác rồi mới tắt mật khẩu và root, quy tắc "chưa thử chìa mới, đừng vứt chìa cũ". Đổi port không chống được người chủ đích nhưng cắt 95% tiếng ồn bot quét cổng mặc định, auth.log sạch để mắt thấy được thứ đáng ngờ thật.

Bước 5-6: Tường rào và chó giữ nhà

ufw allow 2222/tcp && ufw allow 80,443/tcp     # (5) chi mo dung cua can
ufw enable

apt install -y fail2ban                        # (6) sai mat khau nhieu lan = cam IP
systemctl enable --now fail2ban

Triết lý UFW: mặc định đóng hết, mở từng cửa có tên, database, panel nội bộ vĩnh viễn không cần mở (bind 127.0.0.1 + SSH tunnel như các bài trước đã dặn). fail2ban đọc log và cấm IP dò dẫm, với SSH đã chỉ-key thì nó là lớp chống ồn thêm, gần như zero cấu hình.

Bước 7-9: Nền nếp sinh hoạt

# (7) swap 2 GB, day an toan chong OOM (bai swap giai thich du)
fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab && sysctl vm.swappiness=10

timedatectl set-timezone UTC                   # (8) UTC + tu quy doi, hoac Asia/Ho_Chi_Minh, chon MOT quy uoc

apt install -y unattended-upgrades             # (9) tu cai ban va bao mat hang dem
dpkg-reconfigure -plow unattended-upgrades

Múi giờ là quyết định nhỏ gây đau lâu: chọn một quy ước cho mọi máy của bạn (bài cron đã kể chuyện 2h-UTC-là-9h-VN) và ghi vào sổ tay. unattended-upgrades chỉ tự cài bản vá bảo mật, loại cập nhật không làm là nguy hiểm hơn làm.

Bước 10-12: Kỷ luật log, tai mắt, và bản ghi nền

# (10) journal khong duoc an ca o dia
# /etc/systemd/journald.conf: SystemMaxUse=500M  → systemctl restart systemd-journald

# (11) tai mat: Netdata mot dong (bai giam sat) + them monitor vao Kuma neu co

# (12) ban ghi nen, do luc may sach de sau nay co moc so sanh
apt install -y sysbench fio
sysbench cpu --threads=1 --time=10 run | grep 'events per second'
fio --name=t --filename=/tmp/t --size=1G --rw=randread --bs=4k --iodepth=32 
    --numjobs=4 --time_based --runtime=30 --group_reporting | grep -E 'IOPS|lat'
rm /tmp/t   # luu ket qua vao ghi chu, 'ho so suc khoe luc sinh' cua may

Bước 12 ít ai làm mà đáng nhất: ba tháng sau thấy máy 'hình như chậm đi', bạn có con số gốc để so thay vì cãi nhau với cảm giác, và là bằng chứng đối chiếu cam kết phần cứng của nhà cung cấp (NVMe thật cho IOPS hàng chục nghìn với latency dưới mili-giây, như các bài A-cụm đã dạy đọc).

Kiểm sau khi làm xong 12 việc

# 1. Dang nhap bang mat khau da tat chua
grep -E "^PasswordAuthentication|^PermitRootLogin" /etc/ssh/sshd_config

# 2. Tuong lua dang bat va chi mo cong can thiet
ufw status verbose

# 3. Cong nao dang mo ra ngoai
ss -ltnp | grep -v 127.0.0.1

# 4. Cong cu chan do mat khau dang chay
fail2ban-client status
fail2ban-client status sshd

# 5. Cap nhat bao mat tu dong dang bat
systemctl status unattended-upgrades

# 6. Mui gio dung
timedatectl

# 7. Vung nho tam da co
swapon --show && free -h

# 8. Nhat ky co bi gioi han kich thuoc khong
journalctl --disk-usage

# 9. Xem ai da thu dang nhap trong 24 gio qua
grep "Failed password" /var/log/auth.log | tail -20
grep "Accepted publickey" /var/log/auth.log | tail -10

Lệnh cuối là lệnh nên chạy trong tuần đầu: máy chủ mới bị dò mật khẩu trong vòng vài giờ sau khi có địa chỉ công khai. Thấy hàng trăm lần thất bại là bình thường; thấy một lần thành công mà không phải bạn thì phải xử lý ngay.

Ba việc quan trọng nhất trong 12 việc

ViệcVì sao quan trọng nhất
Tắt đăng nhập bằng mật khẩu, chỉ dùng khóaChặn được toàn bộ các đợt dò mật khẩu tự động, đây là biện pháp hiệu quả nhất
Bật tường lửa và chỉ mở cổng cần thiếtDịch vụ bạn quên tắt là dịch vụ bị khai thác
Bật cập nhật bảo mật tự độngLỗ hổng đã công bố mà chưa vá là rủi ro lớn nhất và cũng dễ tránh nhất

Chín việc còn lại đều đáng làm, nhưng nếu chỉ có 20 phút thì làm ba việc này trước.

Việc nên làm trong tuần đầu, sau 12 việc kia

  • Dựng sao lưu và khôi phục thử một lần trước khi đưa dữ liệu thật lên.
  • Dựng giám sát và cảnh báo, ít nhất là cảnh báo khi ổ đĩa sắp đầy và khi dịch vụ chính không phản hồi.
  • Ghi lại một trang tài liệu: máy này chạy gì, đăng nhập thế nào, sao lưu ở đâu, khôi phục ra sao. Viết lúc còn nhớ, không phải lúc đang có sự cố.

Câu hỏi thường gặp

Có script nào làm cả 12 bước một phát không?

Nên tự chạy tay lần đầu để hiểu từng bước, rồi gói thành script riêng của bạn cho các máy sau (hoặc để Claude Code viết theo đúng checklist này). Script người lạ trên mạng chạy bằng root là thói quen nên bỏ.

Lỡ tự khóa mình ngoài cửa SSH thì sao?

Bình tĩnh: nhà cung cấp tử tế có console/VNC qua panel, vào bằng đường đó sửa lại sshd_config. Đây là lý do quy tắc 'thử chìa mới trước khi vứt chìa cũ' được in đậm trong bài.

Ubuntu 24.04 hay Debian cho VPS?

Cả hai xuất sắc và checklist này áp gần như nguyên xi. Ubuntu: tài liệu dày, mọi hướng dẫn trong cụm bài viết cho nó. Debian: tối giản hơn chút. Người mới cứ Ubuntu LTS cho đồng bộ hệ sinh thái.

Docker có thay được các bước này không?

Không, Docker chạy TRÊN nền này. Máy chủ vẫn cần khóa cửa (SSH, firewall), nền nếp (swap, log, vá) rồi mới đến chuyện container bên trên (bài cài Docker tiếp ngay sau checklist này).

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Checklist này chạy đẹp nhất trên nền đáng tin: TND VPS NVMe bàn giao Ubuntu sạch trong 5 phút, bước 12 của bạn sẽ in ra đúng những con số của Enterprise U.2 NVMe RAID 10 và Xeon Platinum xung cao, benchmark nền làm bằng chứng, không phải lời quảng cáo. Kèm backup máy chủ hàng tuần cho căn nhà mới của bạn.
Dùng thử VPS NVMe, bàn giao trong 5 phút

Bài viết liên quan