Để kiểm tra bản phân phối Linux của bạn có bị ảnh hưởng bởi lỗ hổng “Dirty Frag” (CVE-2026-43284 và CVE-2026-43500) hay không, bạn cần xác định tên distro, phiên bản và kernel version, sau đó đối chiếu với danh sách đã biết.cybersecuritynews+1

Lệnh Kiểm Tra Distro Và Kernel

Chạy các lệnh sau trên terminal để lấy thông tin:

Distro Bị Ảnh Hưởng

Hầu hết các distro lớn với kernel từ 5.15 đến 6.9 (từ 2017) đều dễ bị tấn công, đã test xác nhận:

Distro Phiên Bản Kernel Ví Dụ Trạng Thái
Ubuntu 24.04.4 (6.17.0-23-generic), tất cả LTS Bị ảnh hưởng ubuntu+2
RHEL 10.1 (6.12.0-124.49.1.el10_1) Bị ảnh hưởng cybersecuritynews+1
Fedora 44 (6.19.14-300.fc44.x86_64) Bị ảnh hưởng github
openSUSE Tumbleweed (7.0.2-1-default) Bị ảnh hưởng cybersecuritynews
CentOS Stream 10 (6.12.0-224.el10.x86_64) Bị ảnh hưởng github
AlmaLinux 10 (6.12.0-124.52.3.el10_1) Bị ảnh hưởng cybersecuritynews

Kiểm Tra Module Liên Quan

Chạy grep -E ‘^(esp4|esp6|rxrpc)’ /proc/modules để xem module esp4, esp6 hoặc rxrpc có đang load không; nếu có, hệ thống dễ bị khai thác ngay lập tức.ubuntu+1 Nếu kernel đã cập nhật sau commit f4c50a4034e6 (CVE-2026-43284) và aa54b1d27fe0 (CVE-2026-43500), bạn an toàn hơn.github

Dirty Frag khai thác page cache bằng cách lợi dụng logic bug trong hai subsystem kernel để ghi trực tiếp vào page fragments đang được cache, bypass quyền file. Kỹ thuật này tương tự Dirty Pipe nhưng dùng packet processing thay vì pipe buffer.

Cơ Chế Khai Thác xfrm-ESP (CVE-2026-43284)

  1. Trigger ESP packet: Userland gửi ESP packet (IPsec) qua sendmsg() tới socket AF_INET6 với IPV6_ADDRFORM.
  2. Page cache mapping: Kernel map ESP packet data vào page cache qua xfrm4_rcv_esp() → esp_input().
  3. Frag overwrite: Logic sai trong skb_to_sgvec() cho phép attacker kiểm soát skb_frag_page(), ghi đè arbitrary page trong cache của file hệ thống như /etc/passwd.
  4. File read trigger: Đọc file target → page cache hit → data đã bị corrupt.

skb_frag_page(&skb_shinfo(skb)->frags[0]) ← Attacker control

^ Được map trực tiếp vào page cache của /etc/passwd

Cơ Chế RxRPC (CVE-2026-43500)

  1. AF_RXRPC socket: Tạo socket AF_RXRPC với rxrpc.sock.
  2. Data injection: Gửi RxRPC data packet chứa payload độc hại.
  3. Page cache pollution: rxrpc_recvmsg() map packet trực tiếp vào page cache fragments không kiểm tra quyền.
  4. Universal write: Ghi đè bất kỳ file nào trong page cache bất kể owner permissions.

Điểm Khác Biệt Kỹ Thuật

Bước Dirty Pipe Dirty Frag (xfrm-ESP)
Vector splice() pipe sendmsg() ESP socket
Mapping pipe->buf → page skb->frags → page cache
Control pipe_buffer.flags skb_frag_page() index
Trigger pipe read File read (cache hit)

  Root cause chung: Page cache không validate nguồn gốc dữ liệu khi được populate từ network stack thay vì regular file I/O.

Dirty Frag khác biệt rõ rệt với Dirty Pipe và Copy Fail dù cùng khai thác page cache của Linux kernel. Chúng thuộc “gia đình Dirty” về mặt kỹ thuật nhưng nhắm vào các subsystem khác nhau, có độ tin cậy cao hơn và vượt qua các biện pháp giảm thiểu cũ. So Sánh Chính

Đặc Điểm Dirty Pipe (2022) Copy Fail (2026) Dirty Frag (2026)
CVE CVE-2022-0847 CVE-2026-31431 CVE-2026-43284 + CVE-2026-43500 infoq
Sub-system Pipe buffer (splice) AF_ALG (algif_aead) xfrm-ESP & RxRPC whitehatyoutube
Loại Bug Logic: Ghi đè pipe_buffer.flags Logic: Copy-on-write sai Logic: Ghi trực tiếp vào page cache frags
Phạm Vi Kernel 5.8-5.17 Kernel 6.x mới Kernel từ 2017 (9 năm) youtube
Độ Ổn Định Cao, deterministic Cao Cao nhất, không race, không crash whitehat
Mitigation Patch nhanh chóng Blacklist algif_aead Blacklist esp4/esp6/rxrpc whitehat

Điểm Khác Biệt Nổi Bật Dirty Frag là chuỗi khai thác kép thay vì single bug, kết hợp xfrm-ESP (cần user namespace, bị AppArmor Ubuntu chặn) và RxRPC (không cần namespace nhưng module thường off) để bao phủ tất cả distro lớn.youtubewhitehat

Tác Động Chung Cả ba đều cho phép local privilege escalation (LPE) → root từ user thường bằng cách ghi đè file hệ thống (như /etc/passwd) qua page cache manipulation, nhưng Dirty Frag nguy hiểm nhất vì chưa có patch đầy đủ và PoC public.infoq+1

Các công cụ bảo mật miễn phí tốt nhất cho server Linux

Để bảo mật máy chủ Linux, bạn có thể sử dụng nhiều công cụ miễn phí mạnh mẽ, mỗi công cụ tập trung vào một khía cạnh bảo mật khác nhau. Việc kết hợp các công cụ này sẽ tạo ra một hệ thống phòng thủ vững chắc cho máy chủ của bạn.

Dưới đây là danh sách các công cụ bảo mật miễn phí tốt nhất cho server Linux, được phân loại theo chức năng chính.

🛡️ Tường lửa (Firewall)

Tường lửa là lớp phòng thủ đầu tiên, kiểm soát lưu lượng mạng ra vào máy chủ.

🔍 Quét Lỗ hổng và Đánh giá An ninh

Các công cụ này giúp bạn kiểm tra cấu hình hệ thống và phát hiện các điểm yếu tiềm tàng.

🦠 Quét Mã độc và Rootkit

Đây là các công cụ chuyên dụng để phát hiện phần mềm độc hại, virus và rootkit.

🚨 Hệ thống Phát hiện và Ngăn chặn Xâm nhập (IDS/IPS)

Các công cụ này giám sát lưu lượng mạng hoặc hoạt động trên máy chủ để phát hiện các hành vi đáng ngờ hoặc các cuộc tấn công đã biết.

Lời khuyên khi sử dụng:

 

1. Điều chỉnh các tham số quản lý tiến trình (MPM) Apache sử dụng các mô-đun MPM (Multi-Processing Module) như prefork, worker, hoặc event để quản lý tiến trình và luồng xử lý request. Các tham số quan trọng bạn cần cấu hình:

Ví dụ cấu hình (trong file httpd.conf hoặc mpm.conf):

text

StartServers          10

MinSpareServers       10

MaxSpareServers       50

MaxRequestWorkers     500

ServerLimit           500

MaxConnectionsPerChild 10000

Lưu ý:

2. Kích hoạt và tối ưu KeepAlive

Ví dụ:

text

KeepAlive On

KeepAliveTimeout 5

MaxKeepAliveRequests 100

3. Kích hoạt bộ nhớ đệm (Cache)

4. Tăng giới hạn bộ nhớ và sử dụng Opcache cho PHP

text

memory_limit = 256M

5. Giám sát và điều chỉnh

bash

ps aux | grep httpd

6. Hạn chế quyền truy cập và tối ưu bảo mật

Tóm tắt

Cách tối ưu Mô tả ngắn gọn
Điều chỉnh MPM Tăng/giảm số tiến trình, MaxRequestWorkers phù hợp RAM
Kích hoạt KeepAlive Giữ kết nối lâu hơn, giảm chi phí tạo kết nối mới
Kích hoạt bộ nhớ đệm (Cache) Giảm số request xử lý thực sự
Tăng memory_limit và Opcache Giúp PHP xử lý hiệu quả, giảm tải cho Apache
Giám sát và điều chỉnh Theo dõi tài nguyên, điều chỉnh tham số phù hợp
Hạn chế truy cập Giảm tải server, tăng bảo mật

Bước 1: Tải file cài đặt (Downloading)

Config Server Firewall (CSF) không có sẵn trong các kho lưu trữ (repo) mặc định, vui lòng tải trực tiếp từ trang chủ:

