Linux : 루트가없는 생산적인 sysadmin (지적 재산권 확보)?


66

완전한 루트 액세스 권한을 부여하지 않고 노련한 Linux syadmin을 생산적으로 만드는 방법이 있습니까?

이 질문은 전적으로 코드 및 / 또는 구성 파일 (즉, 쉽게 복사되는 작은 디지털 파일) 인 지적 재산 (IP)을 보호한다는 관점에서 비롯됩니다. 우리의 비밀 소스는 우리의 작은 크기가 제안하는 것보다 우리를 더 성공적으로 만들었습니다. 마찬가지로, 우리는 IP를 훔치려 고 시도했던 이전의 부도덕 한 직원들 (시스템 관리자가 아닌)로부터 두 번 부끄러워 했습니다. 최고 경영진의 입장은 기본적으로 "우리는 사람들을 신뢰하지만 이기심이 없으면 어느 누구도 자신의 업무를 수행하는 데 필요한 것보다 더 많은 액세스 권한을 부여 할 위험이 없습니다"

개발자 면, 그것은 사람들이 생산 될 수 있도록 워크 플로우 및 액세스 수준을 분할하지만 그들이 볼 필요 것만보고 상대적으로 쉽습니다. 최고인 (실제 회사 소유주)만이 모든 재료를 결합하고 특별한 소스를 만들 수 있습니다.

그러나 나는 리눅스 관리자 측 에서이 IP 비밀을 유지하는 좋은 방법을 생각해 낼 수 없었습니다. 우리는 코드와 민감한 텍스트 파일에 GPG를 광범위하게 사용하지만 ... 관리자가 사용자에게 고소하고 tmux 또는 GNU Screen 세션에서 도청하여 그들이하는 일을 보지 못하게하는 것은 무엇입니까?

(우리는 또한 민감한 정보와 접촉 할 수있는 모든 곳에서 인터넷 액세스가 비활성화되어 있습니다. 그러나 완벽한 것은 없으며 네트워크 관리자 측의 영리한 시스템 관리자 나 실수에 대한 구멍이 열려 있거나 오래된 USB도 있습니다. 물론 수많은 다른 조치가 있지만이 문제의 범위를 벗어납니다.)

내가 생각해 낼 수있는 최선은 기본 적으로 sudo로 개인화 된 계정을 사용하는 것인데 , 루트로 작동하는 여러 Linux sysadmins 에서 설명한 것과 비슷 합니다 . 특히, 회사 소유주를 제외하고는 아무도 직접 루트 액세스 권한을 갖지 못합니다. 다른 관리자는 개인화 된 계정과 루트 로 sudo 할 수있는 기능이 있습니다. 또한 원격 로깅이 작성되고 로그는 회사 소유자 만 액세스 할 수있는 서버로 이동합니다. 로깅이 해제되어 있으면 일종의 경고가 설정됩니다.

영리한 sysadmin은 여전히이 체계에서 일부 구멍을 찾을 수 있습니다. 그리고 그 외에도, 그것은 능동적 이라기보다는 여전히 반응성 입니다. IP의 문제는 경쟁 업체가 IP를 매우 빠르게 사용할 수 있고 매우 짧은 순서로 많은 피해를 입힐 수 있다는 것입니다.

따라서 관리자가 수행 할 수있는 작업을 제한하는 메커니즘이 더 좋습니다. 그러나 저는 이것이 미묘한 균형이라는 것을 알고 있습니다 (특히, 현재 해결해야하는 생산 문제 해결 및 해결 측면에서 ).

매우 민감한 데이터를 가진 다른 조직이이 문제를 어떻게 관리하는지 궁금하지 않습니다. 예를 들어, 군사 시스템 관리자 : 기밀 정보를 보지 않고 서버와 데이터를 어떻게 관리합니까?

편집 : 초기 게시에서, 나는 "채용 관행"의견을 선제 적으로 다루고 자했다. 하나, 이것은 기술적 인 질문 이되어야하고 , 관행 IMO를 고용하는 것은 사회적 질문 으로 향하는 경향이 있습니다 . 그러나,이, 나는이 말 것 : 인터뷰 : 우리가 사람을 고용하기위한 합리적인 모든 것을 할 생각 배수를회사의 사람들; 배경 및 참조 확인; 모든 직원은 IP 관련 우려 사항을 자세히 설명하는 핸드북을 읽고 이해 한 문서를 포함하여 수많은 법률 문서에 서명합니다. 이제이 질문 / 사이트의 범위를 벗어 났지만 누군가가 나쁜 행위자를 100 % 걸러내는 "완벽한"채용 관행을 제안 할 수 있다면 나는 모두 귀입니다. 사실은 다음과 같습니다. (1) 완벽한 채용 프로세스가 있다고 생각하지 않습니다. (2) 사람들이 변한다 – 오늘의 천사는 내일의 악마 일 수있다. (3) 시도 된 코드 도난은이 산업에서 다소 일상적인 것으로 보입니다.


