Ghi lại log loại bỏ packet sử dụng firewalld

Tác giả: 28/06/2023

Chúng ta đều đã biết Linux có iptables hoạt động ở tầng network như 1 tường lửa vô cùng hữu dụng. Vậy Firewalld, nằm ở tầng ứng dụng liệu có thể sử dụng như iptables không?

Firewalld thực ra linh hoạt không kém gì iptables, trong bài viết này chúng ta hãy cùng tìm hiểu cách sử dụng tùy chọn LogDenied để ghi lại các gói tin bị loại bỏ bởi firewalld.

Có nhiều cách để thực hiện mục đích được nhắc tới bên trên, bao gồm:

1. Cấu hình tệp firewalld.conf

Chỉnh sửa file /etc/firewalld/firewalld.conf:

vi /etc/firewalld/firewalld.conf

Tìm tham số

LogDenied=off

Và thay thế bằng

LogDenied=all

Lưu lại sau đó restart firewalld service

systemctl restart firewalld
# hoặc
firewall-cmd --reload

Mặc định LogDenied được tắt đi. Tùy chọn này cho phép firewalld ghi lại log ngay khi các chains INPUT, FORWARD, hay OUTPUT loại bỏ 1 gói tin nào đó. Các giá trị khả dụng là:

  • all: Khi sử dụng giá trị này, tất cả các gói tin bị từ chối (bao gồm cả unicast, broadcast và multicast) đều sẽ được ghi nhật ký.
  • unicast: Khi sử dụng giá trị này, chỉ các gói tin unicast (gói tin được gửi đến một địa chỉ IP duy nhất) bị từ chối sẽ được ghi nhật ký.
  • broadcast: Khi sử dụng giá trị này, chỉ các gói tin broadcast (gói tin được gửi đến tất cả các thiết bị trong một mạng) bị từ chối sẽ được ghi nhật ký.
  • multicast: Khi sử dụng giá trị này, chỉ các gói tin multicast (gói tin được gửi đến một nhóm địa chỉ IP) bị từ chối sẽ được ghi nhật ký.
  • off: Khi sử dụng giá trị này, các gói tin bị từ chối sẽ không được ghi nhật ký.

2. Sử dụng lệnh firewall-cmd

Tìm và kiểm tra giá trị của tham số LogDenied hiện tại

$ firewall-cmd --get-log-denied

LogDenied=off

Thay đổi giá trị

firewall-cmd --set-log-denied=all

Kiểm tra

$ firewall-cmd --get-log-denied

LogDenied=all

3. Xem log này ở đâu?

Sử dụng grep command hoặc journalctl để kiểm tra

journalctl -xe

Hoặc sử dụng dmesg

dmesg
dmesg | grep -i REJECT

3. Cách để ghi log tất cả packet vào file

Tạo 1 file cấu hình tên firewalld-droppd.conf

vi /etc/rsyslog.d/firewalld-droppd.conf

Thêm đoạn cấu hình này vào

:msg,contains,"_DROP" /var/log/firewalld-droppd.log
:msg,contains,"_REJECT" /var/log/firewalld-droppd.log
& stop

Restart rsyslog service

systemctl restart rsyslog.service

Giờ có thể kiểm tra file log được rồi

tail -f /var/log/firewalld-droppd.log

4. Tổng kết

Theo dõi các gói tin bị từ chối và loại bỏ bowrir firewalld là một nhiệm vụ không thể thiếu của người quản trị hệ thống. Nhờ đó cho phép bạn tránh được nhiều cuộc tấn công hay vấn đề về bảo mật.

Mình là Vượng Bảo Trung, hiện đang học việc tại Công ty TNHH Phần mềm Nhân Hòa, các bạn hãy theo dõi các bài viết tiếp theo của mình tại Wiki Nhân Hòa.

Chúc các bạn luôn may mắn và thành công trong công việc!

Trả lời