관리자가 다른 사용자로 로그인 할 수 있도록 허용


11

관리자가 암호를 우회하여 다른 사용자로 로그인 할 수 있도록하는 가능성을 구현하는 것이 좋은 방법이라고 생각하십니까? 이는 마스터 비밀번호 또는 사용자 관리 내부의 "이 사용자로 로그인"기능으로 구현할 수 있습니다.

예를 들어, 관리자는보고 된 문제를 재현하거나 보조금이 올바른지 확인할 수있는 기능을 요구하고 있습니다.


9
일반적으로 보안 엔지니어링의 경우 권한이 동일하더라도 사람들이 공유 계정 (또는 그 문제에 대해 다른 사람의 계정)으로 로그인 할 수 있도록하는 것은 좋지 않습니다. 인증은 권한 부여와 별개의 프로세스 여야합니다. 작업이 별도의 사용자 계정으로 수행되는 경우 책임 이 있습니다.
xmm0

1
Mehrdad Afshari에게 +1 사람들이 관리자에 대해 말하는 것을들을 때마다 울었습니다.
Dan McGrath

2
@Mehrdad Afshari와 @Dan McG는 모두 훌륭하지만 사실 관리자 일상적인 상황에서 사용자 계정에 액세스 해야하는 경우 어떻게해야합니까? 사용자에게 자격 증명을 입력하도록 요청 하시겠습니까? 문제를 확인하거나 재현하려면 특히 계정이 복잡한 권한 및 중립 계정으로 1 : 1로 재생할 수없는 기타 설정에 연결된 경우 특정 사용자의 설정을 확인해야합니다.
Pekka

4
당신은 그것을 잘못 본다. 관리자가 사용자 설정을 확인해야하는 경우 사용자로부터이 진단 정보를 얻을 수있는 더 나은 도구를 개발해야합니다. 예 : Windows의 앱이 충돌하는 경우 Redmond RDPing의 일부 MS 관리자가 사용자 계정으로 물건을 체크 아웃하거나 필요한 정보를 사용자에게 재전송하는 자동화 된 방법을 원하십니까 (사용자의 판단에 따라) ?
Dan McGrath

2
@Dan : 고객이 기꺼이 지불하지 않을 수 있습니다.

답변:


15

아뇨 이것은 의무 분리를 위반합니다.

또한 사용자 작업을 표시하기 위해 로그에 의존하는 것을 혼란스럽게 만듭니다.

실제로 이와 같은 사항을 확인해야하는 경우 관리자는 사용자와 같은 더미 테스트 계정도 설정해야합니다. 이렇게하면 테스트 사용자에게 보조금 등이 올바르게 작동하는지 확인할 수 있습니다.

그 외에도 관리자에게 항상 모든 권한을 부여해서는 안됩니다. 예를 들어, 사용자는 시스템에서 신용 카드 번호를 볼 수있는 유효한 이유가있을 수 있습니다. 관리자는해서는 안됩니다. 이 데이터는 그들의 일의 일부가 아닙니다. 다시 한번, 이것은 의무 분리로 귀결됩니다.

부적절한 권한 부여를 최소화하여 노출을 최소화하십시오. 여기에는 관리자도 포함되어야합니다.


2
유효한 점을 가지고 있지만, 나는 대답은 꽤 분명하다 생각하지 않는다 - 어떤 경우가 있습니다 최고의 솔루션입니다.
sleske

11

안전하고 깨끗한 프로그래밍 원칙의 관점에서 보면 좋은 생각이 아닙니다. 그러나 관리자의 일상 업무에서 편의 가 될 수 있으므로 제대로 구현하면 좋습니다.

나에게 ok 구현은 다음 요구 사항을 충족해야합니다.

  • 시스템은 해당 사용자로 로그인하지만 관리자로 로그인하면 비밀번호 인증을 무시합니다.

  • 시스템은 이것이 사용자 x가 아니라 관리자가 사용자 x로 로그인 한 플래그를 통해 인식합니다. 모든 로깅 기능은 차이를 반영합니다.

  • 사용자 로그인에서 관리자 수준으로 "분류"하는 방법은 없습니다.