15
마지막 질문을 읽을 때 가장 먼저 떠오른 것은 ... Snowden.
Hrvoje Špoljar

33
적절한 SELinux 정책으로 멀리 갈 수는 있지만 구현하는 데 비용이 많이 듭니다. 하루가 끝나면 sysadmins 작업을 수행하기 위해 시스템 및 파일에 대한 일부 액세스 권한이 있어야합니다 . 귀하의 문제는 기술적 인 것이 아니며 고용 과정에 있습니다.
Michael Hampton

6
군대는 보안 허가와 2 인 무결성을 사용 합니다. 그럼에도 불구하고 때로는 위반이 있습니다. 사람 모두 사악한 계획을 세울 가능성 은 훨씬 적습니다.
Steve

14
이것이 사람들 문제처럼 냄새가 나는 이유는 사람들 문제이기 때문입니다.
Sirex

6
이것이 NDA를위한 것입니다.
Michael Martinez

답변:


19

당신이 말하는 것은 "Evil Sysadmin"위험으로 알려져 있습니다. 그것의 길고 짧은 :

  • sysadmin은 높은 권한을 가진 사람입니다
  • 기술적으로는 '해커'가 될 수있는 수준에 능숙합니다.
  • 비정상 시나리오에서 시스템과 상호 작용

이러한 것들의 조합으로 인해 악의적 인 행동을 막을 수는 없습니다. 비교할 '정상'이 없기 때문에 감사조차 어렵습니다. (솔직히 시스템이 고장 나면 감사도 제대로되지 않았을 수 있습니다).

여러 완화 단계가 있습니다.

  • 권한 분리-루트를 가진 사람 이 시스템 에서 아무것도 하지 못하게 막을 수 없습니다 . 그러나 한 팀은 네트워킹을 담당하고 다른 팀은 '운영 체제'(또는 Unix / Windows 별도)를 담당 할 수 있습니다.
  • 다른 팀으로 키트에 대한 물리적 액세스를 제한합니다. 관리자는 계정을 얻지 못하고 모든 '손'작업을 관리합니다.
  • '데스크톱'과 '서버'책임을 분리하십시오. 데이터 제거를 금지하도록 데스크탑을 구성하십시오. 데스크톱 관리자는 민감한 사용자에게 액세스 할 수 없으며 서버 관리자는이를 훔칠 수 있지만 건물 밖으로 나가려면 농구대를 뛰어 넘어야합니다.
  • 제한된 액세스 시스템 syslog및 이벤트 레벨 감사, 권한이없는 액세스 권한이없는 시스템에 대한 감사. 그러나 정보를 수집하는 것만으로는 충분하지 않으며이를 모니터링해야합니다. 솔직히 감사 레이더에 표시되지 않을 수있는 정보를 '훔치는'방법이 많이 있습니다. (푸셔 대 게임 키퍼)
  • '휴면'암호화를 적용하므로 데이터가 '명확하게'저장되지 않으며 라이브 시스템에 액세스해야합니다. 즉, 물리적 액세스 권한이있는 사용자는 적극적으로 모니터링되지 않는 시스템에 액세스 할 수 없으며 sysadmin이 작업중인 '비정상적인'시나리오에서는 데이터가 덜 노출됩니다. (예 : 데이터베이스가 작동하지 않는 경우 데이터를 읽을 수없는 것 같습니다)
  • 두 사람의 규칙-생산성이 저하되고 사기도 마찬가지로 괜찮다면. (진실하게-나는 그것을 보았고, 일하고 감시하는 지속적인 상태는 그것이 매우 어려운 근무 조건을 만듭니다).
  • 시스템 관리자에게 수의사-국가에 따라 다양한 기록 확인이있을 수 있습니다. (범죄 기록은 확인 할 수 심지어는 신원 조회 트리거 할 경우의 보안 허가를 신청할 수 있습니다 찾을 수)
  • sysadmins를 돌보십시오. 당신이하고 싶은 절대적인 일은 "신뢰할 수있는"사람에게 당신이 그들을 믿지 않는다고 말하는 것입니다. 그리고 악의적 행동의 가능성 이 높아지기 때문에 사기에 피해를 입히고 싶지는 않습니다 . 그러나 책임과 기술에 따라 지불하십시오. 그리고 급여보다 저렴하지만 아마도 더 가치있는 '특징'을 고려하십시오. 무료 커피 나 일주일에 한 번 피자처럼.
  • 또한 계약 조건을 금지하기 위해 계약 조건을 시도하고 적용 할 수도 있지만 위의 사항에주의하십시오.

그러나 매우 근본적으로-이것은 기술적 인 것이 아니라 신뢰하는 것임을 받아 들여야합니다. 이 완벽한 폭풍으로 인해 시스템 관리자는 항상 잠재적으로 매우 위험합니다.