wget https://download.configserver.com/csf.tgz

Bước 2: Giải nén gói dữ liệu

Giải nén file archive .tgz vừa tải về bằng lệnh:

tar -xzf csf.tgz

Bước 3: Tiến hành cài đặt

Lưu ý: Nếu hệ thống đang sử dụng tường lửa khác (ví dụ: UFW), bạn cần tắt đi trước khi cài CSF.

Tắt UFW:

ufw disable

Truy cập thư mục và chạy script cài đặt CSF:

cd csf && sh install.sh

Kiểm tra sau khi cài đặt

Sau khi cài đặt xong, hãy kiểm tra lại xem IP Tables trên máy chủ có hoạt động chính xác không:

perl /usr/local/csf/bin/csftest.pl
  • Địa chỉ IP hiện tại của bạn sẽ tự động được thêm vào danh sách trắng (whitelist).
  • Cổng SSH hiện tại cũng được tự động mở. Nếu bạn thay đổi SSH port sau này, bạn phải thêm thủ công vào file cấu hình CSF.
  • Chế độ Test Mode: CSF sẽ mặc định chạy ở chế độ thử nghiệm (Testing). Mọi quy tắc trong iptables sẽ tự động xả (clear) sau mỗi 5 phút kể từ khi CSF khởi động.

Nén và giải nén trong Linux: zip, tar.gz và tar.bz2

Trong hệ thống *nix tồn tại một số dạng nén cơ bản như: zip, tar.gz và tar.bz2. Dưới đây là cú pháp và ví dụ chi tiết để thao tác với từng định dạng.

1. Định dạng .gz (gzip)

1.1 Nén file:

gzip [tên_file]

1.2 Giải nén file:

gunzip [tên_file.gz]

2. Gom & Bung tập tin/thư mục (.tar)

2.1 Gom nhiều file thành file .tar:

tar -cvf [tên_file.tar] [file1] [file2] ...

2.2 Bung (xả) file .tar:

tar -xvf [file.tar]

2.3 Vừa nén vừa gom thành .tar.gz:

tar -zcvf [file.tar.gz] [file1] [file2] ...

2.4 Giải nén và xả file .tar.gz:

tar -zxvf [file.tar.gz]

3. Tổng hợp lệnh nén & giải nén thư mục thông dụng

Định dạng ZIP

• Nén thư mục:

zip -r folder.zip folder

• Giải nén:

unzip file.zip

Định dạng TAR.GZ

• Nén thư mục dạng .tar.gz:

tar -zcf folder.tar.gz folder

• Giải nén:

tar -zxvf file.tar.gz

Định dạng TAR.BZ2

• Nén thư mục dạng .tar.bz2:

tar -jcf folder.tar.bz2 folder

• Giải nén:

tar -jxvf file.tar.bz2

Các Nhóm Người Dùng & Phân Quyền Trong Linux

Trên các hệ thống máy chủ Unix/Linux, quyền truy cập tập tin và thư mục được phân chia rõ ràng theo các nhóm người dùng để đảm bảo tính an toàn và bảo mật.

1. Các nhóm người dùng chính

  • Owner (u): Người sở hữu trực tiếp tạo ra các Files, Folder.
  • Group (g): Nhóm tập hợp nhiều user có chung quyền hạn.
  • Other / Public / World (o): Những user không thuộc hai nhóm trên.

* Khi người dùng login vào hệ thống hoặc website, quyền truy cập sẽ được gán tương ứng theo user đó.

2. Cách tính quyền bằng con số (Octal Notation)

4

Read (r)
Quyền đọc
2

Write (w)
Quyền ghi
1

Execute (x)
Quyền thực thi
Sơ đồ phân quyền Linux

Tóm tắt bảng tổng hợp quyền:

Con số Công thức Quyền chi tiết
7 4 + 2 + 1 Read, Write & Execute
6 4 + 2 Read & Write
5 4 + 1 Read & Execute
4 4 Read
3 2 + 1 Write & Execute
2 2 Write
1 1 Execute

Cách đọc bộ 3 con số (ví dụ: 755):

Con số thứ nhất dành cho Owner, số thứ hai cho Group và số thứ ba cho Other.

Ví dụ phân quyền 755
👉 Ví dụ 755: Owner có quyền 7 (Read, Write, Execute), Group có quyền 5 (Read, Execute) và Other có quyền 5 (Read, Execute).

3. Phân quyền bằng ký hiệu chữ (Symbolic Mode)

Ngoài con số, lệnh CHMOD còn hiển thị cấu trúc phân quyền dạng ký hiệu:

