Khuyến nghị mở rộng / công cụ để kiểm tra sửa đổi tập tin cốt lõi?


16

Khi cập nhật các trang web Joomla lên phiên bản mới nhất, tôi luôn có một sự hoảng loạn nhỏ trong trường hợp trang web tôi đang nâng cấp, được xây dựng bởi một số nhà phát triển giả mạo (ví dụ như tôi, 6 năm trước), đã xảy ra thay đổi tính năng ('hack') tập tin Joomla lõi.

Trong một thế giới lý tưởng, tôi có thể tránh được mạch vành tiềm năng này bằng cách có một phần mở rộng hoặc công cụ:

  • Biết tất cả các tệp Joomla cốt lõi có trong mỗi phiên bản Joomla
  • So sánh từng tệp trên cài đặt Joomla của tôi với các tệp nguồn Joomla chính trên Github hoặc bất cứ nơi nào (thậm chí giống như so sánh băm MD5)
  • Nếu chúng khác nhau, hãy khởi động một công cụ khác để tìm sự khác biệt và gắn cờ chúng để xem xét
  • Nếu chúng giống nhau, những thứ tuyệt vời, không cần hành động
  • Tạo một báo cáo ở cuối chi tiết kết quả của quá trình trên

Tôi đã tìm thấy tiện ích mở rộng này thực hiện hầu hết các tiện ích trên, nhưng nó chưa được cập nhật kể từ J2.5.7 hoặc hoàn toàn cho J3.X - vì vậy, đó là ra.

Tại công ty của tôi, chúng tôi sử dụng MyJ Joomla để thực hiện toàn bộ trang web 'kiểm toán' (một danh sách dài các hướng dẫn thực hành tốt nhất và các bản sửa lỗi cho các trang web Joomla) mỗi lần, một phần trong đó là 'Kiểm tra tính toàn vẹn của tập tin lõi'. Tuy nhiên, dịch vụ này có phí đăng ký hàng tháng và tất cả những gì tôi thực sự muốn kiểm tra là liệu có bất kỳ tệp nào đã bị hack trước khi thực hiện nâng cấp hay không.

Có ai biết giải pháp nào khác không? Ngoài 'không hack các tập tin cốt lõi' - cho đến gần đây, đôi khi không có cách nào khác để thực hiện một số tác vụ nhất định mà không có một khối lượng công việc bổ sung, thường không được trả tiền.


1
Myj Joomla.com cung cấp một công cụ tuyệt vời sẽ giúp mọi sửa đổi lõi Joomla.

github.com/btoplak/Joomla-Anti-Malware-Scan-Script--JAMSS- JAMS - có thể quét qua tất cả các tập tin và xác định hacks thể cũng như là ngày của những thay đổi tập tin
iamrobert

Câu trả lời:


11

Tôi không thể tưởng tượng một công cụ tốt hơn git . Đây là một công cụ tuyệt vời để theo dõi các thay đổi mà bạn thực hiện đối với mã (nếu bạn đang thực hiện), là hệ thống được Joomla sử dụng để đóng góp mã (đây là một điều tuyệt vời để làm) và đây là mục đích của nó!

Quy trình làm việc khá đơn giản và sẽ cho phép bạn khá lo lắng:

  1. Sao lưu trang web j Joomla của bạn (dù sao bạn cũng đang làm trước đây, phải không?)
  2. Thiết lập bản sao lưu cục bộ.
  3. Chạy git inittrên thư mục gốc của bản sao cục bộ. Sau đó chạy git add --allgit commit. Điều này có một ảnh chụp nhanh của mã như bây giờ.
  4. Lấy bản vá phù hợp với phiên bản Joomla hiện tại của bạn.
  5. Cài đặt bản vá đó trên bản sao địa phương của bạn.
  6. Chạy git diffvà bạn sẽ thấy một danh sách tất cả các khác biệt trong các tệp giữa những gì bạn đang chạy và các tệp cốt lõi.

Tôi nhận ra rằng đây là một câu trả lời khá "phát triển" và không phải ai cũng muốn sử dụng git trong dòng lệnh. Nếu bạn sử dụng GUI Git (chẳng hạn như máy khách của Github), bạn có thể bỏ qua bước cuối cùng, vì GUI sẽ tự động hiển thị cho bạn diff.

Cuối cùng, tôi khuyên bạn nên sử dụng phương pháp này vì cả hai đều dạy cho bạn một kỹ năng sẽ giúp ích nếu bạn viết mã và đóng góp cho Joomla và nó giữ tất cả các kiểm tra cục bộ, vì vậy bạn không phải lo lắng về việc chuyển mã của mình sang một trang web hoặc dịch vụ khác!