2
때때로 sysadmin 모자를 착용합니다. 나는 그들이 접근 할 수있는 곳에 강력한 도구를 놓아 둘 필요가 있음을 발견했다. 그 중 일부는 시스템 액세스 제어를 우회하는 의도 된 목적을 가지고있다 (누군가가 워크 스테이션에서 모두를 잠그는 경우에 대비하여). 운영의 본질 상 감사는 약화되거나 비효율적입니다.
joshudson 17

3
예. 자물쇠 제조업자가 합법적으로 집에 침입 할 수있는 모든 이유 때문에 시스템 관리자는 네트워크에 침입해야 할 수도 있습니다.
Sobrique

@Sobrique : 우리가 데이터의 불량 시스템 관리자 stoling에 대해 많은 아니라 같은 일을 불량 하녀 듣고 이유 : 난 아직도 이해하지 못하는 뭔가있다 (그들은 모든 것을 종이에 있던 시간 동안 그것을 할 수있다) .
user2284570

볼륨-테라 바이트의 하드 카피 그리고 손상. IT 시스템을 방해하면 말 그대로 회사를 망칠 수 있습니다.
Sobrique

51

지금까지 언급 한 모든 내용은 좋은 것이지만 불량 시스템 관리자를 무효화하는 데 도움이되는 '쉬운'비 기술적 방법 이 있습니다. 기본적으로 4 명의 눈 원칙 은 기본적으로 2 명의 시스템 관리자가 높은 액세스 권한을 갖도록 요구합니다.

편집 : 의견에서 본 가장 큰 두 가지 항목은 비용과 담합 가능성에 대해 논의하는 것입니다. 이 두 가지 문제를 피하기 위해 고려한 가장 큰 방법 중 하나는 취해진 조치의 검증에만 사용되는 관리 서비스 회사를 이용하는 것입니다. 기술자들은 서로를 알지 못했을 것입니다. MSP에 기술적 인 능력이 있다고 가정하면 취한 조치를 취하기에 충분할 것입니다. 사악한 것에 대해 예 / 아니요로 간단 할 수도 있습니다.


17
@Sirex : 그렇습니다. 보안 문제입니다. 항상 비용이 듭니다.
sleske

10
아니요, 저는 정확히 그렇게 한 아주 작은 (100-1000 명) 조직에서 일했습니다. 그들은 단지 그들의 절차가 모든 sysadmin 활동 비용을 다른 방법보다 4 배에서 10 배 많은 돈으로 만들 겠다는 것을 받아 들였고 그들은 돈을 지불했습니다.
MadHatter

10
이것이 유일한 해답입니다. 우리의 키트는 정부의 안전한 장소에 있으며 (다른 단계 중에서도)이 방법을 사용하여 어느 누구도 높은 터미널에 접근 할 수 없도록합니다. 작업을 수행하기 위해 자세한 요청이 제기되고 많은 사람들이 서명을 한 후 (50+, sigh ) 두 명의 관리자가 모여서 변경을 수행합니다. 위험을 최소화합니다 (그리고 어리석은 실수). 비용이 많이 들고 일을 처리하는 데 엄청난 고통이 따르지만 보안의 가격입니다. Re : 네트워크 팀, DC 팀, 프로젝트 관리자, 보안, 스토리지, 펜 테스터, 소프트웨어 공급 업체 등을 포함하는 50 개 이상의 서명자
기본

4
당신은 아마 고용에 어려움을 겪을 것입니다. 실제로 일을 끝내고 싶어서 일을 즐기는 데 지장을 줄 수있는 순간 쇼 스토퍼 일 것입니다.
Sirex

3
비용 증가가 모든 sysadmin 작업에 적용되는 것은 아닙니다. 그러나 이는 높은 조치 자체와 준비에 모두 적용됩니다. IOW, 당신은 말할 수 없습니다 : "sysadmin은 일주일에 40 시간 일하고, 그 중 4 명은 증가했기 때문에 비용 증가는 10 %에 불과합니다." 또한,이 계획은 또한 정상적이고 정직한 실수를 포착합니다. 그것은 돈을 절약합니다.
MSalters

27

사람들이 시스템에 대한 관리자 액세스 권한이 실제로 필요한 경우 해당 상자에서 해당 활동을 제한 할 수있는 방법이 거의 없습니다.

대부분의 조직이하는 일은 신뢰하지만 검증 -사람들에게 시스템의 일부에 대한 액세스 권한을 부여 할 수 있지만 명명 된 관리자 계정 (예 : root에 직접 액세스 권한을 부여하지 않음 )을 사용한 다음 해당 활동을 로그에 감사합니다. 방해 할 수 없습니다.

여기에 밸런싱 행위가 있습니다. 시스템을 보호해야 할 수도 있지만 사람들도 자신의 작업을 수행하도록 신뢰해야합니다. 회사가 파렴치한 종업원에 의해 이전에 "물린"상태 였다면, 이는 회사의 고용 관행이 어떤 식 으로든 좋지 않다는 것을 암시 할 수 있으며, 그러한 관행은 아마도 "최 상사"에 의해 만들어 졌을 것입니다. 신뢰는 가정에서 시작됩니다. 그들은 채용 선택을 고치기 위해 무엇을하고 있습니까?