이것은 관리자가 사용자의 자격 증명을 조회하고 사용할 필요가 없기 때문에 실제로 보안을 향상시킬 수 있습니다. 실제로 OP가 언급하는 이유는 종종 사용자 계정에서 무언가를 확인하고 테스트해야합니다. .


8

항상 그렇듯이 ... 그것은 달려 있습니다. 쉬운 대답이없고 두 시스템 모두 실제로 사용됩니다 (예 : Windows : 관리자가 비밀번호를 재설정하지 않고 사용자로 로그온 할 수 없음 vs. Linux : 관리자는를 사용하여 로컬 사용자로 로그온 할 수 있음 su).

분명히, 아니 당신이 추가 편안함 (단지 특정 사용자에 대해 발생하는 문제를 디버그 할 수있는) 위험을 상회 여부를 결정해야하므로 관리자는 다른 사용자가보다 안전한 옵션으로 로그인 할 수 있도록. 이러한 옵션을 구현하기로 결정한 경우 관리자 (또는 관리자 비밀번호를 보유한 사람)가 자신의 트랙을 숨길 수 없도록 엄격한 로깅이 있는지 확인하십시오.

또는 Windows에서 사용하는 패턴을 사용할 수 있습니다. 관리자는 다른 사용자로 로그온 할 수 없지만 관리자는 사용자의 비밀번호를 재설정 할 수 있습니다. 이렇게하면 관리자는 액세스 권한을 얻을 수 있지만 사용자는 항상 누군가 자신의 계정에 액세스했음을 수 있습니다.


Nitpick : sudo로컬 사용자로 로그인하지 않고 사용자로서 하나의 프로세스 만 실행합니다 (La Window의 "사용자로 실행"). 로컬 사용자로 로그인하려면을 사용하십시오 su. 그렇지 않으면 동의합니다.
sleske

@ sleske : 물론, 이것을 찾아 주셔서 감사합니다. 결정된.

@sleske : 반드시 그런 것은 아닙니다 sudo -i.
liori

'로그인 쉘'이라는 개념은 sh실행 권한이 부여 된 권한보다 실행 파일이 동작 하는 방식과 더 관련 이 있습니다. su - usersudo -u user sh같은 액세스 권한을 부여; 차이점은 sh다른 시작 스크립트 를 실행 한다는 것 입니다.
jpaugh

3

phpBB3에는 "사용자 권한 테스트"기능이있어 관리자에게 유용합니다. 또한 실제로 해당 사용자 계정을 방해하지는 않지만 권한에 따라 실제로 경험을 얻습니다.

그러나 실제로 다른 사람으로 로그인하면 다른 사람이 언급했듯이 많은 문제가 발생합니다.


1

예, 이러한 기능은 문제가 될 수 있지만 때로는 다른 방법이 없으므로 필요할 수 있습니다.

몇 가지 예 :

  • Unix / Linux에는이 기능이 존재합니다 ( su - <username>.이 사용자와 동일한 결과를 제공하지만 루트 암호는 필요하지 않음)
  • 내가 작업하는 응용 프로그램 에도이 기능이 있으며 사용자의 개인 설정 (앱에 많은 기능이 있음)의 문제를 디버깅하는 데 필수적입니다

지적했듯이 복잡한 설정이 로그인 한 사용자 (환경 변수, 경로, 응용 프로그램의 개인 설정)에 의존하는 경우 종종 사용자의 문제를 디버깅하는 다른 실질적인 방법이 없습니다.

로깅 / 감사와 관련하여 :이 기능의 사용은 물론 기록되어야합니다. 그 외에는 악용되지 않도록 관리자를 신뢰해야합니다. 그러나 이것은 일반적으로 관리자에게 유효합니다.

관리자를 더 제한해야하는 경우 "true"관리자가있는 일종의 MAC (필수 액세스 제어) 시스템이 필요합니다. 가능하지만 훨씬 더 복잡하므로 절충안입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.