Bỏ qua điều hướng
chuanweb.com
Quay lại tất cả bài viết

Bảo mật website tĩnh đúng cách: HTTPS, security headers và sao lưu tự động

chuanweb.com 2 phút đọc

Website tĩnh không có cơ sở dữ liệu để lộ, nhưng vẫn có hai nhóm rủi ro thật: bề mặt tấn công mạngmất dữ liệu nguồn. Quy trình bảo mật dưới đây xử lý cả hai bằng công cụ miễn phí, triển khai trong buổi chiều.

HTTPS chuẩn với Cloudflare

Nếu website đi qua Cloudflare, phần mã hóa gần như đã xong:

  • Bật SSL/TLS, chọn chế độ đầy đủ tới nguồn nếu Nginx phía sau cũng có chứng chỉ.
  • Bật Always Use HTTPS để mọi yêu cầu HTTP đều được nâng lên HTTPS.
  • Kiểm tra HSTS bằng header do Cloudflare hỗ trợ sẵn: nhớ bật sau khi xác nhận HTTPS hoạt động ổn định vài tuần.

Security headers

Áp dụng ngay trong Nginx hoặc bằng Transform Rules của Cloudflare:

add_header Strict-Transport-Security "max-age=63072000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self'" always;

Content-Security-Policy cần test kỹ vì có thể chặn nhầm script bên thứ ba — bắt đầu bằng chế độ báo cáo thay vì chặn cứng.

Giới hạn truy cập vùng quản trị

Nếu blog có phần quản trị chạy local, chỉ cho phép qua proxy cục bộ và yêu cầu xác thực:

location /admin/ {
    proxy_pass http://127.0.0.1:8765;
    auth_basic "Admin area";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Như vậy panel quản trị không lộ ra ngoài; người ngoài chỉ thấy trang 401 khi truy cập trực tiếp.

Sao lưu tự động mỗi ngày

Dữ liệu quý nhất là thư mục nguồn blog và cấu hình. Một job cron nén và giữ lại 14 bản sao:

#!/usr/bin/env bash
BACKUP_DIR=/backups/chuanweb
mkdir -p "$BACKUP_DIR"
tar czf "$BACKUP_DIR/$(date +%Y-%m-%d).tar.gz" \
  -C /home/chuanweb/App chuanweb
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +14 -delete

Thêm vào cron:

0 2 * * * /home/chuanweb/scripts/backup.sh

Lý tưởng nhất là đẩy bản sao định kỳ ra kho lưu trữ khác (máy khác, cloud object storage) để phòng mất máy chủ vật lý.

Kết luận

  • HTTPS qua Cloudflare + security headers chặn phần lớn các kiểu tấn công phổ biến.
  • Giấu vùng quản trị sau proxy local và xác thực Basic.
  • Sao lưu tự động hằng ngày là chi phí rẻ nhất để không bao giờ mất nội dung.
  • Thường xuyên chạy kiểm tra bằng công cụ miễn phí như Security Headers hay SSL Labs để theo dõi điểm số.