0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Cơ Bản Về Firewalld và SELinux: Tường Lửa và Bảo Mật Trên Hệ Điều Hành Linux

Đăng vào 2 tháng trước

• 4 phút đọc

I. FIREWALLD

1. Khái Niệm

Firewalld là một giải pháp tường lửa động trên hệ điều hành Linux, cho phép quản lý các quy tắc tường lửa cho các vùng mạng khác nhau. Nó hỗ trợ cả tường lửa cho IPv4 và IPv6, cũng như cấu hình cho Ethernet bridge và IP set. Firewalld tách biệt giữa cấu hình runtime (thời gian hoạt động) và permanent (vĩnh viễn), tạo điều kiện dễ dàng cho việc quản lý bảo mật.

Lợi ích của Firewalld:

  • Bảo vệ mạng và dữ liệu: Giúp ngăn chặn các truy cập không mong muốn vào hệ thống, bảo vệ thông tin và tài nguyên mạng hiệu quả trước các cuộc tấn công.
  • Quản lý truy cập mạng dễ dàng: Cho phép người dùng dễ dàng cấu hình và quản lý quy tắc truy cập cho các dịch vụ và ứng dụng khác nhau.
  • Kiểm soát cổng kết nối: Cho phép mở hoặc đóng cổng kết nối với nhu cầu cụ thể của hệ thống.
  • Giao diện dễ sử dụng: Cung cấp cả giao diện dòng lệnh và giao diện đồ họa cho việc quản lý.

2. Các Zone Trong Firewalld

Các zone trong Firewalld giúp phân chia và quản lý các mức độ tin cậy cho các kết nối mạng khác nhau:

  • drop: Từ chối toàn bộ kết nối đến mà không phản hồi.
  • block: Từ chối kết nối đến và gửi phản hồi với tin nhắn từ icmp-host-prohibited.
  • public: Dành cho mạng công cộng, không đáng tin cậy.
  • external: Dành cho hệ thống kết nối bên ngoài, thường dùng làm gateway.
  • internal: Dùng cho mạng nội bộ với độ tin cậy cao hơn.
  • dmz: Khu vực cách ly, chỉ cho phép một số kết nối nhất định.
  • work: Tin cậy phần lớn các máy tính trong môi trường làm việc.
  • home: Tin cậy các thiết bị trong môi trường gia đình.
  • trusted: Đáng tin cậy nhất, cho phép tất cả thiết bị.

3. Quy Tắc Runtime và Permanent

Trong Firewalld, có hai loại quy tắc:

  • Runtime (thời gian hoạt động): Áp dụng ngay lập tức nhưng sẽ mất hiệu lực sau khi khởi động lại hệ thống.
  • Permanent (vĩnh viễn): Được lưu lại ngay cả khi khởi động lại, cần reload để áp dụng cho các quy tắc mới.

Việc reload tường lửa cho phép áp dụng các quy tắc mới mà không làm gián đoạn kết nối hiện tại.

4. Cài Đặt Firewalld

Cài đặt Firewalld rất đơn giản:

bash Copy
    yum install -y firewalld

Khởi động Firewalld và thiết lập tự động khởi động khi hệ thống khởi động:

bash Copy
    systemctl start firewalld
    systemctl enable firewalld

Kiểm tra trạng thái của Firewalld:

bash Copy
    systemctl status firewalld

Liệt kê các zone đã kích hoạt:

bash Copy
    firewall-cmd --list-all

Thiết lập các dịch vụ mà Firewalld cho phép:

bash Copy
    firewall-cmd --zone=public --add-service=http --permanent
    firewall-cmd --zone=public --add-service=https --permanent

Mở cổng kết nối cho dịch vụ:

bash Copy
    firewall-cmd --zone=public --add-port=25/tcp --permanent
    firewall-cmd --reload

Mở dải cổng:

bash Copy
    firewall-cmd --zone=public --add-port=2000-2500/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-ports

Đóng cổng sử dụng tham số remove-port:

bash Copy
    firewall-cmd --zone=public --remove-port=25/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --list-ports

Chặn một địa chỉ IP:

bash Copy
    firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='X.X.X.X' reject"
    firewall-cmd --reload

Gỡ chặn một địa chỉ IP:

bash Copy
    firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='X.X.X.X' reject"
    firewall-cmd --reload

II. SELINUX

1. Giới Thiệu

SELinux (Security-Enhanced Linux) là một module bảo mật của Linux, cung cấp cơ chế điều khiển truy cập thông qua các chính sách bảo mật.

SELinux có ba chế độ hoạt động chính:

  • Enforcing: Chế độ chính, thực thi chính sách và ghi lại các hành động không hợp lệ.
  • Permissive: SELinux vẫn hoạt động nhưng không tự động thực thi chính sách, chỉ cảnh báo.
  • Disabled: Vô hiệu hóa hoàn toàn SELinux.

2. Cấu Hình SELinux

Vô Hiệu Hóa Tạm Thời SELinux

bash Copy
    echo 0 > /selinux/enforce

hoặc

bash Copy
    setenforce 0

Vô Hiệu Hóa Vĩnh Viễn SELinux

bash Copy
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/sysconfig/selinux

Bật Lại SELinux

bash Copy
    sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/sysconfig/selinux
    sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config

Cài Đặt semanage

bash Copy
    yum install policycoreutils-python

Kiểm Tra Các Cổng SELinux

bash Copy
    semanage port -l | grep ssh

Xóa Cổng Trên SELinux

bash Copy
    semanage port -d -t ssh_port_t -p tcp 22

Mở Cổng 2220 Cho Dịch Vụ SSH

bash Copy
    semanage port -a -t ssh_port_t -p tcp 2220

Kết Luận

Hy vọng rằng thông tin trên sẽ giúp bạn hiểu rõ hơn về Firewalld và SELinux trên hệ điều hành Linux. Nếu bạn có bất kỳ câu hỏi hoặc góp ý nào, đừng ngần ngại liên hệ với chúng tôi. Chúc bạn có một ngày làm việc hiệu quả và học hỏi được nhiều kiến thức bổ ích! 🤩🤩😘😘
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào