Những kiến thức cơ bản về bảo mật trong Linux
1. Nguyên tắc bảo mật trong Linux
Bảo mật trong Linux nghĩa là chiến lược "giảm thiểu quyền hạn" và kiểm soát truy cập chặt chẽ. Hãy tưởng tượng Linux như một pháo đài bảo vệ nhiều lớp: càng đi sâu càng nhiều kiểm tra. Nhưng trước tiên, chúng ta sẽ tìm hiểu ba trụ cột chính mà bảo mật hệ thống dựa vào.
Phân quyền truy cập: người dùng, nhóm và root
Bí quyết để Linux ổn định và bảo mật nằm ở việc phân quyền truy cập nghiêm ngặt. Hệ thống có ba loại đối tượng:
- Người dùng (users): tài khoản cá nhân. Đây giống như các thành viên trong bữa tiệc gia đình của bạn - mỗi người có giấy thông hành riêng.
- Nhóm (groups): là tập hợp những người dùng. Một số nhiệm vụ có một giấy thông hành cho cả nhóm - ví dụ, quyền truy cập vào thư mục chung "Ảnh của bà."
- Root: người dùng siêu quyền hạn. Root giống như Superman trong thế giới Linux của bạn. Họ có thể làm tất cả mọi thứ, và điều đó đi kèm hai mặt: siêu sức mạnh và siêu trách nhiệm.
Linux dùng mô hình này để hạn chế truy cập vào file, ứng dụng hoặc các chức năng hệ thống. Ngay cả khi hacker đột nhập vào dưới một người dùng thông thường, họ cũng không thể gây hại cho kernel hoặc các file quan trọng.
Giảm thiểu quyền hạn
Đừng phân phát quyền root cho tất cả mọi người. Hãy tưởng tượng nếu mọi nhân viên trong văn phòng của bạn có chìa khóa két sắt tiền mặt. Sớm muộn gì ai đó cũng sẽ làm mất. Trong Linux, quy tắc là chỉ cung cấp quyền cần thiết để người dùng thực hiện công việc của họ.
Những mối đe dọa bảo mật chính
- Virus: đúng vậy, Linux cũng không hoàn toàn miễn nhiễm, nhưng virus hiếm gặp hơn nhờ kiến trúc hệ thống.
- Cuộc tấn công qua mạng: tấn công SSH, DDoS, giả mạo DNS.
- Lỗ hổng phần mềm: các gói cũ và thư viện không bảo vệ có thể là cánh cửa cho hacker.
2. Phòng ngừa mối đe dọa
Giờ thì cùng tìm hiểu các bước quan trọng để đảm bảo server Linux của bạn vẫn trung thành, không biến thành công cụ của hacker nhé.
Cập nhật hệ thống thường xuyên
Ví dụ cụ thể: việc cập nhật hệ thống giống như cập nhật antivirus. Không có nó thì kể cả hệ thống bảo mật hiện đại nhất cũng trở nên vô dụng trước những mối đe dọa mới. Lệnh:
sudo apt update && sudo apt upgrade
giúp giữ Linux của bạn luôn "phong độ".
Kiểm soát quyền truy cập vào các tệp quan trọng
Có những tệp mà bạn nên giấu kín không cho người khác thấy. Ví dụ, tệp /etc/sudoers
— danh sách các user có quyền truy cập vào các đặc quyền quản trị. Bạn chỉ nên chỉnh sửa thông qua visudo
để tránh mắc lỗi ngẫu nhiên.
Hạn chế truy cập root
Bạn biết đấy, root là sức mạnh, nhưng không nên lạm dụng nó. Tốt hơn là làm việc dưới quyền user thông thường và chỉ sử dụng sudo
khi cần thiết để tạm thời có quyền truy cập đặc quyền.
3. Công cụ bảo mật
Những công cụ nào trong Linux sẽ giúp bạn trong cuộc chiến bảo mật? Hãy cùng nhìn vào các giải pháp tích hợp và bên ngoài.
Các cơ chế tích hợp
- firewalld và iptables: tường lửa để quản lý lưu lượng mạng. Nghe có vẻ phức tạp, nhưng tụi mình sẽ giải thích rõ ràng!
- SELinux (Security-Enhanced Linux): bổ sung đặc biệt kiểm tra xem các tiến trình nào có quyền truy cập file.
- ACL (Access Control Lists): phiên bản mở rộng của quyền truy cập tiêu chuẩn.
Công cụ bên ngoài
- Lynis: công cụ kiểm tra bảo mật.
- OpenSCAP: bộ công cụ để kiểm tra sự tuân thủ của hệ thống với các tiêu chuẩn bảo mật.
Cài đặt chính sách mật khẩu
Mật khẩu của bạn phức tạp đến mức nào... ồ, đừng nói nhé! Tốt nhất là đảm bảo ngay lập tức một chính sách mật khẩu an toàn. Chiều dài tối thiểu và độ phức tạp của mật khẩu được cấu hình thông qua PAM.
sudo nano /etc/security/pwquality.conf
Ví dụ tham số:
minlen = 12
minclass = 3
4. Ví dụ thực tế: Cài đặt bảo mật cơ bản
Bây giờ hãy xắn tay áo lên nào! Chúng ta sẽ thiết lập chính sách bảo mật đơn giản cho hệ thống thử nghiệm.
Đăng ký người dùng
Tạo hai người dùng: quản trị viên và người dùng bình thường.
sudo adduser admin
sudo adduser user1
sudo usermod -aG sudo admin
Bây giờ admin
có quyền quản trị, còn user1
— thì không.
Kiểm soát quyền truy cập vào các tệp quan trọng
Hạn chế quyền truy cập vào cấu hình Nginx:
sudo chmod 600 /etc/nginx/nginx.conf
Quản lý firewall
Cài đặt và cấu hình ufw
(Uncomplicated Firewall) để bảo vệ máy chủ của chúng ta:
sudo apt install ufw
sudo ufw enable
Chỉ cho phép lưu lượng truy cập SSH và HTTP:
sudo ufw allow 22
sudo ufw allow 80
Bật kiểm tra:
sudo ufw status
5. Lỗi phổ biến
Khi nói đến bảo mật, quan trọng không chỉ là biết phải làm gì, mà còn phải hiểu những điều nên tránh.
Lỗi 1: Làm việc dưới tài khoản root
Nhiều bạn mới thường lười và làm việc dưới tài khoản root. Đây là điều nguy hiểm: bất kỳ lỗi nào hoặc bị tấn công cũng có thể gây hại nghiêm trọng cho hệ thống.
Lỗi 2: Gói phần mềm không được cập nhật
Như một admin từng nói: "Máy chủ tốt duy nhất là máy chủ được cập nhật". Phần mềm cũ là mục tiêu lý tưởng cho các cuộc tấn công.
Lỗi 3: Mật khẩu không an toàn
"password123" — là một trong những mật khẩu phổ biến nhất. Đừng là người dùng mật khẩu đó.
6. Ứng dụng thực tế: Tại sao điều này quan trọng?
Cài đặt bảo mật cho Linux không chỉ có ích ở nơi làm việc mà còn trong buổi phỏng vấn xin việc. Việc hiểu các nguyên tắc làm việc với firewall, SELinux và thiết lập quyền truy cập sẽ gây ấn tượng với nhà tuyển dụng. Ví dụ, bạn có thể bảo vệ server của công ty khỏi các cuộc tấn công DDoS hoặc thiết lập quyền cho công việc nhóm trên các dự án.
Nếu bạn làm công việc lập trình, bảo vệ hệ thống có nghĩa là mã nguồn của bạn sẽ không bị rơi vào tay đối thủ cạnh tranh và dữ liệu khách hàng sẽ được an toàn. Đây không chỉ là paranoia kiểu Habarov mà còn là một nhu cầu thực sự của ngành công nghiệp hiện đại.
GO TO FULL VERSION