3
이것은 훌륭한 관찰입니다. 훌륭한 감사는 사람들이 자신의 작업을 수행하면서도 자신의 행동에 대해 책임을 질 수 있도록합니다.
Steve Bonds

1
감사 및 syslog를 올바르게 사용하면 먼 길을 갈 수 있습니다. 이 데이터는 수많은 보안 도구로 모니터링하여 이상하거나 명백하게 나쁜 행동을 찾을 수 있습니다.
Aaron

3
감사의 실제 문제점은 많은 노이즈가 있다는 것입니다. 몇 달이 지나면 어떤 일이 일어 났을 때를 제외하고 아무도 로그를 볼 수 없습니다.
TomTom

1
보안 로그에서 신호 대 잡음비를 얻는 것이 문제이지만 여전히 로그해야한다고 TomTom에 동의합니다. @Sobrique하지만 '악한 sysadmins'는 주로 기술 문제가 아니라 채용 문제입니다. 당신은 격차의 양면을 모두 닫아야합니다, 그래서 내가 필요로 일을 '모범 사례'일 및 채용 프로세스를 개선, 진정한 비밀 소스 물건 '4 안'을 고려 팀은 암시로,뿐만 아니라 로그를 가려 낼 것
롭 모어

1
조금만, 이전의 선의의 행위자가 악의적 인 행위자가 될 수있는 '직무주기'를 염두에 두십시오. 그것은 고용 관행을 고용하는 것보다 탈 취소와 사기에 관한 것입니다. 누군가를 좋은 sysadmin으로 만드는 것도 좋은 해커가 될 것입니다. 아마 그 시점에서-평범한 sysadmins를 고용하는 것이 앞으로 나아갈 길입니까?
Sobrique

18

sysadmin에게 전원을 공급하지 않고 전원을 공급하지 않는 방법을 생각해 내기 위해 미친 기술적 정신 왜곡에 빠지지 않으면 서 (가능할 수도 있지만 궁극적으로 어떤 방식 으로든 결함이 있음).

비즈니스 관행 관점에서 간단한 솔루션 세트가 있습니다. 저렴한 솔루션은 아니지만 간단합니다.

당신은 당신이 걱정하는 IP 조각이 나뉘어져 있고 맨 위에있는 사람들 만 볼 수있는 힘을 가지고 있다고 언급했습니다. 이것은 본질적으로 당신의 대답입니다. 관리자는 여러 명이어야하며 그 중 어느 것도 완전한 그림을 작성하기에 충분한 시스템의 관리자 여야합니다. 물론 관리자가 아프거나 교통 사고 등을 당할 경우 각 조각 당 최소 2 ~ 3 명의 관리자가 필요합니다. 어쩌면 그것들을 비틀 수도 있습니다. 4 명의 관리자와 8 개의 정보가 있다고 가정 해 보겠습니다. 관리자 1은 조각 1과 2가있는 시스템에 액세스 할 수 있으며 관리자 2는 조각 2와 3에 도달 할 수 있으며 관리자 3은 3과 4에 도달 할 수 있으며 관리자 4는 4와 1에 도달 할 수 있습니다. 각 시스템에는 백업 관리자가 있지만 없음 관리자는 전체 그림을 손상시킬 수 있습니다.

군대가 사용하는 기술 중 하나는 데이터 이동의 한계입니다. 민감한 지역에는 디스크를 굽거나 USB 플래시 드라이브를 사용할 수있는 단일 시스템 만있을 수 있으며 다른 모든 시스템은 제한됩니다. 또한이 시스템을 사용하는 능력은 극히 제한되어 있으며 정보 유출로 이어질 수있는 데이터를 누군가가 제출할 수 있기 전에 상위 관리자의 구체적인 문서 승인이 필요합니다. 동일한 토큰과 함께 다른 시스템 간의 네트워크 트래픽이 하드웨어 방화벽에 의해 제한되도록합니다. 방화벽을 제어하는 ​​네트워크 관리자는 라우팅중인 시스템에 액세스 할 수 없으므로 정보에 액세스 할 수 없으며 서버 / 워크 스테이션 관리자는 시스템과주고받는 모든 데이터가 암호화되도록 구성되어 있습니다.

모든 랩탑 / 워크 스테이션에는 암호화 된 하드 드라이브가 있어야하며, 각 직원은 밤이되면 드라이브 / 노트북을 잠 가서 개인 / 사물함을 확보해야합니다. 그들은해서는 안됩니다.

하루가 끝날 때 물리적 액세스가 모두 우선하므로 각 서버를 관리하는 관리자 만 서버에 액세스 할 수 있도록 각 서버는 자체적으로 잠긴 랙에 있어야합니다.

