시스템 관리자 팀은 암호를 어떻게 안전하게 공유합니까?


83

소수의 사람들이 수백 개의 암호를 공유하는 모범 사례는 무엇입니까? 이 암호는 미션 크리티컬 한 데이터를 보호하며 소규모 팀을 넘어서는 볼 수 없습니다.



11
BTW 수백은 매우 어려운 숫자입니다. 팀 구성원 중 하나가 해고되면 어떻게됩니까? 수백 개의 비밀번호를 업데이트하면 고통 스러울 수 있습니다.
Zoredache

2
"수백은 매우 골치 아픈 숫자"입니다. 나는 현재 가지고있는 것에 고집 석고를 붙이기보다는 먼저 전체 보안 사안을 어떻게 관리하고 있는지 백업하고 재고해야한다고 생각합니다.
Maximus Minimus

답변:


14

회사 인트라넷에서 호스팅되는 사용자 지정 웹 기반 솔루션을 작성했을 것입니다. ( http://lastpass.com 에서 영감을 얻거나 사용하십시오. 암호 공유는 해당 기능 중 하나이지만 볼륨에 맞지 않을 수 있습니다.)

편집 : 물론, 최고의 솔루션은 공유하지 마십시오. 일반 텍스트 암호를 매체에 저장하는 것은 특히 저장 목적이 공유 할 때 위험합니다. 거의 무한한 수의 솔루션이 있으며, 각 솔루션에는 관련 위험이 있습니다. 암호화 된 디스크 이미지에 이미지를 넣고 단일 CD에 이미지를 굽고, 한 명의 무장 경비원 만 열 수있는 금고에 CD를 넣고, 승인 된 사람들이 사진 ID를 제시하여 잠금을 해제하도록 하시겠습니까?

요점은 우리가 실제로 당신의 시나리오를 모른다는 것입니다. 수백 개의 미션 크리티컬 암호를 공유하는 이유는 무엇입니까? 백 오피스 인트라넷, VPN에 사용됩니까, 아니면 어떤 이유로 고객이 일반 텍스트로 유지하는 고객 암호입니까? 동일한 설치 환경에서 공유해야하는 모든 사람들이 있습니까? 안전한 CD에 저장된 암호화 된 CD 또는 인쇄 된 테이블과 같은 물리적 전송이 실제로 작동합니까? 아니면 시스템 관리자는 그들에게 공유하는 전자 수단을, 전 세계에 걸쳐있는 유일한 솔루션을?


50
IMO 자신의 보안 / 암호화 시스템을 구축하는 것은 결코 문제에 대한 올바른 접근법이 아닙니다.
Zoredache

2
@ Zoredache, 그것은 많은 쓰레기입니다. 그러나 암호 호스팅을위한 웹 기반 솔루션은 바보라고 생각하지만 msanford는 인트라넷을 말했습니다. 그래도 여전히 위험합니다. 다른 모든 네트워크 솔루션에도 동일합니다.
d -_- b 2016 년

2
@ Zoredache, OP는 맞춤형 암호화 시스템을 구축하지 않고 있으며, 필요한 모든 것이 안전한 데이터베이스 인 것처럼 들립니다. @sims 잘 설계된 웹 기반 솔루션에는 아무런 문제가 없습니다. 상향 투표 답변은 (웹 기반! = http; 웹 기반 = 온라인에 저장 됨)을 정확하게 제안합니다. 물론,이 질문을 두 번째로 읽은 후에는 톤 암호를 공유하는 기본 모델이 불필요하고 더 나은 해결책에 도달 할 수 있음에 동의합니다. 그러나 OP는 그 판단을 내릴 수있는 충분한 정보를주지 않았다.
msanford

2
> @Zoredache, 그것은 많은 쓰레기입니다. <음, Sims, 당신은 대부분의 암호화 전문가들 앞에서 바로 비행하고 있습니다. 암호화 설계는 어렵 기 때문에 여전히 가치있는 암호화가 어렵습니다. schneier.com/essay-037.html 때로는 모르는 악과 맞닥뜨릴 때 더 적은 악 (당신이 아는 것)이 더 나은 선택입니다. 버그, 보안 취약점 등이있을 수 있습니다.)
Avery Payne

