나는 많은 사람들이 이메일, 메일링 리스트, 개인 웹사이트 등에 사용하는 서버를 운영하고 있습니다.
다른 구성원이 서버 문제를 처리할 수 있도록 루트 액세스 권한을 제공하는 방법을 고려했습니다. 그러나 나는 모든 사람에게 전체 루트 액세스 권한을 부여하는 것을 좋아하지 않습니다.
당신의 생각은 무엇입니까둘sudo
루트 쉘을 열려면 사용자가 비밀번호를 입력해야 합니까 ? 이렇게 하면 단일 사용자가 전체 서버를 하이재킹하는 것을 방지할 수 있습니다. 보안을 강화하려면 1개 이상의 필수 사용자 비밀번호를 원하는 만큼 사용할 수 있습니다. 지금 제가 보기에 이것은 서로를 잘 알고 근처에 사는 사람들 그룹 사이에 루트 액세스를 제공하는 좋은 방법이 될 수 있습니다.
- 그런 프로그램을 아시나요?
- 이 개념에 대한 전반적인 생각은 무엇입니까?
답변1
일부 보안 정책은 특정 작업에 대해 이중 승인을 요구합니다. 예를 들면 다음과 같습니다.
- 은행 업무에서는 대규모 거래의 경우 두 명의 관리자가 확인해야 하는 경우가 많습니다.
- 핵무기 등 중무기 발사에는 2인 이상의 고위공직자나 의사결정권자의 검증이 필요하다.
- 승인 또는 거부제안된 수정사항존재하다스택 오버플로충분한 평판을 가진 두 명의 사용자의 동의가 필요합니다.
당신은 이것이 중요하지 않다는 것을 알게 될 것입니다확인하다(예: 자신이 누구인지 보여주기 위해 비밀번호를 입력하는 등), 그러나 약.승인하다즉, 작업을 허용할지 여부를 결정합니다.
배경 독서를 위해 추천합니다안전공학로스 앤더슨. 가능하다면 최신 버전을 구입하세요. 그렇지 않으면 첫 번째 버전을 온라인으로 이용할 수 있습니다. 가장 관련성이 높은 장은 "접근 통제"입니다. 은행 및 핵 지휘에 관한 장에 몇 가지 예가 있습니다.
Unix는 사용자와 수퍼유저라는 두 가지 수준의 간단한 보안 모델을 제공합니다. 이는 장점(단순성은 시스템 자체와 보안 정책의 설계 및 구현에 오류가 발생할 여지가 적다는 것을 의미함)이자 단점(복잡한 보안 정책을 기본적으로 표현할 수 없음)입니다. 악의적인 사용자가 루트 권한을 얻는 것이 염려된다면 그에게 루트 권한을 부여하지 마십시오. 루트가 수행하는 작업에 대한 검사는 거의 없습니다. 유일한 제한은 일부 외부 작업(네트워크 트래픽)과 마찬가지로 루트를 얻기 위한 작업을 원격으로 기록할 수 있다는 것입니다. 악의적인 사용자는 루트 권한으로 한 작업을 수행하려는 척하지만 실제로는 다른 사용자에게 자신의 작업을 숨긴 채 다른 작업을 수행할 수 있습니다. 따라서 다른 사용자에게 루트 액세스를 감사하도록 요구하면 보안이 크게 강화되지 않습니다. 반대로 보안을 낮추면 보안도 상실됩니다.유효성루트 액세스(뭔가 문제가 발생할 경우를 대비해 백업으로 신뢰도가 낮은 사용자에게 루트 액세스 권한을 부여하려는 것 같습니다. 이중 승인은 많은 부담을 가중시킬 것입니다).
이중 승인은 특정 작업에 유용합니다. Alice는 "X를 수행할 수 있는 권한을 부여해주세요"라고 말하고 Bob은 "나는 Alice가 모스크바를 폭격하거나 편집을 거부하는 것을 승인합니다."라고 말합니다. Alice가 "내가 원하는 것은 무엇이든 할 수 있도록 권한을 부여해주세요"라고 말하고 Bob이 동의한다면 Bob이 하는 일은 귀하(정책 입안자)가 이미 말한 내용, 즉 Alice가 무엇이든 할 수 있도록 권한을 부여받는 것입니다. Alice를 sudoer로 만들 수도 있습니다.
나는 여러 사용자가 sudo와 같은 프레임워크에서 특정 명령을 승인할 수 있도록 허용하는 Unix의 기존 시스템을 알지 못합니다.
답변2
이것이 당신이 찾고 있는 것일 수도 있습니다:
https://github.com/square/sudo_pair
sudo_pair는 다른 사람이 권한 있는 sudo 세션을 승인하고 모니터링하도록 요구하는 sudo용 플러그인입니다.
답변3
/etc/passwd
이와 같은 일을 할 수 있다고 생각할 수 있는 유일한 방법은 /etc/shadow
uid 0(전체 액세스의 경우)으로 계정을 생성하거나 올바른 액세스를 제공하는 그룹에 속하는 것입니다.
그런 다음 첫 번째 사람에게는 처음 5자를 알려주고 두 번째 사람에게는 마지막 5자를 알려주는 비밀번호를 설정하십시오. 이전과 같이 비밀번호에 더 이상 8자 제한이 없으므로 인원 수에 관계없이 이 작업을 수행할 수 있습니다(예: 5명에게 20개의 4자를 할당).
물론 계정에 들어가면 누구나 사용할 수 있는 비밀번호로 비밀번호를 재설정할 수 있습니다(uid = 0인 경우). 따라서 이와 같은 신뢰 문제가 있다면 그보다 더 큰 문제가 있습니다.
답변4
두 사용자가 모두 충족해야 하는 특정 조건을 확인한 다음 /etc/sudoers에 복사하고 몇 분 후에 다시 삭제하는 프로세스를 루트로 백그라운드에서 실행할 수 있습니다. 예를 들어, 두 사용자 모두 홈 디렉터리에서 파일 이름이 오늘 날짜인 파일을 터치해야 할 수 있습니다. 백그라운드 프로세스는 파일을 한 번 사용한 후 파일을 삭제하거나 무시할 수 있습니다.
또한 PAM은 지문이나 카드와 같은 이국적인 유형의 인증을 지원하므로 PAM을 살펴볼 가치가 있다고 생각합니다.