2015-05-18 21 views
13

Có nguy hiểm khi giữ mã trong gitlab và github không?Có nguy hiểm khi giữ mã trong gitlab và github

Tôi nghe nói là khá an toàn khi cam kết mã của chúng tôi với gitlab và github.

Lý do là mỗi mã được băm và hầu như mọi người không thể thay đổi mã mà không sử dụng công cụ git.

Điều này có đúng không?

+0

Bạn có ý nghĩa gì với * băm *. Bạn có nghĩa là chữ ký 'pggp'? –

+1

Nó hoàn toàn không nguy hiểm!) Nó an toàn, đáng tin cậy và thuận tiện. –

+0

Hãy làm rõ ý bạn là gì. Bạn có nghĩa là nguy hiểm như trong một ai đó có thể ăn cắp mã của bạn? Vâng nó có thể. Bất cứ điều gì có thể được chia thành và nó đi vào ý kiến ​​sau đó. –

Trả lời

16

Như tôi đã đề cập trong "Why does Git use a cryptographic hash function?", đó là "an toàn" trong nhiệm kỳ của toàn vẹn dữ liệu (Linus Torvalds, 2007):

Chúng tôi kiểm tra tổng kiểm tra được coi là mã hóa an toàn. Không ai có thể phá vỡ SHA-1, nhưng vấn đề là, SHA-1 xa như git là có liên quan, thậm chí không phải là một tính năng bảo mật. Nó hoàn toàn là một kiểm tra nhất quán. Các bộ phận bảo mật ở nơi khác.
Rất nhiều người cho rằng git sử dụng SHA-1 và SHA-1 được sử dụng cho các công cụ bảo mật mật mã, họ nghĩ rằng đó là một tính năng bảo mật rất lớn. Nó không có gì để làm với an ninh, nó chỉ là băm tốt nhất bạn có thể nhận được.

Có một hash tốt là tốt để có thể tin tưởng vào dữ liệu của bạn

này không có gì để làm với:


Các OP add:

những gì tôi có nghĩa là chủ sở hữu của gitlab hoặc github có thể ăn cắp mã của chúng tôi

Đây là một câu hỏi của niềm tin: Liệu các máy chủ lưu trữ git có quyền truy cập vào mã của bạn nếu nó nằm trong riêng tư repo? Về mặt kỹ thuật có.
Họ có truy cập mã riêng của bạn không? Như đã đề cập trong "Can third party hosts be trusted for closed-source/private source code management?", không có gì ngăn cản chúng.
Tuy nhiên, many startups have their private code on, for instance, GitHub.

Nếu bạn có mối quan ngại về bảo mật thực, điều quan trọng là bạn giữ quyền sở hữu của tất cả các mã, bao gồm máy chủ lưu trữ (nghĩa là có máy chủ lưu trữ Git của riêng bạn).

+0

Để bảo vệ chống giả mạo, bạn có thể đăng xuất trên các cam kết. – Thilo

+1

Và, rõ ràng, nếu một người dùng độc hại quản lý để thay đổi repo Git của bạn trên hệ thống lưu trữ của bạn và bạn làm một 'git clone' mới, bạn sẽ không nhận thấy sự thay đổi độc hại. Bạn có thể kiểm tra tính toàn vẹn dữ liệu của mình chỉ khi bạn có một bản sao an toàn của tổng SHA-1 ở nơi khác. –

+0

@MattieuMoy: Hoặc đã ký cam kết. Chúng không thể giả mạo (trừ khi kẻ tấn công cũng đánh cắp các khóa ký riêng). – Thilo

1

Điều quan trọng là bạn phải nhớ rằng ngay cả khi git là công cụ kiểm soát phiên bản an toàn nhất do kiểm tra băm của nó ở mọi lệnh bạn đã thực hiện, một thực tế quan trọng là để sao lưu kho lưu trữ bất cứ lúc nào ...

Đôi khi cho phần cứng hoặc phần mềm thất bại nhưng một số lần khác để ngăn chặn mất dữ liệu do lỗi của con người.

Và bản sao cá nhân không phải lúc nào cũng đủ.

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