Chuyển đến nội dung chính
  1. Phân tích & Cảnh báo an ninh/

Gia cố hạ tầng Linux cho hệ thống APAC

·6 phút

Phần lớn hệ thống Linux production chạy gần với cấu hình mặc định hơn bất kỳ ai muốn thừa nhận. Tài liệu gia cố thì có, thường viết cho kỳ kiểm toán nhiều năm trước, nhưng máy chủ không khớp với chúng. Khoảng cách giữa “baseline trên giấy” và “cấu hình thật” chính là chỗ kẻ tấn công trú ngụ ổn định.

Gia cố Linux là kỷ nghệ khép khoảng hở ấy, và làm sao để sống sót qua lần triển khai kế tiếp.

Mặc định là điểm khởi đầu, không phải tư thế #

Bản cài Linux mặc định ưu tiên tương thích, không phải an ninh. Nó kèm những dịch vụ bạn không dùng, tính năng kernel bạn không cần, và logging vừa đủ cho máy bàn nhưng không đủ cho một host production bị chiếm. Gia cố là quá trình biến cỗ máy đa dụng đó thành cỗ máy chuyên dụng.

Phần việc nặng rơi vào vài nhóm:

  • Tinh chỉnh kernel và sysctl: bảo vệ mạng (ví dụ bỏ qua ICMP redirect, bật lọc route nguồn), hạn chế filesystem, và các bảo vệ bộ nhớ như xáo trộn bố cục không gian địa chỉ.
  • Tối giản dịch vụ: tắt và gỡ những gì host không chạy, để không còn thứ gì có thể bị khai thác mà vốn chẳng dùng.
  • Kiểm soát truy cập bắt buộc: SELinux hay AppArmor giới hạn những gì tiến trình được phép làm, kể cả khi nó bị chiếm.
  • Systemd và container hardening: bỏ capabilities, chặn raw socket, giới hạn syscall bằng profile seccomp.
  • Audit và logging: ghi lại những sự kiện quan trọng, đẩy ra ngoài host để kẻ tấn công không xóa nổi vết của chính mình.

CIS Benchmarks vẫn là bản quy phạm thực dụng và được công nhận rộng nhất cho các kiểm soát này, OpenSCAP tự động hóa cả việc áp dụng lẫn kiểm toán.

Cấu hình là mã, nếu không thì nó không tồn tại #

Hướng dẫn gia cố nằm trên wiki chỉ là danh sách ước muốn. Gia cố sống trong mã (role Ansible, image Packer, admission policy Kubernetes) mới là sự thật. Khi baseline là mã, ba điều thay đổi:

  1. Nó tái tạo được. Mọi host mới kế thừa baseline, chứ không chỉ những host ai đó nhớ cấu hình.
  2. Nó kiểm thử được. Compliance scan trong CI làm build fail khi cấu hình trôi.
  3. Nó review được. Thay đổi baseline là một pull request, cùng kỷ luật review như mã ứng dụng.

Đó là khoảng cách giữa gia cố là sự kiện thường niên và gia cố là thuộc tính của nền tảng.

Bất biến là đích đến #

Kết cục hợp lý là hạ tầng bất biến: host và container không bao giờ vá tại chỗ, chỉ bị thay thế. Image mới được dựng, quét, triển khai; image cũ bị hủy. Configuration drift trở nên bất khả, vì chẳng có gì để trôi: hệ thống đang chạy là một sản phẩm build.

Hạ tầng bất biến ghép tự nhiên với gia cố-dưới-dạng-mã. Bạn không còn bảo trì baseline; bạn biên dịch an ninh vào trong image. Và khi lỗ hổng xuất hiện, bản vá là một lần rebuild, chứ không phải phiên SSH lúc nửa đêm.

flowchart LR A[Baseline CIS benchmark dưới dạng mã] --> B[Dựng image hardened trong CI] B --> C[Compliance scan trong pipeline] C -- đạt --> D[Deploy và luân phiên instance] C -- trượt --> B style C stroke:#0EA5E9,stroke-width:2px style D stroke:#10B981,stroke-width:2px

Vượt ra ngoài máy chủ #

Gia cố không dừng ở hệ điều hành. Cùng kỷ luật ấy trải rộng theo nhiều hướng, mỗi hướng có failure mode riêng.

Container kế thừa mọi thứ, rồi tự thêm rủi ro của chính nó. Image container xây từ base layer chưa hardened mang mọi điểm yếu cấp host vào từng pod chạy nó. Giải pháp nằm ở thượng nguồn: base image tối giản, scan trong CI, chạy non-root với filesystem read-only, gỡ capabilities, và seccomp profile giới hạn syscall đúng mức workload cần. Profile seccomp mặc định đã chặn nhiều; profile được tinh chỉnh theo hành vi syscall quan sát thực tế sẽ chặn phần còn lại. Kubernetes admission policy thi hành tất cả trên toàn fleet, để deployment không đạt chuẩn thậm chí không thể được xếp lịch.

Môi trường OT nâng cược lên. Trong bối cảnh công nghiệp và công nghệ vận hành, gia cố va chạm với tính sẵn sàng theo cách IT văn phòng chưa từng thấy. Một control CIS áp sai lên building management system, mạng PLC dây chuyền sản xuất, hay phân đoạn thiết bị bệnh viện không tạo ra finding: nó tạo ra downtime, đôi khi kèm hệ quả an toàn tính mạng. Vì vậy hardening OT đảo ngược thứ tự: monitoring thụ động và inventory trước, thay đổi trong maintenance window kèm rollback plan, và control được pilot trên bản sao production trước khi đụng gì thật. IT hỏi “hệ thống này có an toàn không?”; OT phải hỏi “có thể bảo vệ mà không dừng nó không?”

Drift detection khép vòng lặp. Baseline suy giảm qua thay đổi thường nhật: engineer mở port để debug, installer bật lại một service, hotfix không bao giờ quay về code. Không có phát hiện, host hardened hôm nay là host mềm của năm sau. Mẫu hiệu quả: quét cấu hình hằng ngày so sánh live host và image với baseline dạng mã, finding được định tuyến như alert thẳng tới người sở hữu, chứ không chất đống trong báo cáo quý không ai đọc. Drift phát hiện trong một ngày là ticket; drift phát hiện sau một năm là cuộc điều tra sự cố.

Host hardened đứng sau IAM role cloud quá rộng, hoặc trong container pipeline không được scan, vẫn phơi bày. Tư thế bền nhất coi baseline host, chuỗi build container, cấu hình cloud và ranh giới định danh là một bề mặt liên tục, và giám sát như thế.

Chưa chắc máy chủ của bạn khớp tài liệu gia cố? Liên hệ để được soi nhanh, thẳng thắn. Nhắn tôi qua LINE (@PureSecurity) hoặc email (hello@puresecurity.com).

Linux & Infrastructure Hardening của chúng tôi giao baseline dưới dạng mã và phát hiện trôi tự động, Configuration & Architecture Assessment rà soát tầng cloud và định danh bao quanh host. Muốn toàn cảnh, đặt một buổi Kỹ thuật & xác định phạm vi.