다음으로 상처를 입히거나 도울 수있는 방법이 있습니다. 한정된 계약. 새로운 인재를 유치하기에 충분한 비용을 지불 할 수 있다고 생각 될 경우, 각 관리자를 정해진 시간 (IE 6 개월, 1 년, 2 년) 동안 만 유지하는 옵션을 사용하면 누군가의 시간을 제한 할 수 있습니다 모든 IP 조각을 모 으려고 시도합니다.

내 개인 디자인은 라인을 따라 뭔가가 될 것입니다 ... 데이터를 여러 조각으로 나누고 숫자 8을 가지기 위해 8 개의 git 서버가 있으며 각각 8 개의 git 서버가 있으며 각각의 중복 하드웨어 세트가 있으며 다른 관리자 집합.

IP에 닿는 모든 워크 스테이션을위한 암호화 된 hardrive. 드라이브에 특정 디렉토리 인 "프로젝트"디렉토리를 가진 유일한 디렉토리 사용자는 자신의 프로젝트를 넣을 수 있습니다. 매일 밤 그들은 안전한 삭제 도구를 사용하여 프로젝트 디렉토리를 삭제해야합니다. 그런 다음 하드 드라이브를 제거하고 잠겨 있습니다 (안전을 위해).

프로젝트의 각 비트마다 다른 관리자가 할당되어 있으므로 사용자는 자신이 할당 된 워크 스테이션 관리자와 만 상호 작용할 수 있습니다. 프로젝트 할당이 변경되면 데이터가 지워지고 새 관리자가 할당됩니다. 시스템에는 굽기 기능이 없어야하며 인증없이 데이터를 전송하기 위해 USB 플래시 드라이브를 사용하지 못하도록 보안 프로그램을 사용해야합니다.

이것에서 당신이 무엇을 취할 것입니다.


2
감사합니다. 거기에 좋은 것들이 많고 우리가하는 많은 일들이 있습니다. 여러 관리자 아이디어가 마음에 들지만 실제로는 그렇게 크지 않습니다. 나는 실제로 한 명의 관리자 만 필요 하므로 4 명이 있으면 일반적으로 지루할 것입니다. 우리가 원하는 최고급 인재를 어떻게 찾을 수 있습니까? 똑똑한 사람들이 빨리 지루 해져서 목초지로 넘어갈 까봐 두렵습니다.
Matt

2
예, 그것은 큰 문제이며 실제로는 정부 분야에서 큰 고통을 겪고 있습니다. 내가 관리자로 시작한 곳은 종종 "회전문"이라고 불 렸습니다. 모든 것은 다루기 어려운 문제입니다. 정보 보증은 일반적으로 매우 까다로운 너트입니다. \
Gravy

@Matt How do we find the top-tier talent we want, but only give them a teeny-tiny workload?어느 정도까지는 대규모 테스트 / R & D 환경을 제공하고 새롭고 멋진 장난감에 접근 할 수있게하여 업무 시간 중 상당 부분을 기술 기술 개발에 사용하도록 장려함으로써이를 완화 할 수 있습니다. 효과적인 25 % 워크로드가이를 훨씬 더 많이 추진하고 있지만 실제 작업과 50 %의 기술 개발 / R & D (임금이 정상 ~ 100 %와 동일한 수준이라고 가정) 실제 작업 "직업).
HopelessN00b

11

건물 관리인을 고용하는 것과 비슷합니다. 관리인은 모든 열쇠를 가지고 있고, 어떤 문이든 열 수 있지만, 그 이유는 관리인이 열쇠를 필요로하기 때문입니다. 시스템 관리자와 동일합니다. 대칭 적으로이 오래된 문제를 생각하고 역사적으로 신뢰가 부여되는 방식을 살펴볼 수 있습니다.

깨끗하게 절단 된 기술 솔루션은 없지만, 시도하지 않을 이유가 없어야한다는 사실이 불완전한 솔루션의 집합은 다소 큰 결과를 가져올 수 있습니다.

신뢰를 얻는 모델 :

  • 시작할 수있는 권한을 줄입니다.
  • 점차적으로 권한 증가
  • 허니팟을 넣고 앞으로 일어날 일을 모니터링
  • sysadmin이 악용하려고 시도하지 않고이를보고하면 좋은 시작입니다.

몇 가지 수준의 관리 능력을 구현하십시오 .

  • 레벨 1 : 하위 계층 구성 파일을 수정할 수 있습니다
  • 레벨 2 : 약간 더 높은 구성 파일 계층을 수정할 수 있습니다
  • 레벨 3 : 약간 더 높은 구성 파일 및 OS 설정을 수정할 수 있습니다

항상 한 사람이 완전히 액세스 할 수없는 환경을 만드십시오 .

  • 클러스터에서 분할 시스템
  • 다른 그룹에 클러스터 관리자 권한 부여
  • 최소 2 그룹

높은 수준의 핵심 변경을 수행 할 때는 2 인 규칙을 사용하십시오 .

