Trưa 21/10, mình nhận tin PHP sắp ra bản vá cho 2 lỗ hổng nghiêm trọng. Theo php.net, kẻ tấn công có thể chạy mã từ xa trên server mà không cần đăng nhập. Với một panel đang quản lý hơn 1.000 server, đây là kiểu tin khiến mình gác hết việc khác lại.
Lớp chắn tạm khi chưa có bản vá
Việc đầu tiên là lên php.net xác minh, vì tin bảo mật lan rất nhanh mà không phải tin nào cũng đúng. Xác minh xong, mình đẩy ngay một hotfix chỉnh cấu hình PHP theo khuyến cáo cho mọi server có PHP. Lúc đó bản vá chưa ra, nên đây chỉ là lớp chắn tạm trong lúc chờ.
21:00, bản vá ra
21:00 giờ Việt Nam, PHP công bố bản 8.2.35, 8.3.36, 8.4.27 và 8.5.12 (CVE-2026-109618, CVE-2026-109619). Gói cài cho máy x86 đã sẵn sàng, mình tung tiếp hotfix thứ hai: cập nhật mọi bản PHP trên server lên bản vá, giữ nguyên php.ini và cấu hình khách đã chỉnh. Máy nào còn dùng nguồn PPA cũ thì được tự chuyển sang nguồn mới, có sao lưu trước.
Vì sao khách chỉ cần mở dashboard
FlashPanel không cài gì lên server, mọi lệnh chỉ đi qua SSH khi cần. Vậy làm sao vá cho cả loạt máy? Mình dùng cơ chế hotfix có sẵn từ trước: mỗi server có một cờ báo cần hotfix. Khách mở trang danh sách server, FlashPanel thấy cờ là tự chạy script vá cho từng máy. Không ai phải SSH, cũng không phải bấm nút nào.
Không báo "xong" cho có
Điều mình để ý nhất là đừng báo xong khi chưa xong. Cập nhật xong, script so từng bản PHP với bản vá. Chưa đạt thì giữ cờ, lần sau mở trang sẽ tự chạy lại. Có máy còn gói cài dở từ trước, script tự hoàn tất chúng rồi mới cập nhật, thay vì dừng giữa chừng.
Máy ARM và OpenLiteSpeed hiện mới có lớp chắn tạm, gói vá về là mình đẩy tiếp. Còn PHP 8.1 trở xuống và Ubuntu 20.04 đã hết hỗ trợ, bạn nên tính chuyện nâng cấp dần.
Làm panel quản lý server, điều mình mong nhất là những lúc thế này, không ai phải thức khuya SSH từng máy 😄 Còn bạn tự quản server thì thường vá thế nào: script riêng, Ansible hay SSH từng máy?
liked this





