2010-05-27 33 views
16

Hãy tưởng tượng tình huống sau:Vi rút trong kho lưu trữ Subversion, phải làm gì?

  1. Tệp nhiễm vi-rút đã được cam kết vào kho lưu trữ Subversion.
  2. Máy quét chống vi rút chạy trên máy chủ và cũng quét kho lưu trữ Subversion.

Trình quét chống vi-rút sẽ xóa bản sửa đổi bị ảnh hưởng hoặc di chuyển nó để kiểm dịch. Hậu quả là một kho lưu trữ bị hỏng.

Nếu tệp sửa đổi có thể phục hồi (từ kiểm dịch), cách giải quyết vấn đề này?
Tôi có một số mục tiêu để đạt được:

  1. AV không được phép vô hiệu hóa hoặc loại trừ khỏi danh bạ.
  2. Tệp bị nhiễm vi-rút không được lưu trữ trong kho lưu trữ
  3. Kho lưu trữ phải được bao gồm và có thể sử dụng được.

Giải pháp tốt nhất cho vấn đề nhỏ này là gì?

+0

Bạn có thể tạo lại tệp bị nhiễm từ nguồn không? Nếu bạn có thể, hãy phân tách virus khỏi repo, xây dựng lại và đề xuất. – AlG

+2

Rất có thể virusscanner sẽ không phát hiện vi-rút trong tệp sửa đổi vì hầu hết các máy quét chỉ quét các địa điểm thú vị của tệp và tệp sửa đổi là định dạng nhị phân có khả năng phá vỡ máy quét mẫu. –

+0

qor72: Tôi không biết tệp bị nhiễm, đó là vấn đề. Bert: Máy quét phát hiện ra, đó là vấn đề của tôi. Tôi cũng chưa từng nghĩ vậy :) – guerda

Trả lời

16

Từ FAQ:

Có những trường hợp đặc biệt, nơi bạn có thể muốn tiêu diệt tất cả bằng chứng về một tập tin hoặc cam kết. (Có lẽ ai đó vô tình cam kết tài liệu an toàn .) Điều này không dễ dàng như vậy, bởi vì Phiên bản phụ được thiết kế có chủ ý để không bao giờ mất thông tin. Bản sửa đổi là những cây không thể thay đổi được xây dựng theo một số khác. Xóa bản sửa đổi khỏi lịch sử sẽ gây ra hiệu ứng domino, tạo sự hỗn loạn trong tất cả các bản chỉnh sửa sau đó và có thể làm mất hiệu lực tất cả các bản sao làm việc.

Dự án có kế hoạch, tuy nhiên, để một ngày nào đó thực hiện một svnadmin lệnh tiêu diệt mà sẽ hoàn thành nhiệm vụ vĩnh viễn xóa thông tin. (Xem issue 516.)

Trong khi đó, bạn chỉ có để svnadmin dump kho của bạn, sau đó ống các dumpfile qua svndumpfilter (trừ con đường xấu) thành một lệnh svnadmin load. Xem chapter 5 của sách Subversion cho chi tiết về việc này.

+0

svndumpfilter là câu trả lời duy nhất ngắn phục hồi từ bản sao lưu. +1 – rmeador

3

Cách dễ nhất? Khôi phục từ một bản sao lưu từ trước khi cam kết với virus ...

+0

Bản sửa đổi cũ hơn một năm. Hoặc tốt hơn cho biết:> 6000 sửa đổi cũ. Sao lưu sẽ không làm điều đó. – guerda

+1

Vâng, tôi đoán bạn đã học được một bài học. Sao lưu sớm và thường xuyên ... – ircmaxell

+1

Tôi có bản sao lưu, rất nhiều và rất nhiều. Nếu tôi khôi phục một bản sao lưu trước khi cam kết, tôi mất> 6000 bản sửa đổi. điều đó không khả thi. – guerda

0

Nếu bạn tạo kho lưu trữ ở chế độ tệp (tệp repo đơn cho mỗi tệp nguồn) thì bạn có thể sửa/chỉnh sửa/thay thế tệp bị nhiễm.
Nếu bạn tạo nó trong chế độ DB thì khó hơn - bạn có thể svndump sau đó svncreate một repo mới, nhưng có lẽ dễ dàng hơn để loại trừ kho SVN khỏi quét vi rút

+0

Tệp sửa đổi bị nhiễm, do đó không thể thay thế/chỉnh sửa bất kỳ điều gì có thể. – guerda

0

"AV không được phép vô hiệu hóa hoặc loại trừ từ các thư mục. "

Đấu tranh với Phòng CNTT để thêm repos của bạn trong loại trừ. TỐT NHẤT, nếu AV hỗ trợ "Chế độ chỉ thông tin", hãy làm cho nó hoạt động với repos của bạn ở chế độ chỉ cung cấp thông tin. Hầu hết các lần, các virus cũ như vậy chỉ là những kết quả dương tính giả. Thêm các móc nối trước để quét vi-rút bất kỳ tệp nào và từ chối cam kết nếu nó bị gắn cờ bởi vi-rút.

Nếu AV báo cáo tệp cũ bị nhiễm, hãy kiểm tra xem có dương tính giả không. Nếu nó không phải, và tập tin thực sự là virus cũ, chỉ cần cam kết xóa nó và bỏ qua sự tồn tại của nó trong lịch sử của bạn hoàn toàn.

Các vấn đề liên quan