1
@Avery-암호화 시스템을 설계하는 것은 어렵고 전문가에게 맡겨야합니다. 공유 텍스트 파일의 GPG 또는 AES 및 SHA-256의 .NET 구현을 사용하는 Keepass와 같은 검증 된 도구를 사용하여 자체 시스템을 설계하지는 않습니다.
mfinni 2016 년

38

모범 사례는 비밀번호를 공유하지 않는 것입니다. sudo와 같은 도구를 사용하면 사용자가 자신의 계정에서 필요한 액세스 권한을 얻을 수 있습니다. 몇 명의 사용자가있는 경우 필요한 경우 각자 자신의 계정이 있어야합니다. LDAP (Unix / Linux) 및 Active Directory는 공통 데이터베이스에서 여러 서버에 대한 액세스 권한을 부여하는 좋은 솔루션입니다.

암호 사본을 작성해야 할 경우, 서명하고 날짜를 기입 한 봉투에 넣으십시오. 비밀번호 사용시 변경하십시오. 암호가 변경되면 새 봉투를 봉하십시오.

실제로 공유해야하는 암호의 경우 네트워크에 데이터베이스를 보유 할 수있는 Keepass와 같은 암호 도구 중 하나를 사용하십시오. 여러 플랫폼에 대한 클라이언트 도구가 더 좋습니다. 둘 이상의 데이터베이스가 필요한지 고려하십시오. 이 데이터에 액세스 할 수있는 모든 사람을 신뢰해야합니다.


* nix 서버에서 권한 에스컬레이션이 가능한 관리자의 권한이없는 사용자 계정에 +1, sshd에 dsa / rsa 인증 만 사용하는 것과 결합했습니다. Linux에서 그래픽 도구로 작업하는 경우 사용자 정의 된 정책 키트 구성을 사용할 수도 있습니다.
Aaron Tate

12
이. 공유 자격 증명을 사용할 때 사용자의 액세스 권한을 취소하는 것은 절대 악몽입니다. 가능하면 사용자 고유 계정을 통해 액세스 권한을 위임하십시오. 공통 암호를 피할 수없는 상황은 항상 있지만, 수백 개의 공유 암호로 인해 중요한 디자인 결함이 발생합니다.
크리스 소프

4
일반적으로 암호를 공유하지 않는 데 동의하지만 단일 로그인을 사용하는 네트워크 장치, 모든 sysadmin이 주문에 동일한 로그인을 사용하는 공급 업체 사이트 및 SQL sa 사용자 또는 로컬 관리자 암호와 같이 필요한 상황이 많이 있습니다. 필요한. 그렇기 때문에 KeePass가 가장 적합하다고 생각합니다. 여러 플랫폼에서 작동하고 보안 수준이 높으며 수백 개의 암호를 쉽게 구성 할 수 있습니다.
Paul Kroon

2
우리는 이것에 변형을가했습니다. 루트 암호는 기록되었지만 시스템 팀만이 열 수있는 열쇠를 가지고 있습니다. 우리의 루트 암호 자체는 16 자 길이이며 기억하기 어려운 다음 방식으로 생성됩니다. 예, 불안감이 있지만 누군가 금고에 침입하면 더 큰 문제가 있다고 생각합니다.
Frenchie

2
우리 팀의 실제 사용 사례 시나리오는 다음과 같습니다. 단일 계정에 대해 여러 로그인을 지원하지 않는 웹 기반 응용 프로그램의 암호 공유. 따라서 팀의 여러 사람이 해당 계정에 액세스 할 수 있어야하는 경우 해당 계정의 비밀번호를 공유 할 수있는 방법이 필요합니다.
Jordan Reiter

11

우리는 이 정확한 목적을 위해 KeePass 와 함께갔습니다 . 모든 암호를 암호화 된 데이터베이스 파일에 저장하는 훌륭한 프로그램입니다. 비밀번호에 액세스하기 위해 기본 비밀번호와 함께 키 파일이 필요한 것과 같은 추가 보안 기능이 있습니다. 이를 통해 여러 계층의 보안 (키 파일과 데이터베이스를 분리)을 수행 할 수 있으며 모든 사람이 다른 모든 암호를 사용하여 편리하게 작업 할 수 있습니다. 예를 들어 USB 드라이브에서 앱과 키 파일을 실행할 수 있지만 데이터베이스를 네트워크의 어딘가에 저장할 수 있습니다. 네트워크 공유, 기본 암호 및 키 파일이있는 실제 USB 드라이브에 대한 자격 증명이 필요합니다.