신뢰와 검증 :

  • 모든 것을 기록하십시오
  • 로그 모니터링 및 경고
  • 모든 행동을 구별 할 수 있는지 확인

서류 :

  • 법률 시스템이 상처를 입었을 때 고소함으로써 도움을 줄 수 있도록 서류에 서명하도록하십시오.

모든 것을 기록 할뿐만 아니라, 사람들이 쉽게 섭취 할 수있는 방식으로 로그를 모니터링하고 경고해야하는 것이 있습니다.
Aaron

9

관리 액세스 권한이있는 호스트로부터 호스트를 보호하는 것은 매우 어렵습니다. 같은 도구 동안 PowerBroker의 시도가이 작업을 수행하기 위해, 비용은 깰 수있는 다른 뭔가를 모두 추가하고 그리고 그것을 해결에 시도 장벽을 추가합니다. 시스템 가용성은 이 이렇게 일찍 물건을 보호의 비용으로 그 기대를 설정처럼 당신이 뭔가를 구현할 때 놓습니다.

또 다른 가능성은 클라우드 공급자 또는 로컬 호스팅 프라이빗 클라우드를 통해 앱이 일회용 호스트에서 실행될 수 있는지 확인하는 것입니다. 문제를 해결하기 위해 관리자에게 보내지 말고 문제가 발생하면이를 버리고 대체물을 자동 빌드하십시오. 이 모델에서 실행되도록하려면 애플리케이션 측에서 많은 작업이 필요하지만 많은 운영 및 보안 문제를 해결할 수 있습니다. 잘못 수행하면 심각한 보안 문제가 발생할 수 있으므로 해당 경로로 이동하면 도움을받을 수 있습니다.


4

이것은 기본 토론입니다 : https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux

시스템 구성 및 설치를 담당하는 보안 엔지니어를 통해 책임을 분담하지만 자격을 얻거나 생산중인 시스템에 액세스 할 수는 없습니다. 또한 감사 인프라를 운영합니다.

시스템을받는 프로덕션 관리자가 있지만 SELinux 정책이 활성화되지 않은 상태에서 시스템을 부팅 할 키가 없습니다. 보안은 고장난 기계를 서비스에서 꺼낼 때 디스크에 저장된 중요한 데이터를 해독하는 열쇠를 얻지 못합니다.

Vault 와 같은 강력한 감사 기능으로 중앙 집중식 인증 시스템을 사용하고 암호화 작업을 활용하십시오. Yubikey 장치를 배포하여 키를 절대 개인용 및 읽을 수 없도록 만듭니다.

기계는 파손시 닦거나 운영진과 경비원이 함께 처리하며 경영진의 감독이 필요한 경우


2

작업의 성격에 따라 관리자는 모든 것에 액세스 할 수 있습니다. 파일 시스템의 모든 파일을 관리자 자격 증명으로 볼 수 있습니다. 따라서 관리자가 볼 수 없도록 파일을 암호화하는 방법이 필요하지만 파일을 볼 수있는 팀이 파일을 계속 사용할 수 있습니다. Vormetric Transparent Encryption ( http://www.vormetric.com/products/transparent-encryption )을 살펴보십시오

작동 방식은 파일 시스템과 파일 시스템에 액세스하는 응용 프로그램 사이에 있다는 것입니다. 관리는 "웹 서버 데몬을 실행하는 httpd 사용자 만 파일이 암호화되지 않은 것을 볼 수 있습니다"라는 정책을 만들 수 있습니다. 그런 다음 루트 자격 증명을 가진 관리자가 파일을 읽고 암호화 된 버전 만 가져 오려고 시도 할 수 있습니다. 그러나 웹 서버와 필요한 도구는 암호화되지 않은 것으로 보입니다. 바이너리를 체크섬하여 관리자가 돌아 다니기가 더 어려울 수도 있습니다.

물론 관리자가 파일에 액세스하려고 할 때 메시지에 플래그가 지정되고 사람들이이를 알 수 있도록 감사를 활성화해야합니다.


1
그러면 누가 파일을 업데이트 할 수 있습니까? 그들은 어떻게합니까?
Michael Hampton

3
게다가 ... 그 상자에 뿌리를 내리면 웹 서버 데몬을 파괴 할 가능성이 있습니다. 데몬을 교체하지 않았는지 확인하기 위해 바이너리 해시를 검사하더라도 웹 서버가 데이터에 대해 합법적으로 보이는 요청을하도록 속일 수있는 방법이 있습니다.
기본

1
실제로 SysAdmins는 모든 파일에 액세스하지 못할 수 있습니다. C2 및보다 안전한 시스템은 관리자를 차단할 수 있습니다. 액세스를 강제 할 수는 있지만 취소 할 수 없으며 (사용자로 설정) 추적 (로그를 삭제하지만 쉽게 변경할 수는 없음)을 남깁니다.
TomTom

관리자가 httpd가 될 수 있기 때문에 도움이되지 않습니다 ... 관리자는 / dev / mem과 모든 키를 읽을 수도 있습니다.
John Keates

2
@TomTom : C2를 만족시키는 운영 체제의 가능성은 신화입니다. Windows NT4는 인증을 통과했지만 사기로 판명되었습니다. 강제 액세스를 철회하는 기능은 항상 존재하며이를 사용했으며 일부 프로그램은 파일이 변경되지 않았 음을 확인하기 위해이를 사용하려고 시도하기 때문에 작동에 의존하는 절차가 있지만 변경해야합니다. 그들.
joshudson

2

실용적인 방법은 sudo로 누가 무엇을 할 수 있는지를 제한하는 것입니다. selinux를 사용하여 원하는 대부분의 작업을 수행 할 수도 있지만 실제로는 구성을 제대로 파악하지 못할 수도 있습니다.

비공개 계약. 시스템 관리자를 고용하고 NDA에 서명해야합니다. 약속을 어기면 법정으로 가져 가십시오. 이것은 그들이 비밀을 훔치는 것을 막을 수는 없지만, 그렇게함으로써 발생하는 손해는 법정에서 회복 될 수 있습니다.

군사 및 정부 시스템 관리자는 재료의 민감도에 따라 다른 등급의 보안 여유 공간을 확보해야합니다. 정리를 할 수있는 사람이 도둑질을하거나 사기를 당할 가능성이 낮다는 생각입니다.


1) 허가를 받고 유지하는 것은 그늘진 사업을하는 능력을 제한합니다. 2) 더 높은 보안 허가가 필요한 일자리는 더 나은 임금을 지불합니다. 이는 현재 고용주 를 좋아하는지 여부에 관계없이 그 허가를 유지하려는 강한 동기를 의미합니다 .
Shadur

