Học devsecops Bài 7: Nguyên Tắc Đặc Quyền Tối Thiểu | DevSecOps story

Chuyện về devsecops

Phần 2: Các Khái Niệm Bảo Mật Cơ Bản

Bài 7: Nguyên Tắc Đặc Quyền Tối Thiểu (PoLP)

Sau khi biết "bạn là ai" và "bạn được làm gì", câu hỏi tiếp theo là: "bạn NÊN được làm gì?". Câu trả lời nằm ở một triết lý đơn giản: càng ít càng tốt.

Ôn lại bài cũ: Xác Thực & Ủy Quyền

Ở bài 6, chúng ta đã phân biệt Xác thực (kiểm tra danh tính) và Ủy quyền (cấp quyền). Nguyên tắc Đặc quyền Tối thiểu chính là kim chỉ nam cho việc cấp quyền một cách thông minh và an toàn nhất.

Triết lý "Chìa khóa đơn"

Nguyên tắc Đặc quyền Tối thiểu (Principle of Least Privilege - PoLP) quy định rằng: Một người dùng, một chương trình, hay một tiến trình chỉ nên được cấp những quyền hạn tối thiểu, vừa đủ để thực hiện nhiệm vụ được giao.

Ví dụ đời thực: Thay vì giao cả chùm chìa khóa nhà cho người trông xe, bạn chỉ đưa cho họ chìa khóa xe. Đó chính là PoLP!

Tại Sao PoLP Sống Còn Đối Với DevSecOps?

Giảm Bề Mặt Tấn Công

Càng ít quyền hạn, càng ít cửa ngõ cho kẻ tấn công khai thác. Một tài khoản chỉ có quyền đọc sẽ không thể bị lợi dụng để xóa dữ liệu.

Hạn Chế Thiệt Hại

Nếu một tài khoản bị xâm phạm, thiệt hại (blast radius) sẽ được giới hạn trong phạm vi quyền hạn nhỏ hẹp của tài khoản đó, thay vì lan rộng ra toàn hệ thống.

Ngăn Lỗi Vô Ý & Tăng Ổn Định

Người dùng hoặc các script tự động hóa không thể vô tình thay đổi hay xóa nhầm những thành phần hệ thống quan trọng mà họ không có quyền truy cập.

Áp Dụng PoLP Trong Thực Tế

  • Người dùng Hệ điều hành:

    Tuyệt đối không sử dụng tài khoản `root` (Linux) hay `Administrator` (Windows) cho các công việc hàng ngày. Hãy dùng tài khoản thường và chỉ sử dụng `sudo` khi thực sự cần thiết.

  • Ứng dụng & Cơ sở dữ liệu:

    Tạo một user database riêng cho mỗi ứng dụng với quyền hạn cụ thể. Nếu ứng dụng chỉ cần đọc dữ liệu, hãy cấp cho nó quyền `SELECT` mà thôi, không cấp quyền `UPDATE` hay `DELETE`.

  • Cloud IAM & CI/CD:

    Một pipeline CI/CD chỉ cần deploy lên một máy chủ cụ thể thì chỉ nên có access key cho phép nó làm đúng việc đó, thay vì cấp quyền admin cho toàn bộ tài khoản cloud.

  • Docker Containers:

    Chạy các tiến trình bên trong container với một user không phải `root`. Điều này ngăn chặn việc nếu container bị chiếm quyền, kẻ tấn công sẽ có quyền root trên máy host.

PoLP: Nền Tảng Của "Zero Trust"

Nguyên tắc Đặc quyền Tối thiểu là một bước đi quan trọng hướng tới mô hình bảo mật "Zero Trust" - không tin tưởng bất kỳ ai, luôn xác minh. Bằng cách mặc định từ chối và chỉ cấp quyền khi cần thiết, chúng ta xây dựng nên những hệ thống vững chắc hơn rất nhiều.

Bài Tiếp Theo: Mô Hình Hóa Mối Đe Dọa

Đăng nhận xét