KeePass는 여러 플랫폼을 지원하는 것으로 보입니다. 눈에 큰 승리입니다 (혼합 플랫폼 환경에서 일하고 있습니다). "자동 유형"기능도 유용하게 보입니다.
에이버리 페인

2
네트워크에 암호를 유지하는 어리석은 생각.
d -_- b 2016 년

1
@Sims-그렇다면 어떻게 공유합니까? KeePass는 저장소에 암호화 된 파일을 사용합니다. 모든 사람이 액세스 할 수있는 유닉스 서버에서 GPG 암호화 텍스트 파일의보다 유용한 버전 일뿐입니다.
mfinni

1
@Sims-나는 보통 당신에게 동의하지만 보안 대 생산성의 상황이됩니다. 서버의 루트 암호를 이런 식으로 넣고 싶지 않지만 단일 로그인 만있는 레이어 2 스위치의 관리자 암호가 이에 대한 좋은 후보입니다. 보안 위반 후 정리하는 것보다 안전한 방법으로 더 많은 작업을 수행해야하는 시점이 있습니다. 또한 모든 암호화 외에도 파일에 AD / NTFS 보안이 설정되어 있으며 파일 (임의의 이름을 지정할 수 있음)을 임의의 위치에 배치하면 약간의 불명확성이 있습니다.
Paul Kroon

나는 Windows 머신을 생각하지 않았다. 그러나 네, 그 스위치에 대해 한 명의 사용자 만 가질 수 있다면 말이됩니다. 그렇지 않으면 Bill이 말한 것처럼 공유 암호에 대해 아니오라고 말하십시오.
d -_- b

5

소수의 사람들이 수백 개의 암호를 공유하는 모범 사례는 무엇입니까?

쉬운 두 가지 맛이 있습니다.

  1. 당신은 평범하고 단순하지 않습니다. 이 작업을 선택하면 암호 인증을 외부의 신뢰할 수있는 기관으로 연기하고 거기서 인증을 제어합니다.

  2. 그러나 그렇게하는 경우 사용하는 시스템 내부에 기록되지 않은 암호 또는 보안 토큰이있는 외부 액세스 제어가 있습니다 (즉, 암호 레코드는 가용성이 제한된 다른 암호로 보호됩니다). 이것에는 수많은 문제가 있습니다.

이 암호는 미션 크리티컬 한 데이터를 보호하며 소규모 팀을 넘어서는 볼 수 없습니다.

디렉토리 서비스와 통합되어 문제를 해결하는 보안 인증 서비스를 진지하게 고려해야합니다. DS / AS 조합은 모든 사용자 및 장치의 중재자 역할을 할 수있는 신뢰할 수있는 "권한"을 만듭니다. 사용자 계정은 인증에 사용 된 실제 비밀번호와는 별도로 액세스를 추상화하여 액세스 정책에서 비밀번호를 쉽게 "연결 해제"할 수 있습니다. 비밀번호 제어는 사용자 계정을 비활성화하는 것입니다. 따라서 관리자가 떠날 경우 단순히 계정을 종료하고 액세스 권한이 없어집니다 (개인의 비밀번호는 DS / AS의 유효성을 기반으로 한 계정의 유효한 확인만으로 액세스 권한을 부여하기 때문에).

