Linux server
Bạn đang tìm kiếm sự trợ giúp? Gõ thông tin cần tìm. Tối thiểu 4 ký tự.
HƯỚNG DẪN KIỂM TRA HIỆU SUẤT, THEO DÕI BĂNG THÔNG VÀ XỬ LÝ SỰ CỐ NGHẼN MẠNG TRÊN ECLOUD VPS
1. Giới thiệu tổng quan Trong quá trình vận hành eCloud VPS tại ESC.VN, đôi khi bạn sẽ gặp phải tình trạng website tải chậm, ứng dụng không phản hồi hoặc mất kết nối hoàn toàn. Sự cố này thường xuất phát từ hai nguyên nhân chính: quá tải tài nguyên phần cứng (CPU, RAM, Disk I/O) hoặc nghẽn băng thông mạng (do lượt truy cập tăng đột biến hoặc bị tấn công DDoS). Tài liệu này hướng dẫn chi tiết cách tự kiểm tra, chẩn đoán nhanh hiệu suất của cả máy chủ VPS Linux và Windows, đồng thời đưa ra các bước xử lý sự cố kịp thời. 2. Giám sát và kiểm tra tài nguyên phần cứng VPS 2.1. Đối với eCloud VPS Linux (Ubuntu, CentOS, AlmaLinux, Rocky) Kiểm tra CPU và RAM bằng lệnh top hoặc htop Sử dụng lệnh top mặc định: Đăng nhập SSH vào VPS và gõ: top Cách đọc các thông số quan trọng: Load average: Hiển thị tải trung bình của hệ thống trong 1 phút, 5 phút và 15 phút. Nếu con số này vượt quá số lượng Core CPU của VPS (ví dụ VPS có 2 Core nhưng Load average > 2.000), máy chủ đang bị quá tải nghiêm trọng. %Cpu(s): Xem dòng id (idle). Nếu %id gần bằng 0, nghĩa là CPU đang bị khai thác 100%. KiB Mem: Xem lượng RAM trống tại mục free. Nếu lượng RAM trống quá ít (< 100MB), hệ thống dễ rơi vào trạng thái tràn RAM (Out of Memory). Sử dụng công cụ trực quan htop (Khuyên dùng): Nếu hệ thống chưa cài đặt, bạn hãy cài đặt bằng lệnh: Với Ubuntu/Debian: sudo apt install htop -y Với CentOS/AlmaLinux: sudo dnf install epel-release -y && sudo dnf install htop -y Sau đó khởi chạy: htop Giao diện htop sẽ hiển thị trực quan dạng thanh biểu đồ màu sắc cho từng Core CPU, dung lượng RAM đang sử dụng, và danh sách các tiến trình (process) đang chạy xếp theo thứ tự ngốn nhiều tài nguyên nhất. Để thoát ra ngoài, nhấn phím F10 hoặc q. B. Kiểm tra dung lượng ổ cứng (Storage) và I/O (Đọc/Ghi) Kiểm tra dung lượng còn trống: Nếu phân vùng hệ thống bị đầy 100%, các dịch vụ như MySQL, Nginx sẽ tự động bị crash (tắt ngang). Kiểm tra bằng lệnh: df -h Nhìn vào cột Use% của phân vùng / hoặc /dev/sdaX. Nếu đạt mức trên 90%, bạn cần tìm và xóa các file log dư thừa hoặc file backup cũ. Mẹo tìm thư mục chiếm nhiều dung lượng nhất trên VPS: du -sh /* 2>/dev/null | sort -h Kiểm tra tốc độ đọc ghi ổ cứng (Disk I/O): Sử dụng công cụ iotop để xem tiến trình nào đang ghi đĩa quá nhiều (gây lag VPS): sudo apt install iotop -y # Đối với Ubuntu sudo iotop 2.2. Đối với eCloud VPS Windows Server Sử dụng Task Manager nhanh chóng Kết nối vào VPS bằng Remote Desktop. Nhấp chuột phải vào thanh Taskbar và chọn Task Manager (hoặc nhấn tổ hợp phím Ctrl + Shift + Esc). Tại tab Processes, bạn có thể click vào đầu cột CPU hoặc Memory để sắp xếp xem ứng dụng nào đang chiếm dụng tài nguyên cao nhất (ví dụ: IIS, mssqlserver, chrome…). Chuyển sang tab Performance để xem biểu đồ trực quan về mức độ tải theo thời gian thực của CPU, RAM, ổ đĩa (Disk) và card mạng (Ethernet). Phân tích chuyên sâu với Resource Monitor Nếu cần kiểm tra chi tiết luồng dữ liệu hoặc file nào đang bị khóa/ghi liên tục: Nhấn Windows + R, gõ resmon và nhấn Enter. Công cụ Resource Monitor sẽ hiển thị chi tiết các tiến trình đang đọc/ghi file nào trên Disk, kết nối đến IP nào trên Network với băng thông cụ thể. 3. Giám sát băng thông và xử lý nghẽn mạng 3.1. Các dấu hiệu nhận biết VPS bị nghẽn mạng Website phản hồi cực kỳ chậm hoặc xuất hiện lỗi 504 Gateway Time-out, 502 Bad Gateway. Khi thực hiện lệnh ping đến địa chỉ IP của VPS từ máy tính cá nhân, thời gian phản hồi (ms) rất cao hoặc xuất hiện thông báo bị mất gói tin (Request timed out / Packet Loss). Không thể kết nối SSH hoặc Remote Desktop vào VPS (báo lỗi kết nối hết hạn – Connection Timeout). 3.2. Giám sát băng thông mạng trên Linux Đo băng thông thời gian thực bằng nload hoặc iftop Sử dụng nload để xem tổng lưu lượng mạng đang tải: Cài đặt: sudo apt install nload -y (Ubuntu) hoặc sudo dnf install nload -y (AlmaLinux). Chạy lệnh: nload Hệ thống hiển thị tốc độ mạng hiện tại (Incoming – Tải vào và Outgoing – Đẩy ra) giúp bạn biết card mạng có đang chạy hết công suất băng thông định mức hay không. Sử dụng iftop để xem IP nào đang ngốn băng thông: Cài đặt: sudo apt install iftop -y / sudo dnf install iftop -y. Chạy lệnh: sudo iftop Công cụ sẽ hiển thị chi tiết danh sách các IP ngoài đang kết nối tới VPS và lượng dữ liệu trao đổi giữa hai bên. Từ đây bạn dễ dàng phát hiện ra IP lạ đang cố tình tải file lớn hoặc spam request. B. Kiểm tra số lượng kết nối TCP để phát hiện DDoS Khi bị tấn công DDoS dạng Flood, lượng kết nối TCP ở trạng thái ESTABLISHED hoặc SYN_RECV sẽ tăng vọt. Hãy chạy lệnh sau để thống kê số lượng kết nối từ mỗi địa chỉ IP đến máy chủ của bạn: netstat -anp | grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n Kết quả trả về sẽ có dạng: 12 127.0.0.1 15 42.113.12.14 850 1.2.3.4 <– Địa chỉ IP này đang mở tới 850 kết nối (Bất thường/Nghi
Read moreHƯỚNG DẪN CÁC BƯỚC CẤU HÌNH BẢO MẬT BAN ĐẦU CHO ECLOUD VPS LINUX
1. Giới thiệu tổng quan Khi bạn vừa khởi tạo thành công một máy chủ ảo eCloud VPS chạy hệ điều hành Linux (như Ubuntu, CentOS, AlmaLinux hay Rocky Linux) tại ESC.VN, hệ thống sẽ được cấp phát một địa chỉ IP Public tĩnh. Ngay lập tức, địa chỉ IP này sẽ lọt vào tầm quét của hàng triệu robot tự động (botnet) trên Internet nhằm dò tìm tài khoản quản trị mặc định qua cổng SSH để chiếm quyền điều khiển. Để đảm bảo máy chủ hoạt động an toàn và bảo mật tuyệt đối dữ liệu doanh nghiệp, việc thiết lập các lớp phòng thủ ban đầu là cực kỳ cấp thiết. Tài liệu này hướng dẫn chi tiết 6 bước chốt chặn bảo mật từ cơ bản đến nâng cao mà bất kỳ quản trị viên nào cũng cần thực hiện ngay sau khi nhận bàn giao VPS. 2. Quy trình 6 bước bảo mật eCloud VPS Linux Lưu ý an toàn trước khi thực hiện: Trong quá trình thay đổi cấu hình bảo mật (đặc biệt là đổi cổng SSH hoặc cấu hình tường lửa), bạn không nên tắt cửa sổ kết nối SSH hiện tại. Hãy mở thêm một cửa sổ terminal mới để kiểm tra thử kết nối bằng cấu hình mới thành công rồi mới đóng cửa sổ cũ. Điều này giúp bạn tránh tình trạng bị khóa tài khoản hoặc mất quyền truy cập VPS ngoài ý muốn. Bước 1: Cập nhật hệ thống lên phiên bản mới nhất Nhà phát triển hệ điều hành luôn liên tục cập nhật các bản vá lỗi bảo mật (security patches) để ngăn chặn các lỗ hổng zero-day nguy hiểm. Việc đầu tiên là nâng cấp toàn bộ hệ thống. Đối với các bản phân phối hệ Debian/Ubuntu: sudo apt update && sudo apt upgrade -y Đối với các bản phân phối hệ RedHat (CentOS, AlmaLinux, Rocky Linux): sudo dnf update -y Bước 2: Tạo tài khoản User mới và cấu hình quyền Sudo (Hạn chế dùng Root) Tài khoản root là tài khoản có quyền hạn tối cao nhất trên hệ điều hành Linux. Sử dụng tài khoản này hàng ngày tiềm ẩn rủi ro thao tác sai gây lỗi hệ thống hoặc bị hacker nhắm mục tiêu tấn công dò mật khẩu trực tiếp. Giải pháp an toàn nhất là tạo một user thông thường và chỉ cấp quyền quản trị (Sudo) khi thực sự cần thiết. 1. Tạo tài khoản người dùng mới (Ví dụ tên user là esc_admin): sudo adduser esc_admin Hệ thống sẽ yêu cầu bạn nhập mật khẩu mới và xác nhận lại mật khẩu cho user này. 2. Cấp quyền quản trị (Sudo/Wheel) cho user mới: Đối với Ubuntu/Debian: sudo usermod -aG sudo esc_admin Đối với CentOS/AlmaLinux/Rocky Linux: sudo usermod -aG wheel esc_admin 3. Kiểm tra đăng nhập thử bằng user mới: Hãy mở một cửa sổ SSH mới trên máy tính của bạn và đăng nhập bằng tài khoản esc_admin. Để kiểm tra quyền Sudo, bạn chạy lệnh: sudo whoami Nếu hệ thống trả về kết quả là root, tài khoản mới đã được cấp quyền quản trị thành công. Bước 3: Thay đổi cổng kết nối SSH mặc định (Port 22) Mặc định dịch vụ SSH lắng nghe trên cổng 22. Các botnet liên tục dò quét cổng này. Thay đổi sang một cổng ngẫu nhiên khác sẽ giảm thiểu đến 99% lượng log tấn công dò mật khẩu tự động. 1. Mở file cấu hình dịch vụ SSH: sudo nano /etc/ssh/sshd_config 2. Tìm dòng chứa tham số Port: Mặc định hệ thống sẽ để dòng ẩn #Port 22. Bạn hãy xóa dấu # ở đầu dòng và thay đổi số 22 thành một cổng ngẫu nhiên bảo mật nằm trong khoảng từ 1024 đến 65535 (Ví dụ chọn cổng 2288): Port 2288 3. Cấu hình SELinux (Chỉ áp dụng với hệ CentOS/AlmaLinux/Rocky Linux): Mặc định, chính sách bảo mật SELinux sẽ chặn dịch vụ SSH khởi động trên các cổng không phải cổng 22. Nếu VPS của bạn đang bật SELinux, bạn cần khai báo cổng mới: sudo semanage port -a -t ssh_port_t -p tcp 2288 Nếu hệ thống báo lệnh semanage không tồn tại, bạn cài đặt thêm bằng lệnh: sudo dnf install policycoreutils-python-utils -y. 4. Khởi động lại dịch vụ SSH để áp dụng cấu hình: Đối với Ubuntu/Debian: sudo systemctl restart ssh Đối với CentOS/AlmaLinux/Rocky Linux: sudo systemctl restart sshd Bước 4: Thiết lập và kích hoạt tường lửa (Firewall) bảo vệ VPS Tường lửa đóng vai trò là chốt chặn lọc mọi dữ liệu ra vào máy chủ ảo. Bạn chỉ nên mở các cổng dịch vụ thực sự cần thiết (như SSH mới, HTTP, HTTPS) và khóa tất cả các cổng còn lại. A. Hướng dẫn cấu hình UFW (Dành cho Ubuntu/Debian) Cấu hình cho phép cổng SSH mới hoạt động (Ví dụ: 2288): sudo ufw allow 2288/tcp Cho phép các cổng chạy dịch vụ Web (HTTP và HTTPS): sudo ufw allow 80/tcp sudo ufw allow 443/tcp Kích hoạt tường lửa hệ thống: sudo ufw enable Nhấn y để đồng ý kích hoạt. Kiểm tra trạng thái hoạt động: sudo ufw status verbose B. Hướng dẫn cấu hình Firewalld (Dành cho CentOS/AlmaLinux/Rocky Linux) Kích hoạt dịch vụ Firewalld chạy cùng hệ thống: sudo systemctl enable firewalld –now Thêm cổng SSH mới vào danh sách cho phép (Ví dụ: 2288): sudo firewall-cmd –permanent –add-port=2288/tcp Cho phép cổng Web mặc định hoạt động: sudo firewall-cmd –permanent –add-service=http sudo firewall-cmd –permanent –add-service=https Áp dụng các thay đổi cấu hình tường lửa: sudo firewall-cmd –reload Kiểm tra danh sách các cổng đang mở: sudo firewall-cmd –list-all Bước 5: Cấu hình xác thực bằng SSH Key thay cho mật khẩu thường Xác thực bằng cặp khóa SSH Key (Private Key / Public Key) là phương thức bảo mật tối ưu nhất hiện nay. Hacker hoàn toàn không thể dò tìm mật khẩu vì hệ
Read moreKiể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” ?
Để 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: Xem distro và phiên bản: cat /etc/os-release hoặc lsb_release -a.kdata+1 Xem kernel version: uname -r hoặc uname -a.kdata Ví dụ đầu ra: Ubuntu 24.04.4 với kernel 6.17.0-23-generic là bị ảnh hưởng.github 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
Read moreDirty Frag khai thác page cache như thế nào
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) Trigger ESP packet: Userland gửi ESP packet (IPsec) qua sendmsg() tới socket AF_INET6 với IPV6_ADDRFORM. Page cache mapping: Kernel map ESP packet data vào page cache qua xfrm4_rcv_esp() → esp_input(). 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. 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) AF_RXRPC socket: Tạo socket AF_RXRPC với rxrpc.sock. Data injection: Gửi RxRPC data packet chứa payload độc hại. Page cache pollution: rxrpc_recvmsg() map packet trực tiếp vào page cache fragments không kiểm tra quyền. 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.
Read moreDirty Frag khác gì so với Dirty Pipe và Copy Fail
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 Vượt mitigation cũ: Copy Fail bị chặn bằng blacklist algif_aead, nhưng Dirty Frag dùng subsystem hoàn toàn khác nên vẫn hoạt động.youtube Tuổi thọ dài hơn: xfrm-ESP bug tồn tại từ 2017, RxRPC từ 2023 – rộng hơn Dirty Pipe (chỉ 1 năm).whitehat Phủ sóng universal: Ubuntu dùng RxRPC path, RHEL/Fedora dùng xfrm-ESP path – không distro nào thoát.youtube 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
Read moreCác công cụ bảo mật miễn phí tốt nhất cho server Linux
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ủ. UFW (Uncomplicated Firewall): Là một giao diện quản lý tường lửa thân thiện, được xây dựng trên nền tảng iptables và được cài đặt mặc định trên Ubuntu. UFW giúp đơn giản hóa việc cấu hình các quy tắc tường lửa phức tạp. firewalld: Là giải pháp tường lửa mặc định trên các bản phân phối dựa trên Red Hat như CentOS và Fedora. Nó cung cấp khả năng quản lý các “vùng” mạng (zones) với các mức độ tin cậy khác nhau, cho phép áp dụng chính sách linh hoạt mà không cần khởi động lại dịch vụ. 🔍 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. Lynis: Một công cụ kiểm tra bảo mật toàn diện và rất phổ biến. Lynis quét hệ thống để tìm kiếm các vấn đề bảo mật, lỗi cấu hình, phần mềm lỗi thời và đưa ra các đề xuất chi tiết để “củng cố” (hardening) máy chủ. Nó hoạt động trên hầu hết các hệ điều hành tương tự Unix. OpenVAS (Greenbone Community Edition): Là một bộ công cụ quét lỗ hổng mạnh mẽ và đầy đủ tính năng. Nó có thể xác định hàng ngàn lỗ hổng đã biết trong các dịch vụ mạng và ứng dụng web đang chạy trên máy chủ của bạn. Nmap (Network Mapper): Mặc dù chủ yếu được biết đến như một công cụ khám phá mạng, Nmap cũng cực kỳ hữu ích trong việc kiểm tra bảo mật. Nó có thể xác định các cổng đang mở, các dịch vụ đang chạy và các lỗ hổng liên quan đến dịch vụ đó. 🦠 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. ClamAV: Là một công cụ quét virus mã nguồn mở hàng đầu cho Linux. Nó có thể phát hiện trojan, virus, mã độc và các mối đe dọa khác trong email, tệp tin và thư mục. Cơ sở dữ liệu virus của nó được cập nhật thường xuyên. Chkrootkit (Check Rootkit): Một công cụ dòng lệnh đơn giản nhưng hiệu quả để quét hệ thống nhằm phát hiện các dấu hiệu của rootkit đã biết. Rkhunter (Rootkit Hunter): Tương tự như Chkrootkit, Rkhunter quét hệ thống của bạn để tìm kiếm rootkit, cửa hậu (backdoors) và các lỗ hổng cục bộ bằng cách so sánh các tệp hệ thống quan trọng với cơ sở dữ liệu các tệp tốt đã biết. 🚨 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. Snort: Là một hệ thống phát hiện xâm nhập mạng (NIDS) mã nguồn mở mạnh mẽ. Nó phân tích lưu lượng mạng theo thời gian thực và có thể phát hiện một loạt các cuộc tấn-công dựa trên các bộ quy tắc (ruleset) được định sẵn. Suricata: Một công cụ IDS/IPS hiệu suất cao, hiện đại và cũng là mã nguồn mở. Suricata có khả năng xử lý đa luồng, giúp nó hoạt động hiệu quả trên các hệ thống có lưu lượng mạng lớn. Fail2Ban: Một công cụ cực kỳ hữu ích để ngăn chặn các cuộc tấn công brute-force. Fail2Ban giám sát các tệp log (ví dụ: log của SSH, web server) để tìm kiếm các lần đăng nhập thất bại lặp đi lặp lại từ cùng một địa chỉ IP và tự động chặn IP đó bằng tường lửa. Lời khuyên khi sử dụng: Bắt đầu với những công cụ cơ bản: Thiết lập tường lửa (UFW/firewalld) và cài đặt Fail2Ban là những bước đầu tiên và quan trọng nhất. Quét định kỳ: Lên lịch chạy Lynis, ClamAV, và Rkhunter thường xuyên (ví dụ: hàng tuần) để theo dõi tình trạng an ninh của máy chủ. Không cài đặt thừa thãi: Chỉ cài đặt những dịch vụ và công cụ bạn thực sự cần để giảm thiểu bề mặt tấn công. Luôn cập nhật: Thường xuyên cập nhật hệ điều hành và tất cả các phần mềm đang chạy trên máy chủ để vá các lỗ hổng bảo mật mới nhất.
Read moreKiểm soát và tối ưu bộ nhớ khi chạy Apache
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: StartServers: số tiến trình con khởi tạo khi Apache chạy. MinSpareServers và MaxSpareServers: số tiến trình con nhàn rỗi tối thiểu và tối đa để đáp ứng nhanh yêu cầu mới. MaxRequestWorkers (trước đây là MaxClients): số lượng request đồng thời tối đa Apache có thể xử lý, ảnh hưởng trực tiếp đến lượng RAM sử dụng. ServerLimit: giới hạn tối đa số tiến trình con, nên đặt bằng hoặc lớn hơn MaxRequestWorkers. MaxConnectionsPerChild (MaxRequestsPerChild): số request tối đa một tiến trình con xử lý trước khi bị tái khởi động, giúp tránh rò rỉ bộ 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 ý: Tăng MaxRequestWorkers giúp Apache xử lý nhiều request hơn nhưng cũng làm tăng RAM tiêu thụ. Bạn cần tính toán dựa trên dung lượng RAM server và bộ nhớ trung bình mỗi tiến trình Apache sử dụng để đặt giá trị phù hợp. 2. Kích hoạt và tối ưu KeepAlive KeepAlive On giúp client tái sử dụng kết nối TCP cho nhiều request, giảm chi phí thiết lập kết nối mới, cải thiện hiệu suất. KeepAliveTimeout: thời gian chờ giữ kết nối, nên đặt thấp (ví dụ 3-5 giây) để tránh giữ kết nối không cần thiết làm tốn tài nguyên. MaxKeepAliveRequests: số request tối đa trên một kết nối, có thể đặt 100 hoặc cao hơn. Ví dụ: text KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100 3. Kích hoạt bộ nhớ đệm (Cache) Sử dụng các module như mod_cache, mod_disk_cache hoặc mod_mem_cache để lưu trữ nội dung tĩnh hoặc kết quả xử lý, giảm tải cho Apache và PHP. Cấu hình cache giúp giảm số request thực sự phải xử lý, tiết kiệm RAM và CPU. 4. Tăng giới hạn bộ nhớ và sử dụng Opcache cho PHP Trong file php.ini, tăng giá trị: text memory_limit = 256M Kích hoạt Opcache để PHP lưu trữ bytecode đã biên dịch trong bộ nhớ, giảm chi phí biên dịch lại script cho mỗi request. 5. Giám sát và điều chỉnh Theo dõi lượng RAM Apache sử dụng qua lệnh: bash ps aux | grep httpd Sử dụng công cụ như mod_status để xem số lượng tiến trình và request đang xử lý. Điều chỉnh tham số cấu hình dựa trên thực tế tải và tài nguyên server. 6. Hạn chế quyền truy cập và tối ưu bảo mật Giới hạn truy cập vào các thư mục nhạy cảm để giảm tải không cần thiết. Sử dụng các phương pháp bảo mật giúp tránh các request độc hại gây tốn tài nguyên. 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
Read moreCài đặt Config Server Firewall
Bước 1: Downloading Config Server Firewall (csf) không có sẵn trong repo, chúng ta sẽ download từ website của csf như lệnh sau: wget https://download.configserver.com/csf.tgz Step 2: Giải Nén Giải nén gói tar tar -xzf csf.tgz Step 3: Cài đặt Nếu bạn đang dùng firewall khác nên tắt trước khi cài đặt, nên disable UFW theo lệnh sau: ufw disable Bây giờ chúng ta sẽ cài đặt csf Chạy sh install.sh hoặc ./install.sh cd csf sh install.sh Firewall đã được cài đặt thành công, nhưng bạn nên kiểm tra lại iptables có mở không perl /usr/local/csf/bin/csftest.pl Lưu ý: IP của bạn sẽ được add vào whitelist, và SSH port cũng được tự động add vào firewall, nếu bạn đổi port SSH thì phải add bằng tay. Sau khi cài xong csf sẽ chạy ở chế độ test, có nghĩa là tables rules sẽ tự động xóa sau 5 phút từ lúc csf được start.
Read moreNén và giải nén trong linux
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à một vài ví dụ về cách nén và giải nén với những định dạng đó. Nén và giải nén file có đuôi .gz 1.1 Nén #gzip [tên file] 1.2 Giải nén #gunzip [tên file] Gom và bung tập tin hoặc thư mục đuôi .tar 2.1 Gom #tar -cvf [tênfile.tar] [file1] [file2] .. 2.2 Bung #tar -xvf [file.tar] 2.3 Nén và Gom #tar -zcvf [file.tar.gz] file1 file2 … 2.4 Giải nén và bung #tar -zxvf [file.tar.gz] Giải nén file có đuôi .bz2 #tar xjvf [file.tar.bz2] Các định dạng khác : ZIP Nén một thư mục, sử dụng: $ zip -r folder.zip folder Giải nén, sử dụng: $ unzip file.zip TAR.GZ Nén một thư mục dạng .gz, sử dụng: $ tar -zcf folder.tar.gz folder Giải nén, sử dụng: $ tar -zxvf file.tar.gz TAR.BZ2 Nén một thư mục dạng .bz2, sử dụng: $ tar -jcf folder.tar.bz2 folder Giải nén, sử dụng: $ tar -jxvf file.tar.bz2
Read morePhân quyền server Linux
Các nhóm người dùng trong Linux Trên các hệ thống máy Server sử dụng Unix, Linux… người dùng được chia ra làm 3 nhóm: Owner: Người sở hữu trực tiếp tạo ra các Files, Folder. Group: Nhóm các user. Other/Public/World: Những user không thuộc các nhóm trên. Khi người dùng login vào website tùy thuộc vào user mà người dùng sử dụng mà gán quyền tương đương Cách tính quyền: Ví dụ: 0777: các bạn chỉ cần quan tâm 777 Quyền được thể hiện bằng con số. 4 = Read (quyền được đọc) 2 = Write (quyền được ghi) 1 = Execute (quyền được thực thi) Ví dụ: 3 = 2+1 : Write và Execute đối với File hay Folder. 5 = 4+1 : Read và Execute. 6 = 4+2 : Read và Write. 7 = 4+2+1 : Read, Write và Execute. Tóm lại : 7 = Read, Write & Execute 6 = Read & Write 5 = Read & Execute 4 = Read 3 = Write & Execute 2 = Write 1 = Execute Phân quyền trong linux thường có 3 con số, con số đầu là quyền gán cho người dùng thuộc nhóm Owner. Con số thứ hai là quyền của người dùng thuộc nhóm Group và con số thứ ba cho nhóm Other/Public/World. Ví dụ: 755 : Có nghĩa là Owner (Read, Write & Execute), Group (Read & Execute) và Other/Public/World (Read & Execute). Ngoài ra lệnh CHMOD còn có chế độ các ký hiệu chữ, trong trường hợp sử dụng ký hiệu chữ, chúng ta sẽ bắt gặp những ký hiệu sau: – : 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 hiện) Ví dụ:drwxr-xr-x : Có nghĩa là Owner (Read, Write & Execute), Group (Read & Execute) và Other/Public/World (Read & Execute) đối với Folder (thư mục) này, ký hiệu này tương đương với 755. -rw-r–r– : Có nghĩa là Owner (Read, Write), Group (Read) và Other/Public/World (Read) đối với tập tin này, ký hiệu này tương đương với 644. Sử dụng FileZilla để phân quyền Dùng chức năng Set Permissions trên File Manager của Directadmin
Read more

























