Làm thế nào để một nhóm Quản trị viên Hệ thống chia sẻ mật khẩu một cách an toàn?


83

Thực tiễn tốt nhất để chia sẻ hàng trăm mật khẩu giữa một số người là gì? Những mật khẩu này bảo vệ dữ liệu quan trọng của nhiệm vụ và không bao giờ có thể nhìn thấy ngoài một nhóm nhỏ.



11
Hàng trăm BTW là một con số rất đáng lo ngại. Điều gì xảy ra khi một trong các thành viên của đội bị sa thải? Cập nhật hàng trăm mật khẩu sẽ gây đau đớn.
Zoredache

2
Thứ hai về "hàng trăm là một con số rất rắc rối". Tôi nghĩ rằng bạn có thể cần sao lưu và xem xét lại cách bạn đang quản lý toàn bộ điều bảo mật ở nơi đầu tiên thay vì cố gắng dán thạch cao vào những gì bạn hiện có.
Maximus Minimus

Câu trả lời:


14

Tôi có thể sẽ viết một giải pháp dựa trên web tùy chỉnh được lưu trữ trên mạng nội bộ của công ty. (hãy xem http://lastpass.com để tìm cảm hứng hoặc sử dụng nó. Chia sẻ mật khẩu là một trong những tính năng của nó, mặc dù nó có thể không hoạt động cho âm lượng của bạn.)

EDIT : Chắc chắn, giải pháp tốt nhất, không chia sẻ chúng. Lưu trữ mật khẩu Cleartext trong bất kỳ phương tiện nào đều nguy hiểm, đặc biệt khi mục đích lưu trữ chúng là để chia sẻ chúng. Có một số lượng gần như vô hạn các giải pháp, mỗi giải pháp mang lại một mối nguy hiểm liên quan. Tại sao không đặt chúng vào hình ảnh đĩa được mã hóa, ghi hình ảnh đó vào một đĩa CD, đặt đĩa CD vào một nơi an toàn mà chỉ một người bảo vệ có vũ trang có thể mở và người được ủy quyền trình bày ID ảnh để mở khóa?

Vấn đề là chúng tôi không thực sự biết kịch bản của bạn. Tại sao bạn chia sẻ hàng trăm mật khẩu quan trọng? Có phải chúng là cho mạng nội bộ backoffice của bạn, VPN, hoặc chúng là mật khẩu khách hàng mà bạn giữ xung quanh trong bản rõ vì một số lý do? Có phải tất cả những người bạn cần chia sẻ nó trong cùng một cài đặt? Liệu một sự chuyển đổi vật lý như một đĩa CD được mã hóa hoặc một bảng in được lưu trữ trong một két sắt thực sự hoạt động? Hoặc các hệ thống của bạn được lan truyền trên toàn cầu, làm cho các phương tiện điện tử chia sẻ chúng là giải pháp duy nhất ?


50
IMO Xây dựng hệ thống bảo mật / mã hóa của riêng bạn gần như không bao giờ là phương pháp đúng đắn cho một vấn đề.
Zoredache

2
@Zoredache, Đó là một thứ nhảm nhí. Mặc dù, tôi nghĩ rằng giải pháp dựa trên web để lưu trữ mật khẩu là ngu ngốc - nhưng anh ấy đã nói msanford nói mạng nội bộ. Vẫn còn rủi ro. Tương tự cho tất cả các giải pháp nối mạng khác.
d -_- b

2
@Zoredache, OP không xây dựng một hệ thống mã hóa tùy chỉnh, có vẻ như tất cả những gì anh ta cần là một cơ sở dữ liệu an toàn. @sims Tôi thấy không có gì sai với một giải pháp dựa trên web được thiết kế tốt. Câu trả lời được bình chọn cho thấy chính xác rằng (dựa trên web! = Http; web-Dựa = được lưu trữ trực tuyến). Phải thừa nhận rằng, một khi tôi đọc lại câu hỏi này lần thứ hai, tôi đồng ý rằng mô hình cơ bản của việc chia sẻ hàng tấn mật khẩu dường như là không cần thiết, và có thể đạt được một giải pháp tốt hơn. Nhưng OP đã không cung cấp đủ thông tin cho tôi để đưa ra phán quyết đó
msanford

2
> @Zoredache, đó là một đống nhảm nhí. <Um, Sims, bạn đang bay khá nhiều khi đối mặt với hầu hết mọi người mã hóa ngay lập tức. Thiết kế mã hóa là khó, làm cho nó mã hóa đáng giá vẫn khó hơn. schneier.com/essay-037.html Đôi khi, cái ác nhỏ hơn - thứ bạn biết - là sự lựa chọn tốt hơn, khi đối mặt với cái ác mà bạn không biết (nghĩa là một thiết kế chưa được kiểm chứng, không được đánh giá ngang hàng, có thể có lỗi, có thể có lỗ hổng bảo mật, v.v.)
Avery Payne

1
@Avery - thiết kế một hệ thống mật mã là khó khăn và nên để lại cho các chuyên gia, vâng. Sử dụng các công cụ đã thử và kiểm tra, như GPG trên tệp văn bản dùng chung hoặc Keepass (sử dụng triển khai .NET của AES và SHA-256) không thiết kế hệ thống của riêng bạn.
mfinni

38

Thực hành tốt nhất là không chia sẻ mật khẩu. Sử dụng các công cụ như sudo để cho phép người dùng có quyền truy cập họ cần từ tài khoản của chính họ. Nếu bạn có một vài người dùng, mỗi người nên có tài khoản riêng nếu cần. LDAP (Unix / Linux) và Active Directory là một giải pháp tốt để cấp quyền truy cập cho nhiều máy chủ từ cơ sở dữ liệu chung.

Khi cần thiết phải có một bản sao mật khẩu bằng văn bản, đóng dấu vào phong bì có chữ ký và ghi ngày tháng trên con dấu. Thay đổi mật khẩu khi nó được sử dụng. Khi mật khẩu được thay đổi, niêm phong nó một phong bì mới.

Đối với mật khẩu thực sự cần chia sẻ, hãy sử dụng một trong những công cụ mật khẩu như Keepass có thể có cơ sở dữ liệu của họ trên mạng. Công cụ với khách hàng cho nhiều nền tảng là tốt hơn. Hãy xem xét thời tiết bạn cần nhiều hơn một cơ sở dữ liệu. Hãy nhớ rằng bạn cần thực sự tin tưởng tất cả những người có quyền truy cập vào dữ liệu này.


+1 cho tài khoản người dùng không có đặc quyền cho quản trị viên với khả năng leo thang đặc quyền có thể, trên các máy chủ * nix tôi sẽ kết hợp điều đó với việc chỉ sử dụng chứng nhận dsa / rsa cho sshd. Nếu bạn đang làm công cụ với các công cụ đồ họa trong linux, bạn cũng có thể sử dụng cấu hình bộ chính sách tùy chỉnh.
Aaron Tate

12
Điều này. Thu hồi quyền truy cập cho người dùng khi họ đang sử dụng thông tin đăng nhập được chia sẻ là một cơn ác mộng tuyệt đối. Bất cứ nơi nào có thể, hãy ủy quyền truy cập thông qua tài khoản duy nhất của người dùng. Luôn luôn có một vài tình huống mà một mật khẩu phổ biến là không thể tránh khỏi, nhưng 'hàng trăm mật khẩu được chia sẻ hét lên lỗ hổng thiết kế quan trọng.
Chris Thorpe

4
Tôi đồng ý với việc không chia sẻ mật khẩu, nhưng có rất nhiều tình huống cần thiết như các thiết bị mạng có một lần đăng nhập, các trang web của nhà cung cấp nơi tất cả các sysadins sử dụng cùng một thông tin đăng nhập để đặt hàng và SQL sa người dùng hoặc mật khẩu quản trị viên cục bộ cần thiết. Đó là lý do tại sao tôi nghĩ KeePass là tốt nhất cho việc này: nó hoạt động trên nhiều nền tảng, cho phép bảo mật tốt và dễ dàng tổ chức hàng trăm mật khẩu.
Paul Kroon

2
Chúng tôi có một biến thể về điều này, nơi chúng tôi có mật khẩu gốc được ghi lại nhưng bị khóa trong một két an toàn mà chỉ nhóm hệ thống mới có khóa để mở. Bản thân mật khẩu gốc của chúng tôi dài 16 ký tự và được tạo theo cách tiếp theo - không thể nhớ được. Vâng, có một số bất an ở đó, nhưng nếu ai đó đột nhập vào két sắt, tôi nghi ngờ chúng ta có vấn đề lớn hơn.
Frenchie

2
Đây là một tình huống sử dụng thực tế cho nhóm của chúng tôi: chia sẻ mật khẩu cho các ứng dụng dựa trên web nơi chúng không hỗ trợ nhiều thông tin đăng nhập cho một tài khoản. Vì vậy, nếu nhiều người trong nhóm cần có thể truy cập vào tài khoản đó, cần có một cách để chia sẻ mật khẩu cho tài khoản đó.
Jordan Reiter

11

Chúng tôi đã đi với KeePass cho mục đích chính xác này. Đây là một chương trình nhỏ tuyệt vời lưu trữ tất cả mật khẩu của bạn trong một tệp cơ sở dữ liệu được mã hóa. Có các tính năng bảo mật bổ sung như cần một tệp chính cùng với mật khẩu chính để truy cập mật khẩu. Điều này cho phép nhiều lớp bảo mật (tách riêng tệp chính và cơ sở dữ liệu), đồng thời giữ cho nó thuận tiện cho mọi người làm việc với tất cả các mật khẩu khác nhau. Ví dụ: bạn có thể chạy ứng dụng và tệp chính của ổ USB, nhưng lưu trữ cơ sở dữ liệu trên mạng của bạn ở đâu đó. Điều đó sẽ yêu cầu thông tin đăng nhập cho mạng chia sẻ, mật khẩu chính và ổ USB vật lý với tệp chính.


KeePass dường như hỗ trợ nhiều nền tảng, một chiến thắng lớn trong mắt tôi (tôi làm việc trong môi trường đa nền tảng). Tính năng "tự động gõ" cũng có vẻ hữu ích.
Avery Payne

2
Ý tưởng ngu ngốc để giữ mật khẩu trên mạng.
d -_- b

1
@Sims - sau đó làm thế nào để bạn chia sẻ chúng? KeePass sử dụng một tập tin được mã hóa cho cửa hàng. Đây chỉ là phiên bản có thể sử dụng nhiều hơn của tệp văn bản được mã hóa GPG trên máy chủ Unix mà mọi người đều có quyền truy cập.
mfinni

1
@Sims - Tôi thường đồng ý với bạn, nhưng đó là tình huống bảo mật và năng suất. Tôi sẽ không muốn đặt mật khẩu gốc của máy chủ vào một cái gì đó như thế này, nhưng mật khẩu quản trị viên của công tắc lớp 2 chỉ có một lần đăng nhập là một ứng cử viên tốt cho việc này. Có một điểm khi cần nhiều công việc hơn để làm mọi thứ theo cách an toàn hơn là dọn dẹp sau khi vi phạm an ninh. Ngoài ra, trên tất cả các mã hóa, bạn sẽ có bảo mật AD / NTFS trên tệp và một chút tối nghĩa bằng cách đặt tệp (có thể được đặt tên bất cứ thứ gì) vào một vị trí ngẫu nhiên.
Paul Kroon

Tôi đã không nghĩ về một máy Windows. Nhưng vâng, nếu bạn chỉ có thể có một người dùng cho công tắc đó, thì tôi đoán nó sẽ có ý nghĩa. Mặt khác, như Bill nói, nói không với mật khẩu dùng chung, đó cũng là quan điểm của tôi về khóa.
d -_- b

5

Thực tiễn tốt nhất để chia sẻ hàng trăm mật khẩu giữa một số người là gì?

Dễ dàng, điều này có hai hương vị:

  1. Bạn không, đơn giản và đơn giản. Nếu bạn chọn thực hiện việc này, bạn trì hoãn xác thực mật khẩu cho cơ quan đáng tin cậy bên ngoài và kiểm soát xác thực từ đó.

  2. Bạn làm như vậy, nhưng khi làm như vậy, bạn có các điều khiển truy cập bên ngoài có mật khẩu hoặc mã thông báo bảo mật không được ghi lại trong hệ thống bạn sử dụng (tức là bản ghi mật khẩu được bảo vệ bởi một mật khẩu khác có giới hạn khả dụng). Có rất nhiều vấn đề với điều này.

Những mật khẩu này bảo vệ dữ liệu quan trọng của nhiệm vụ và không bao giờ có thể nhìn thấy ngoài một nhóm nhỏ.

Bạn nên nghiêm túc xem xét một dịch vụ xác thực an toàn tích hợp với dịch vụ thư mục để giải quyết vấn đề. Kết hợp DS / AS tạo ra một "cơ quan" đáng tin cậy có thể đóng vai trò là trọng tài cho tất cả người dùng và thiết bị của bạn. Tài khoản người dùng có thể được truy cập trừu tượng khỏi mật khẩu thực tế được sử dụng trong xác thực, giúp dễ dàng "ngắt kết nối" mật khẩu khỏi chính sách truy cập. Kiểm soát mật khẩu bằng cách hủy kích hoạt tài khoản của người dùng; do đó, nếu quản trị viên rời khỏi, bạn chỉ cần tắt tài khoản của họ và quyền truy cập của họ không còn nữa (vì mật khẩu của người đó chỉ cấp quyền truy cập dựa trên tính hợp lệ của DS / AS xác nhận tài khoản hợp lệ).

Điều này sẽ chỉ hoạt động khi bạn ở trong một môi trường cho phép các thiết bị / chương trình của bạn chuyển các yêu cầu xác thực của chúng sang các nguồn bên ngoài, vì vậy nó có thể không phải là một giải pháp cho bạn . Nếu bạn có một tỷ lệ đáng kể các thiết bị / chương trình có thể đáp ứng xác thực bên ngoài, thì tôi sẽ tiếp tục và thực hiện việc này, nếu chỉ để hợp nhất hàng trăm mật khẩu vào một danh sách có thể quản lý được, ví dụ, một tá. Nếu bạn quyết định đi theo con đường này, có một số giải pháp sẵn có, nổi tiếng và được thử nghiệm tốt cho việc này.

  • Thư mục hoạt động. Có lẽ là nhóm nổi tiếng nhất trong nhóm, cung cấp cho bạn Kerberos như một tùy chọn xác thực và cung cấp LDAP cho DS cơ bản.
  • Samba / Winbind. Hãy nghĩ về điều này như là "Ánh sáng thư mục hoạt động", bạn không nhận được tất cả các tính năng của AD mà là một mô hình cũ hơn dựa trên NT4 (nghĩ rằng hàm băm LANMAN). Điều này sẽ được thay thế bằng tích hợp AD của Samba 4 và có thể sẽ "biến mất".
  • Dịch vụ thư mục Novell. Tôi không biết đủ về nó để giới thiệu nó, nhưng tôi biết nó vẫn tồn tại. Rất nhiều thực thể chính phủ vẫn điều hành NDS, vì vậy nếu bạn đang làm việc trong "lĩnh vực" đó, điều đó sẽ khiến bạn quan tâm. Novell gần đây đã chuyển NDS để chạy như một dịch vụ Linux, nhưng tôi không biết liệu đó có còn là một sản phẩm hoạt động không (khoảng năm 2005).
  • LDAP + Kerberos. Về cơ bản, đây là Active Directory "trồng tại nhà", trừ tất cả các "tính năng hay". Tuy nhiên, chúng cũng là các thành phần được biết đến với cơ sở mã ổn định, trưởng thành, do đó, việc tích hợp (các) dịch vụ này thường là mức độ "tùy biến" cần thiết để khiến mọi thứ hoạt động.
  • SSH Keys + (chèn chương trình quản trị hệ thống ở đây, có thể là con rối). Chỉ hữu ích khi bạn có SSH trên bảng và tất cả các thiết bị được truy cập theo cách này. Khóa có thể được trao và thu hồi khi cần và mật khẩu trở nên "không liên quan" khi khóa SSH cấp quyền truy cập. Sử dụng một hệ thống như con rối cho phép bạn cập nhật hàng trăm máy bằng cách ban hành lệnh en-masse để thêm / thu hồi các khóa SSH.
  • Một số kết hợp của trên.

Ngoài ra còn có một câu hỏi về mức độ bảo mật bạn cần. Bạn đã không xác định nếu "nhiệm vụ quan trọng", bạn có nghĩa là đầu đạn hạt nhân có thể rơi xuống các thành phố, hoặc nếu "nhiệm vụ quan trọng" có nghĩa là lô hàng Furiend mới nhất sẽ không được đưa vào thị trấn. Nó thực sự có ích nếu có một cái gì đó mô tả đánh giá rủi ro / mối đe dọa.


2

Một vài thứ:

  • Như những người khác đã nói, đây là một ý tưởng tồi. Sử dụng LDAP, v.v.
  • Nếu bạn cam kết thực hiện việc này vì bất kỳ lý do gì, ít nhất là hợp nhất các mật khẩu. 100 mật khẩu không được quản lý có nghĩa là bạn không cập nhật mật khẩu.
  • Giữ chúng trên giấy. Yêu cầu nhân viên ký giấy bằng một loại mực màu khác để dễ xác định xem một tờ có được sao chép hay không.
  • Nếu bạn đang dùng Unix, hãy sử dụng S / KEY để tạo mật khẩu một lần. Lưu trữ ở nơi nào đó an toàn.

Bạn cũng cần vượt xa các biện pháp bảo mật cơ học là đặt mật khẩu giấy an toàn hoặc mã hóa mật khẩu. Hãy đọc về cách các tổ chức với các mô hình bảo mật trưởng thành bảo mật khóa và kết hợp an toàn. Tôi không khuyên bạn nên làm những gì bạn muốn làm, nhưng nếu bạn làm:

  • Những người sẽ sử dụng mật khẩu không thể kiểm soát quyền truy cập vào mật khẩu. Một nhóm người khác biệt thuộc một chuỗi quản lý khác nhau cần kiểm soát quyền truy cập vào két, ngăn kéo, v.v ... Nếu bạn có một nhóm tài chính, họ có thể là một ứng cử viên. Có lẽ VP tiếp thị, v.v.
  • Cần phải có một bản ghi bằng văn bản khi két được mở và ai đó sở hữu mật khẩu.
  • Mật khẩu phải được thay đổi trong vòng 24 giờ sau khi được kiểm tra.

Các thủ tục như thế này là một nỗi đau ở cổ, nhưng sẽ phục vụ như một động lực để mọi người áp dụng các thực hành lành mạnh hơn. Nếu bạn không làm điều gì đó giống như những gì tôi mô tả, đừng bận tâm đến các hoạt động khóa mật khẩu, vì dù sao bạn cũng sẽ bị vi phạm vào một ngày nào đó.


2

Tôi biết đây là một câu hỏi cũ nhưng tôi mới bắt gặp một giải pháp dựa trên web mã nguồn mở có tên Corporate Vault có thể thú vị với một số người. Tôi chưa có cơ hội dùng thử.


1

chúng tôi sử dụng một chương trình gọi là Mật khẩu an toàn . thật tuyệt vời và rất an toàn, bạn có thể đặt cơ sở dữ liệu trên một ổ đĩa được nối mạng và cung cấp cho tất cả những ai cần nó truy cập và mật khẩu để an toàn, sau đó lưu trữ tất cả tên người dùng và mật khẩu được mã hóa an toàn.


1

https://pypi.python.org/pypi/django-pstore/ sử dụng mã hóa GPG cho mỗi người dùng cho mật khẩu được chia sẻ (và bất kỳ dữ liệu nào khác bạn có thể muốn chia sẻ). Máy chủ không bao giờ biết về bất kỳ mật khẩu nào, nó chỉ chứa dữ liệu được mã hóa. Mọi người đều sử dụng khóa riêng của mình để giải mã các bí mật được chia sẻ.

Hệ thống bao gồm quản lý quyền: không phải ai cũng có quyền truy cập đầy đủ.


1

Chúng tôi sử dụng https://passwork.me làm giải pháp tự lưu trữ. Nhưng bạn có thể lưu trữ mật khẩu trong đám mây của họ.


Đây là sản phẩm của bạn Iliya nhưng nó có vẻ tốt.
Foliovision

0

Ví SPB là một ví tốt mà chúng tôi đã từng sử dụng PW an toàn bởi ghost nhưng ví SPB cho phép bạn đồng bộ hóa với chia sẻ mạng và cũng đồng bộ hóa với iphone của bạn nếu bạn nhận được ứng dụng. Nó cũng có một trình tạo mật khẩu tích hợp và bạn có thể tạo chúng từ mật khẩu đơn giản đến mật khẩu cực kỳ phức tạp. Bạn cũng có thể sao chép mật khẩu trong khi mật khẩu vẫn còn dấu hoa thị để nếu ai đó đang tìm kiếm bạn có thể sao chép và dán nó mà không cần ai nhìn thấy mật khẩu. Ứng dụng PC tự động khóa khi không có hoạt động trong một khoảng thời gian xác định.


0

Một tùy chọn khác là Azure Key Vault lưu trữ an toàn các bí mật của bạn và cho phép bạn cho phép truy cập chúng theo chương trình, dễ dàng xoay mật khẩu của bạn, v.v. Không có giao diện người dùng tốt cho nó, nhưng nếu bạn ổn với truy cập dòng lệnh thì tốt.


0

Thực hành tốt nhất của chúng tôi là chia sẻ ít nhất có thể mật khẩu.

Do đó, chúng tôi ví dụ: - sử dụng my.cnf trong thư mục gốc của mật khẩu vào cơ sở dữ liệu - sử dụng các khóa ssh để đăng nhập vào máy chủ và có một mật khẩu gốc chỉ được phép thông qua bảng điều khiển (vì vậy bạn phải có quyền truy cập vật lý / bmc vào máy chủ ) - sử dụng ldap ở mọi nơi có thể (ssh, bmc, switch, redmine, ....)

Tuy nhiên, có một vài tình huống chúng tôi không thể sử dụng phương pháp này (chẳng hạn như mật khẩu root). Sau đó, chúng tôi sử dụng Keepass trên bộ nhớ chia sẻ của mình, nhưng chúng tôi giữ ít nhất 10 mật khẩu cần thiết.


-1

Câu hỏi rất hay. Tôi sẽ quan tâm đến câu trả lời khác.

Đây là những gì tôi làm, nhưng trước tiên tôi khuyên bạn nên sử dụng các khóa chia sẻ trước nếu có thể. Tôi không biết nếu điều này là có thể với các hệ thống Windows.

Vì số lượng mật khẩu nên nhỏ (bạn đang sử dụng các khóa nếu có thể), tôi sử dụng một tệp văn bản đơn giản được mã hóa bằng gpg trên một hệ thống không có NIC. Vì vậy (1) bạn cần truy cập vật lý và (2) mật khẩu.

chỉnh sửa cho rõ ràng


Chìa khóa? Như trong, Phím USB? Phím vật lý mở khóa? Chìa khóa thẻ thông minh? Chìa khóa GPG? Khóa cụm từ chỉ tồn tại trong wetware trong đầu bạn? Sự kết hợp của những điều trên?
Avery Payne

Chìa khóa xe! JK. Để làm rõ, tôi có nghĩa là phím ssh. Đó là lý do tại sao tôi nói rằng có thể không thể sử dụng các khóa được chia sẻ trước với các cửa sổ.
d -_- b
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.