이것은 장치 / 프로그램이 인증 요청을 외부 소스로 분류 할 수있는 환경에있을 때만 작동하므로 해결책이 아닐 수 있습니다 . 외부 인증을 수용 할 수있는 장치 / 프로그램의 상당 부분이 있다면 수백 개의 암호를 관리 가능한 목록 (예 : 12 개)으로 통합하기 만하면됩니다. 이 경로를 사용하기로 결정한 경우 여기에는 잘 알려져 있고 잘 테스트 된 여러 가지 솔루션이 있습니다.

  • Active Directory. 아마도 가장 잘 알려진 그룹으로, Kerberos를 인증 옵션으로 제공하고 기본 DS를위한 LDAP를 제공합니다.
  • 삼바 / 바인드 이것을 "Active Directory Light"라고 생각하면 AD의 모든 기능이 아니라 NT4 (LANMAN 해시)를 기반으로하는 구형 모델을 얻을 수 있습니다. 이것은 Samba 4의 AD 통합으로 대체 될 것이며 아마도 "나갈 것"입니다.
  • Novell 디렉토리 서비스. 나는 그것을 추천하기에 충분하지 않지만 여전히 존재한다는 것을 알고 있습니다. 많은 정부 기관이 여전히 NDS를 운영하고 있으므로 해당 "분야"에서 작업을 수행하는 경우 관심이있을 것입니다. 노벨은 최근 리눅스 서비스로 운영하기 위해 NDS를 포팅했지만, 이것이 여전히 활성 제품인지는 모른다 (2005 년경).
  • LDAP + Kerberos. 기본적으로 "가정용"Active Directory이며 모든 "좋은 기능"을 뺀 것입니다. 그러나 이들은 안정적이고 성숙 된 코드 기반을 가진 알려진 구성 요소이므로 이러한 서비스의 통합은 일반적으로 작업을 수행하는 데 필요한 "사용자 정의"의 범위입니다.
  • SSH 키 + (여기에는 꼭두각시 시스템 관리 프로그램을 삽입하십시오). 보드 전체에 SSH가 있고 모든 장치가이 방식으로 액세스되는 경우에만 유용합니다. 키는 필요에 따라 전달 및 취소 할 수 있으며 SSH 키가 액세스 권한을 부여함에 따라 비밀번호는 "관련이 없습니다". 꼭두각시와 같은 시스템을 사용하면 en-masse 명령을 실행하여 SSH 키를 추가 / 해제하여 수백 대의 컴퓨터를 업데이트 할 수 있습니다.
  • 위의 일부 조합.

필요한 보안의 정도에 대한 질문도 있습니다. "미션 크리티컬"이라는 말은 핵탄두가 도시에 비가 내릴 수 있음을 의미하거나 "미션 크리티컬"이 최신 퍼비의 선적으로 도시에 영향을 미치지 않는다는 것을 의미하지 않았습니다. 위험 / 위협 평가를 묘사 한 것이 있다면 실제로 도움이 될 것입니다.


2

몇 가지:

  • 다른 사람들이 말했듯이, 이것은 나쁜 생각입니다. LDAP 등 사용
  • 어떤 이유로 든이 작업을 수행하려는 경우 최소한 암호를 통합하십시오. 100 개의 관리되지 않는 비밀번호는 비밀번호를 업데이트하지 않음을 의미합니다.
  • 종이 위에 보관하십시오. 직원이 용지를 다른 색상의 잉크로 서명하여 용지가 복사되었는지 쉽게 확인할 수 있도록하십시오.
  • Unix를 사용하는 경우 S / KEY를 사용하여 일회성 비밀번호를 생성하십시오. 안전한 곳에 보관하십시오.

또한 종이 암호를 안전한 곳에 보관하거나 암호를 암호화하는 기계적 보안 조치를 넘어서야합니다. 성숙한 보안 모델을 보유한 조직이 키와 안전한 조합을 보호하는 방법에 대해 읽어보십시오. 나는 당신이하고 싶은 일을하는 것을 권장하지 않지만, 당신이하는 경우 :

  • 비밀번호를 사용하는 사람은 비밀번호에 대한 액세스를 제어 할 수 없습니다. 다른 관리 체인에 속한 다른 그룹의 사람들은 금고, 서랍 등에 대한 액세스를 제어해야합니다. 재무 그룹이있는 경우 이들은 후보가 될 수 있습니다. 어쩌면 마케팅 부사장 등
  • 금고가 열렸을 때 누군가가 암호를 소유 할 때 기록 된 로그가 있어야합니다.
  • 비밀번호는 체크 아웃 한 후 24 시간 이내에 변경되어야합니다.