다시 말하지만, OP는 구체적으로 예방 조치를 요구한다고 밝혔다. 물론 NDA 위반으로 고소 할 수는 있지만 시스템 관리자는 그가 암시하는 피해를 복구하기에 충분한 돈을 벌 가능성이 있습니까?
Shadur

당신은 sysadmin에서 손실을 복구하는 것이 아니라, 그 비밀로부터 돈을 버는 사람이나 그 밖의 다른 사람으로부터 손실을 복구하고 있습니다.
Michael Martinez

이것은 매우 비밀스러운 환경입니다. 나쁜 sysadmin이 비밀 소스를 훔쳐서 판매 한 사람을 추적하는 것은 기본적으로 불가능하다고 말합니다. 그가 일부 코드를 훔치고, 좋은 조건을 남기고, 코드를 경쟁자에게 판매하면 어떻게 될까요? 갑자기 우리의 이윤이 쇠퇴하고 있지만 우리는 그 방법을 모릅니다 (이것은 금융, 익명의 시장).
Matt

@ 매트 그것은 책임이있는 사람들이 그렇지 않은 사람들에게있는 것만 큼 위험합니다. 비밀 소스를 가진 사람들은 다른 사람들이 그것을 훔칠 가능성이있을 때 그것을 훔치는 것에 대해 걱정합니다.
Michael Martinez

1

위험을 낮추는 또 다른 방법 (이전에 언급 된 것 대신 사용)은 시스템 관리자에게 좋은 돈을 지불하는 것입니다. 그들이 당신의 IP를 훔치고 떠나지 않도록 너무 잘 지불하십시오.


2
나는 당신이 어디에서 왔는지 알지만, 우리 대부분은 그보다 더 전문적인 윤리를 가지고 있다고 생각합니다. 나는 내 고객의 비밀을 훔치지는 않지만 그들이 필요하다고 느끼지 않을만큼 충분히 돈을 지불했기 때문이 아니라 그렇게하는 것이 잘못 되었기 때문입니다. 나는 그런 느낌을 가진 유일한 사람이 아니라고 생각합니다.
MadHatter

1
벤 프랭클린이 한 번 쓴 것처럼 "당신을 죽이는 것보다 더 많은 비용을 청구하지 마십시오." 그러나 반대로.
Bruce Ediger

누군가에게 청렴성을 부여 할 수는 없습니다. 그것은 작동하지 않을 것입니다. 현명한 사람이 한 번 말했듯이 : 우리는 당신이 어떤 종류의 사람인지를 확립했습니다. 이제 우리는 가격에 대해 흥정하고 있습니다. 그러나 당신은 그들에 의해 올바르게 행동함으로써 누군가의 충성을 얻을 수 있습니다. 지불은 그것의 일부이지만, 많은 것들도 있습니다. 자율성과 숙달-자유와 훈련 및 개발을 제공합니다. 문제는, 그들이 그들을 쫓지 않도록 억압하고, 그것을 고치도록 뇌물을주는 유혹이있을 수 있습니다. 그러나 모든 욕설과 마찬가지로 역효과를 낳을 것입니다.
Sobrique