Tôi thích phương pháp này, nhưng thường bảo trì là một nhiệm vụ vô ơn mà tôi đang cố gắng làm cho thời gian không đáng kể (do đó chúng tôi trả tiền cho MyJ Joomla). Tôi có thể bắt đầu làm điều này mặc dù, vì vậy cảm ơn bạn.
mã hóa

1
Vâng. Điều này trở nên nhanh hơn nếu bạn đang sử dụng git để kiểm soát và theo dõi phát triển trang web, điều mà tôi rất khuyến khích! Mặc dù điều đó không giúp hỗ trợ các trang web cũ, nhưng sử dụng git sẽ trở nên dễ dàng, vì vậy bạn có thể sử dụng nó theo cách này một cách nhanh chóng.
David Fritsch

Mặc dù Git rất phổ biến, nhưng nó không phải lúc nào cũng tốt nhất vì vậy tôi muốn khái quát câu trả lời : chọn một phần mềm kiểm soát sửa đổi phù hợp với bạn.
miroxlav

Tôi đang cố gắng sửa đổi và / hoặc sao chép một tiện ích mở rộng như một phần của mẫu bên thứ 3 và ghi đè lên com_content. Trước tiên, tôi cần thiết kế ngược lại, vì vậy tôi hy vọng giải pháp này sẽ giúp tôi tìm thấy cả các tệp sửa đổi và bổ sung (mặc dù có thể có rất nhiều - tôi cần một công cụ và phương pháp tốt). Tôi hy vọng giải pháp này sẽ hiệu quả với điều đó :-)
NivF007

5

Đây là phần mở rộng của câu trả lời của FFrewin. Akeeba cũng sản xuất một công cụ miễn phí có tên SiteDiff. Nó cho phép bạn so sánh 2 trang web đã được sao lưu với Akeebabackup (cũng có phiên bản miễn phí đó).

Để làm việc này, bạn sẽ phải có 2 bản sao lưu. Một bản sao lưu sẽ là của trang web của bạn (giả sử đó là phiên bản 2.5.19). Đối với bản sao lưu khác, bạn sẽ cần cài đặt một bản sao mới của Joomla 2.5.19 và sau đó tạo bản sao lưu của bản cài đặt đó. Tiếp theo so sánh hai bản sao lưu bằng công cụ SiteDiff.

Một vấn đề với phương pháp này là bạn sẽ có nhiều tệp trong bản sao lưu trang web của mình hơn là cài đặt mới. Các tệp bổ sung sẽ xuất hiện dưới dạng khác biệt, có thể gây khó khăn khi phân biệt các thay đổi cốt lõi so với phần còn lại của 'nhiễu'.


3

http://audit-fs.co.za/ có một công cụ miễn phí có tên Audit_FS cho thấy bạn đã sửa đổi các tệp Joomla và / hoặc có thể các tệp Joomla bị hỏng.

Là một công cụ bảo mật cơ bản Audit_FS được thiết kế để thực hiện kiểm tra chỉ các tệp Joomla! ® của bạn, cũng như, kiểm tra các quyền của tệp và thư mục của bạn. Nó không kiểm tra bất kỳ thay đổi hoặc hack trong hồ sơ cơ sở dữ liệu của bạn cũng như không kiểm tra bất kỳ tệp nào từ các tiện ích mở rộng mà bạn có thể đã cài đặt. Báo cáo kiểm toán cũng sẽ bỏ qua .htaccess, robot.xt, configure.php, configure.php-dist và Copyright.php.


2

Tôi không biết bất kỳ tiện ích mở rộng nào ngoài tiện ích mở rộng mà bạn đã đề cập, được dừng ở đâu đó trong J2.5.

Cách xử lý của tôi là sử dụng các ứng dụng máy tính để bàn để so sánh tệp / thư mục và tôi so sánh trang web đang đề cập với phiên bản j Joomla gốc của nó. Cá nhân tôi sử dụng DiffMerge trên mac.

Một tiện ích khác mà tôi biết có thể giúp bạn theo dõi các tệp bị hack / sửa đổi trên trang web của mình là Admin Tools pro. Nó cung cấp công cụ quét php. Nhưng thực tế, trang này dành cho các trang web bạn đã phát triển và quét sau khi khởi chạy và để giúp bạn khám phá bất kỳ tệp bị nhiễm nào sau khi hack.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.