이와 같은 절차는 목에 통증이 있지만 사람들이 더 건전한 습관을들이도록 장려 할 것입니다. 내가 설명한 것과 같은 것을하지 않으면 암호 잠금 동작을 방해하지 마십시오. 어쨌든 언젠가 위반 될 수 있기 때문입니다.


2

나는 이것이 오래된 질문이라는 것을 알고 있지만 최근에는 Corporate Vault 라는 오픈 소스 웹 기반 솔루션 을 발견했습니다. 아직 시험해 볼 기회가 없었습니다.


1

우리는 Password Safe 라는 프로그램을 사용합니다 . 훌륭하고 매우 안전합니다. 네트워크 드라이브에 데이터베이스를 설정하고 액세스가 필요한 모든 사람과 암호를 금고 자체에 제공하면 모든 사용자 이름과 암호가 안전하게 암호화됩니다.


1

https://pypi.python.org/pypi/django-pstore/ 는 공유 비밀번호 (및 공유하려는 다른 데이터)에 사용자 별 GPG 암호화를 사용합니다. 서버는 비밀번호를 전혀 알지 못하며 암호화 된 데이터 만 보유합니다. 누구나 자신의 개인 키를 사용하여 공유 비밀을 해독합니다.

이 시스템에는 권한 관리가 포함되어 있습니다. 모든 사람이 모든 권한을 얻을 수있는 것은 아닙니다.



0

SPB Wallet은 고스트가 PW Safe를 사용하는 데 사용한 좋은 방법이지만 SPB Wallet을 사용하면 네트워크 공유와 동기화하고 앱을 얻는 경우 iPhone과 동기화 할 수 있습니다. 또한 암호 생성기가 내장되어 있으며 간단한 암호에서 매우 복잡한 암호까지 생성 할 수 있습니다. 비밀번호가 여전히 별표로 표시되어있는 동안 비밀번호를 복사 할 수 있으므로 누군가보고있는 경우 비밀번호를 보지 않고도 복사하여 붙여 넣을 수 있습니다. 정의 된 기간 동안 활동이 없으면 PC 앱이 자동으로 잠 깁니다.


0

또 다른 옵션은 보안 를 안전하게 저장하고 암호를 프로그래밍 방식으로 쉽게 액세스 할 수 있도록하는 Azure Key Vault 입니다. 암호 등을 쉽게 교체 할 수 있습니다. UI가 좋지는 않지만 명령 줄 액세스에 문제가없는 경우 좋습니다.


0

최선의 방법은 가능한 적은 양의 암호를 공유하는 것입니다.

따라서 예를 들면 다음과 같습니다.-루트 홈 디렉토리의 my.cnf를 데이터베이스의 비밀번호로 사용-ssh 키를 사용하여 서버에 로그인하고 콘솔을 통해서만 허용되는 하나의 루트 비밀번호를 가지므로 서버에 대한 물리적 / bmc 액세스 권한이 있어야합니다 )-가능한 모든 곳에서 ldap을 사용하십시오 (ssh, bmc, 스위치, redmine 등.)

그러나이 방법을 사용할 수없는 상황은 거의 없습니다 (예 : 루트 비밀번호). 그런 다음 공유 스토리지에서 keepass 를 사용 하지만 필요한 비밀번호는 10 개 정도로 적습니다.


-1

아주 좋은 질문입니다. 다른 답변에 관심이 있습니다.

여기 내가하는 일이 있지만 먼저 가능한 경우 사전 공유 키를 사용하는 것이 좋습니다. 그래도 Windows 시스템에서 이것이 가능한지 모르겠습니다.

암호의 양이 적어야하므로 (가능한 경우 키를 사용하고 있음) NIC가없는 시스템에서 gpg로 암호화 된 일반 텍스트 파일을 사용합니다. 따라서 (1) 물리적 액세스와 (2) 비밀번호가 필요합니다.

명확성을 위해 편집 됨


열쇠? USB 키와 마찬가지로? 자물쇠를 여는 물리적 키? 스마트 카드 키? GPG 키? 머리에있는 the웨어에만 존재하는 암호문? 위의 조합?
에이버리 페인

차 열쇠! JK. 명확히하기 위해 ssh 키를 의미합니다. 그렇기 때문에 Windows에서 사전 공유 키를 사용하지 못할 수도 있다고 말했습니다.
d -_- b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.