2
방금 좋은 방법이 아니라 다른 방법을 썼습니다. 누군가 새 sysadmin을 고용 할 때는 신뢰가 있어야한다고 생각합니다. sysadmin은 CEO와 CFO 옆에 있기 때문에 몇 분 안에 회사를 파괴 할 수 있습니다. 좋은 관리자는 적은 돈을 위해 일하지 않을 것입니다 (또는 당신의 누군가?) 작은 돈을 위해 일할 sysadmin은 더 위험합니다.
Ondra Sniper Flidr

1

다음과 같은 세부 사항이 없으면이 질문에 완전히 대답하지 못할 수 있다고 생각합니다.

"제한된"상태를 유지하려는 시스템 관리자는 몇 명입니까?

사람들에게 "sysadmin"액세스 권한이 필요한 것은 무엇입니까?

우선, sudo로 무엇을 할 수 있는지 알고 있어야합니다. sudo를 사용하면 상승 된 권한으로 단일 명령 (또는 "mount -r"로 시작하지만 다른 명령은 허용되지 않는 유사 명령) 만 실행할 수 있습니다. SSH 키를 사용하면 "sudo mount -r / dev / sdd0 / media / backup"과 같이 특정 명령 만 실행할 수 있도록 자격 증명을 할당 할 수 있습니다. 따라서 SSH 키를 가진 사람은 누구나 다른 작업을 수행하지 않고 특정 작업을 수행 할 수있는 비교적 쉬운 방법이 있습니다.

기술자가 고장난 것을 고치기를 원하면 상황이 조금 더 어려워집니다. 이를 위해서는 일반적으로 더 많은 양의 권한이 필요할 수 있으며 다양한 명령을 실행하거나 다양한 파일에 쓰는 데 액세스 할 수 있습니다.

CPanel (여러 ISP에서 사용) 또는 클라우드 기반 시스템과 같은 웹 기반 시스템의 접근 방식을 고려하는 것이 좋습니다. 그들은 종종 전체 기계를 없애서 기계의 문제를 해결할 수 있습니다. 따라서 사람은 많은 양의 데이터를 읽거나 사소한 수정을 결합하는 것과 같이 약간의 변경을 수행 할 필요없이 시스템을 대체하는 명령을 실행할 수 있습니다. 승인되지 않은 백도어를 도입 한 경우). 그런 다음 이미지를 만드는 사람들을 신뢰해야하지만 더 작은 일을하기 위해 신뢰해야하는 사람들의 수를 줄입니다.

그러나 궁극적으로 시스템을 설계하고 최고 수준으로 운영하는 0이 아닌 일부 사람들에게는 일정한 양의 신뢰가 필요합니다.

대기업이하는 일 중 하나는 많은 수의 컴퓨터에서 원격으로 액세스 할 수있는 데이터를 저장하는 SQL 서버와 같은 것에 의존하는 것입니다. 그러면 더 많은 수의 기술자가 일부 컴퓨터에서 전체 루트 액세스 권한을 가지면서 SQL 서버에 대한 루트 액세스 권한을 가질 수 없습니다.

또 다른 방법은 실패하기에는 너무 큰 것입니다. 대 군주 또는 대기업에 보안 사고가 발생하지 않는다고 생각하지 마십시오. 그러나 그들은 다음을 수행하는 방법을 알고 있습니다.

  • 다시 덮다,
  • 손상을 제한하십시오 (유용한 물건을 분리하여)
  • 소송 위협을 포함한 대책을 마련
  • 바람직하지 않은 언론 노출을 제한 할 수있는 프로세스가 있으며, 개발중인 부정적인 스토리의 스핀에 영향을 미치는 방법을 계획합니다.

기본 가정은 발생하는 피해가 단순히 비즈니스 수행의 위험과 비용이라는 것입니다. 이들은 지속적으로 운영 될 것으로 예상하고, 수년에 걸친 지속적인 개발 및 개선은 단일 사건이 실제로 장기간에 걸쳐 장기적 가치에 영향을 미칠 정도의 피해를 제한 할 것입니다.



0

루트 관리 시스템을 두 개의 키로 잠긴 방에 놓고 두 관리자 각각에 대해 하나씩 만 제공하십시오. 관리자는 항상 서로 협력하여 서로의 활동을 관찰합니다. 루트로 로그인 할 개인 키를 포함하는 유일한 시스템이어야합니다.

일부 활동에는 루트 권한이 필요하지 않을 수 있으므로 작업의 일부만 "페어 프로그래밍"을 위해 해당 공간으로 이동하면됩니다.

또한 아무도 혼자서 일하지 않도록하기 위해 주로 그 방에서 활동을 비디오 녹화 할 수 있습니다 (많은 것이 쉽게 눈에 띄게 나타남). 또한 작업 공간이 두 사람이 화면을 쉽게 볼 수있는 곳인지 확인하십시오 (큰 글꼴이있는 큰 TV 화면 일 수 있음).

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