Tiếp nhận bảo trì hệ thống cũ không có tài liệu
Mục lục7
Những điểm chính
- Mất liên lạc với bên phát triển, không có tài liệu, người phụ trách đã nghỉ: hệ thống vẫn có thể được tiếp nhận bảo trì.
- Mã nguồn trên máy chủ là bản tài liệu chính xác nhất. Đọc nó là biết hệ thống hoạt động ra sao.
- Ngay cả khi chưa chọn đơn vị mới, vẫn có những việc bạn kiểm tra được ngay hôm nay.
- Nếu bỏ mặc, hệ thống sẽ không thể vá các lỗ hổng như PHP2shell tháng 10/2026.
"Công ty làm ra hệ thống đã không liên lạc được." "Không có tài liệu nào cả." "Người duy nhất hiểu hệ thống đã nghỉ việc." Ngay cả trong những trường hợp này, hệ thống vẫn có thể được bên khác tiếp nhận bảo trì.
Mã nguồn trên máy chủ chính là bản tài liệu chính xác nhất. Đọc mã nguồn, chúng ta biết hệ thống có những màn hình nào, tính toán và tuân theo quy tắc nghiệp vụ ra sao. Bài viết này trình bày những gì nên kiểm tra ngay hôm nay và quy trình tiếp nhận, dù nhà phát triển cũ đã biến mất hay bạn chỉ muốn đổi đơn vị bảo trì.
Bạn có đang gặp những tình huống này?
Mất liên lạc với bên phát triển
Đã giải thể, ngừng kinh doanh, hoặc người phụ trách không còn.
Không có tài liệu
Chưa từng có, hoặc tài liệu không còn khớp với hệ thống hiện tại.
Người nắm hệ thống đã nghỉ
Người duy nhất hiểu hệ thống rời công ty, hệ thống trở thành "hộp đen".
Không hài lòng với đơn vị bảo trì
Chậm, đắt, hoặc để hệ thống chạy mãi trên PHP cũ mà không đề xuất nâng cấp.
Không có gì bất thường cả. Hệ thống càng cũ thì càng dễ rơi vào tình trạng này.
Rủi ro khi bỏ mặc hệ thống cũ
- Lỗ hổng không được vá: không có ai sửa được hệ thống thì các lỗ hổng mới cứ thế bị bỏ ngỏ.
- Sự cố không ai sửa được: khi lỗi làm dừng công việc, không ai tìm ra nguyên nhân.
- Quy định thay đổi, hệ thống thì không: thuế suất, luật hay hệ thống của đối tác thay đổi mà bạn không thể cập nhật.
- Hợp đồng hết hạn: nếu không ai biết ai đứng tên máy chủ, tên miền, việc gia hạn có thể bị bỏ lỡ và website ngừng hoạt động.
Điều đã xảy ra vào tháng 10/2026
"Lỗ hổng" không phải chuyện xa vời. Tháng 10/2026, lỗ hổng PHP nghiêm trọng "PHP2shell" đã được công bố.
PHP phát hành bản vá
Hai lỗ hổng cho phép chạy mã mà không cần đăng nhập được khắc phục.
Nhật Bản phát cảnh báo
IPA và JPCERT/CC kêu gọi mọi đơn vị dùng PHP cập nhật.
Xác nhận đã bị khai thác
Cơ quan CISA của Mỹ đưa cả hai vào danh sách lỗ hổng đã bị khai thác trên thực tế.
Hệ thống có người chăm lo sẽ được vá ngay. Hệ thống không có ai thì tiếp tục bị phơi nhiễm. Xem cần làm gì với PHP2shell.
Không ai chăm lo
- Có lỗ hổng mới cũng không cài được bản vá
- Hệ thống dừng thì không biết bao giờ chạy lại
- Năm tháng trôi qua mà không ai hiểu hệ thống
Được tiếp nhận và bảo trì
- Lỗ hổng được vá kịp thời
- Sự cố được tìm nguyên nhân và khắc phục
- Có tài liệu, người tiếp theo không bị bế tắc
Danh sách kiểm tra cho hôm nay
Dù chưa chọn được đơn vị tiếp nhận, kiểm tra trước những điểm sau sẽ giúp việc bàn giao suôn sẻ hơn nhiều.
- Xác định ai vào được hệ thống
Ai đứng tên máy chủ, tên miền và ai đăng nhập được trang quản trị.
- Bảo vệ dữ liệu
Kiểm tra có bản sao lưu không, và bản gần nhất là khi nào.
- Thu thập manh mối
Ghi lại người dùng, tài liệu còn sót, dịch vụ kết nối và hợp đồng cũ.
| Kiểm tra | Vì sao quan trọng | Mức độ gấp |
|---|---|---|
| Ai đứng tên máy chủ, tên miền và ai đăng nhập được | Có quyền truy cập là có thể khảo sát mã nguồn và dữ liệu | Ưu tiên nhất |
| Có bản sao lưu dữ liệu không | Là "phao cứu sinh" khi có sự cố | Ưu tiên nhất |
| Ai dùng chức năng nào, cho việc gì | Cho biết phần nào quan trọng với hoạt động kinh doanh | Sớm |
| Tài liệu còn sót lại (báo giá, hóa đơn, email, ghi chú) | Thường hé lộ mục đích ban đầu của hệ thống | Sớm |
| Các dịch vụ kết nối (thanh toán, email, kế toán) | Phải tiếp tục hoạt động trong lúc bàn giao | Sớm |
| Hợp đồng phát triển, bảo trì cũ | Có thể quy định về quyền sở hữu mã nguồn và cách chấm dứt hợp đồng | Trước khi bàn giao |
Chia sẻ mật khẩu an toàn
Đừng gửi mật khẩu trực tiếp trong email. Chỉ chia sẻ cho người tin cậy, qua kênh an toàn.
Cách chúng tôi tiếp nhận hệ thống không có tài liệu
Dù không có tài liệu, chương trình vẫn nằm trên máy chủ. Chúng tôi đọc nó, chạy thử để xác nhận cách hoạt động, rồi biến những gì tìm được thành tài liệu rõ ràng.
Tại Digi Dinos, việc tiếp nhận hệ thống không có tài liệu, không còn nhà phát triển gốc đi theo các bước sau:
- Trao đổi
Cách bạn đang dùng hệ thống hằng ngày và vấn đề gặp phải.
- Khảo sát
Máy chủ, phiên bản PHP và framework, cơ sở dữ liệu, các kết nối.
- Phân tích mã nguồn
Chúng tôi tự đọc mã và chạy thử trên môi trường thử nghiệm để tìm lại quy tắc nghiệp vụ.
- Dựng lại tài liệu
Danh sách màn hình, chức năng, trường dữ liệu và cấu hình máy chủ, trình bày dễ hiểu.
- Báo cáo rủi ro và đề xuất kế hoạch
Việc cần sửa ngay, việc có thể để sau, chi phí dự kiến, cùng các phương án: tiếp tục bảo trì, sửa một phần hoặc làm mới.
- Bảo trì liên tục
Vá lỗ hổng, xử lý sự cố và cải tiến nhỏ.
Những tài liệu chúng tôi dựng lại
| Tài liệu | Cho biết điều gì | Hữu ích khi nào |
|---|---|---|
| Danh sách màn hình | Có những màn hình nào, ai sử dụng | Xác định phạm vi sửa đổi |
| Danh sách chức năng | Các phép tính và quy tắc hệ thống tuân theo | Sửa mã mà không làm hỏng phần quan trọng |
| Trường dữ liệu | Lưu những thông tin gì, ở đâu | Sao lưu và chuyển đổi dữ liệu |
| Cấu hình máy chủ | Máy chủ, phiên bản PHP và framework, các kết nối | Lập kế hoạch vá lỗi và nâng cấp |
Mục tiêu thực sự của việc tiếp nhận
Để lại tài liệu sao cho ai tiếp quản sau này cũng không gặp khó khăn. Bạn sẽ không còn phải phụ thuộc vào một công ty hay một người duy nhất để hệ thống chạy được.
Các bước đổi đơn vị bảo trì
- Kiểm tra hợp đồng hiện tại
Thời hạn và thời gian báo trước khi chấm dứt.
- Trao đổi với đơn vị mới
Đơn vị mới khảo sát hệ thống và lập kế hoạch bàn giao.
- Đề nghị đơn vị cũ bàn giao
Mã nguồn, thông tin máy chủ và các tài liệu còn lại.
- Song song một thời gian
Cả hai đơn vị cùng tham gia cho đến khi mọi thứ được xác nhận ổn định.
- Chuyển hẳn sang đơn vị mới
Từ đây, đơn vị mới chịu trách nhiệm.
Nếu không liên lạc được đơn vị cũ
Bỏ qua bước 3 và 4, bắt đầu khảo sát từ mã nguồn trên máy chủ. Quyền vào trang quản trị máy chủ là điểm xuất phát quan trọng nhất.
Câu hỏi thường gặp
Có thể bàn giao mà không báo cho nhà phát triển cũ không?
Tùy hợp đồng, vì hợp đồng có thể quy định quyền sở hữu mã nguồn và bản quyền. Hãy kiểm tra trước, và hỏi chúng tôi nếu chưa chắc.
Hệ thống của tôi quá cũ thì sao?
Không sao. Chúng tôi làm việc với cả PHP 5 và mã tự viết không dùng framework. Hệ thống càng cũ, càng nên sớm có người xem xét bên trong.
Hệ thống nhỏ có nhận không?
Có. Công cụ nội bộ vài người dùng, hay chỉ một form liên hệ cũng được.
Có làm việc bằng tiếng Nhật được không?
Được. Đội ngũ nói tiếng Nhật của chúng tôi phụ trách, và chúng tôi cũng làm việc bằng tiếng Việt, tiếng Anh.
Sau khi tiếp nhận có nâng cấp được không?
Được. Dựa trên kết quả khảo sát, chúng tôi lên kế hoạch nâng cấp PHP, framework và máy chủ cùng lúc. Xem chi phí và quy trình nâng cấp PHP.
Giao hệ thống cũ cho Digi Dinos
Digi Dinos là công ty phần mềm có văn phòng tại Việt Nam và Nhật Bản (Yokohama), 8 năm kinh nghiệm và hơn 150 dự án.
Tự khảo sát, tự dựng tài liệu
Không tài liệu, không còn nhà phát triển gốc, không ai hiểu hệ thống: chúng tôi dựng lại đặc tả.
Vá lỗ hổng
Xử lý nhanh các lỗ hổng CVE mới công bố.
Nâng cấp toàn diện
PHP, Laravel, CakePHP hoặc mã tự viết, máy chủ và hệ điều hành.
Bảo hành vĩnh viễn
Trong suốt thời gian hợp đồng bảo trì còn hiệu lực.
Ngoài PHP, chúng tôi cũng tiếp nhận hệ thống cũ viết bằng Java, Node.js và các ngôn ngữ khác.
Tiếp nhận hệ thống cũ
Hệ thống không còn ai hiểu? Hãy trao đổi với chúng tôi
Chỉ cần còn đăng nhập được máy chủ, chúng tôi có thể bắt đầu từ đó và cùng bạn xác định hiện trạng.
Nguồn tham khảo
- Cảnh báo của IPA về PHP2shell, tiếng Nhật
- Cảnh báo của JPCERT/CC, tiếng Nhật
- Danh sách lỗ hổng đã bị khai thác của CISA
Thông tin tại ngày 28/10/2026.