Ký hiệu phân quyền
  • - : Không được cấp quyền
  • d : Ký hiệu Directory (Folder / Thư mục)
  • r : Quyền Read (Đọc)
  • w : Quyền Write (Ghi)
  • x : Quyền Execute (Thực thi)
🔹 drwxr-xr-x : Thư mục (d), Owner (rwx = 7), Group (r-x = 5), Other (r-x = 5). Tương đương với 755.
🔹 -rw-r--r-- : Tập tin (-), Owner (rw- = 6), Group (r– = 4), Other (r– = 4). Tương đương với 644.

4. Thao tác phân quyền trên giao diện phần mềm

Phân quyền bằng phần mềm FileZilla (FTP):

Phân quyền FileZilla

Dùng chức năng Set Permissions trên File Manager của DirectAdmin:

Phân quyền DirectAdmin

Do hàm sendmail() của PHP khi gửi mail không cần chứng thực SMTP (khi gửi mail không cần khai báo địa chỉ gửi đi và chứng thực mật khẩu SMTP để gửi mail hợp lệ), chỉ cần khai báo địa chỉ gửi đến là có thể gửi mail. Việc gửi mail không cần chứng thực dẫn đến tình trạng sẽ bị các tổ chức chống spam trên toàn thế giới liệt vào black list.

Vì vậy, ESC đã chặn hàm sendmail() do vấn đề trên. Và sau đây ESC xin hướng dẫn cấu hình send mail smtp trên mã nguồn mở Joomla ? + Đăng nhập vào trang quản trị Website (Ví dụ: http://tên_miền_của_bạn/escadmin) smtp_joomla+ Vào Hệ thống -> Cấu hình chung -> tab Server Tại phần Mail Settings chọn và nhập các thông tin sau: Nếu Sử dụng mail hosting: cấu hình như hình trên Nếu Sử dụng gmail: – Mailer: chọn SMTP – Mail From: Nhập Email gửi – From Name: Tên người gửi – SMTP Authentication: chọn Yes – SMTP Security: SSL – SMTP Port: 465 – SMTP Username: User đăng nhập của Email gửi – SMTP Password: Password đăng nhập của Email gửi – SMTP Host: smtp.gmail.com

Hướng Dẫn Cài Đặt & Sử Dụng ClamAV Trên CentOS

ClamAV là ứng dụng quét virus và mã độc mã nguồn mở phổ biến dành cho các máy chủ Linux / CentOS.

1. Cài đặt gói EPEL Repo

Cài đặt kho lưu trữ EPEL để tải dữ liệu ClamAV từ thư viện:

yum install epel-release

2. Download và cài đặt ClamAV

Tiến hành cài đặt các gói ClamAV cần thiết:

yum install -y clamav clamd

3. Khởi động dịch vụ ClamAV

Start dịch vụ và thiết lập tự động khởi động cùng hệ thống:

/etc/init.d/clamd start
chkconfig clamd on

4. Cập nhật cơ sở dữ liệu Virus

Chạy lệnh để tải mẫu virus mới nhất về máy chủ:

freshclam

5. Các lệnh quét virus cơ bản

• Tiến hành quét toàn bộ server:

clamscan -r /

• Quét toàn bộ server và xuất kết quả ra file log:

clamscan -ri / -l /root/scan_av_log.txt

• Quét thư mục cụ thể và tự động xóa file nhiễm độc:

clamscan -ri /home/admin --remove
Giải thích cú pháp:

  • -ri: Quét đệ quy (thư mục cha và con), chỉ hiển thị thông báo các file bị nhiễm mã độc.
  • /home/admin: Đường dẫn đến thư mục cần quét.
  • –remove: Tự động xóa ngay lập tức các file bị phát hiện là mã độc.

Một số Tùy chọn (Options) thông dụng trong ClamAV

  • --infected hoặc -i : Chỉ in ra màn hình những file bị nghi ngờ hoặc phát hiện nhiễm mã độc.
  • --recursive hoặc -r : Scan đệ quy toàn bộ thư mục và file bên trong thư mục cha.
  • --remove=[yes/no] : Xóa trực tiếp các file nhiễm mã độc tìm thấy.
  • --no-summary : Ẩn nội dung bảng tổng kết sau khi quét xong.
  • --log=/path/file.log hoặc -l /path/file.log : Ghi lại nhật ký (log) quá trình quét vào file cụ thể.
  • --move=/path hoặc --mv=/path : Di chuyển tất cả các file bị nghi ngờ nhiễm mã độc đến thư mục cách ly chỉ định.