원격 Linux 관리자 컨설턴트-모범 사례 [폐쇄]


19

우리는 인도의 컨설턴트를 Linux 관리자로 고용하고 있습니다. 우리는 그를 잘 모르고 보안 감사를 포함하여 모든 서버에 대한 루트 액세스 권한이 필요합니다.

우리가 어떤 악의적 인 활동으로부터 보호받을 수 있도록 그러한 작업을 위해 원격 컨설턴트를 가능하게하는 가장 좋은 방법은 무엇입니까?

미리 감사드립니다.


66
다른 사람을 신뢰하지 않으면 서버에 대한 액세스 권한을 부여하지 마십시오. 기간. 믿을 수있는 사람을 고용하십시오.
EEAA

6
이것이 상류층에 의해 지시되는 행동인지, 당신이 그것에 대한 탄약 / 좋은 주장을 찾고 있는지 궁금해 할 수 없습니까?
Matt

5
LOL ... 이것이 좋은 생각입니까?
ewwhite

5
누군가에게 서버에 대한 루트 액세스 권한을 부여하는 경우 개인이 루트 액세스 권한이있는 머신의 악성 활동으로부터 자신을 체계적으로 보호 할 방법이 전혀 없습니다.
Craig

3
오프라인 백업을 잘
CaffeineAddiction

답변:


55

하지 마십시오 . 또한, 많은 위험에로있어 부적당 같은 악의 나는 회사가이 문제를 처리하는 전형적인 방법을 본 적이 무엇부터.

인도에는 아마도 훌륭한 시스템 관리자가 있지만 많은 회사들이 하는 방식 은 끔찍합니다.

만약 당신이 바디 샵을 겪고 있다면, 당신은 그들에게 아주 큰 상처를 줄 것입니다. 나는 3 명과 이야기를 나,는데, 그 중 한명이 내가 일한 사람 중 어느 누구도 기술적 인터뷰를하지 않았습니다.

그러므로, 누군가를 원격으로 고용해야한다면, 신을 위해서 그를 직접 인터뷰하고 그의 일을 알고 있는지 확인하십시오. 맹목적으로 누군가에게 양도하기에는 시스템 관리가 너무 중요합니다

이제 "불확실성"부분을 다루었으니

행정은 꽤 광범위한 문구입니다. 그리고 루트 액세스 권한이있는 사람은 무엇이든 할 수 있습니다 . 이제 개인적으로 관리자 계정을 만들고 sudo를 통해 자신을 향상시킬 수있는 능력을 부여하는 것이 더 좋습니다 (구성 관리 시스템이 많은 서버가있는 경우 처리해야 함). 그것은 심지어 어느 정도의 신뢰에 의존 한다는 것 입니다. 불만족스러운 시스템 관리자가 할 수있는 엄청난 피해에 대한 많은 이야기가 있습니다. 모든 비밀번호를 변경 하시겠습니까? 물론 결국에는 들어갈 수 있지만 사소한 것은 아니며 아마도 절약하는 것보다 비용이 많이들 것입니다.

따라서 현지인을 고려하십시오. 그렇지 않은 경우 자신조사 하고 직접 고용 한 사람을 고려 하십시오 .


35
나는 누군가 12 개의 시간대를 멀리 내버려 두지 않고 나에게서 한 문 아래로 남자 에게 특권을 제공 할 수있는 충분한 시간을 가지고 있다. 내 생각에는 누구나 이것을 옵션으로 고려할 것이라고 생각합니다.
EEAA

7
바디 샵을 방문하는 경우 누가 루트 자격 증명을 실제로 보유하고 있는지 알지 못할 수도 있습니다. 오늘날 시스템에서 작업하는 사람이 내일 작업 할 사람과 동일한 사람이라는 보장은 없습니다. 이 사람들이 문자 그대로 루트 수준의 암호를 분명하게 이메일로 보내지 않을 것이라는 보장은 없습니다 (너무 많이 본 적이 있습니다).
Craig

2
아무도 현대 리눅스 배포판에 루트로 로그인해서는 안됩니다. 루트 계정에는 비밀번호가 없어야합니다. 대신, su자신을 루트 권한으로 승격시킬 권한 이있는 사용자가 있어야합니다 . 누군가 "루트 액세스"가 필요하다고 말하면 이것이 바로 그들이 요구하는 것입니다. 이 사람이 "루트 비밀번호"가 필요하다고 말하면 어쨌든 그 일을 할 수있는 능력이 없습니다.
Monty Harder

@MontyHarder 당신은 (확실한) 사용자가 sudo자신을 루트로 승격시킬 권한이 있어야한다는 것을 의미 합니까? 그렇지 않다면 su루트 암호를 가지고 배포하지 않고 자신을 루트로 승격시키는 데 사용 하는 모범 사례를 설명 할 수 있습니까?
MadHatter는

2
많은 이해가되는 @MontyHarder는 처음 말한 것이 아닙니다. sudosu완전히 다른 두 가지 있습니다. 설명해 주셔서 감사합니다.
MadHatter는 Monica

33

언급했듯이 이것을하지 마십시오.

자신을 보호 할 수있는 유일한 방법은 다음과 같이하는 것입니다.

  1. 컨설턴트가 선택한 구성 관리 시스템을 사용해야한다고 주장하십시오.
  2. 컨설턴트는 완료해야하는 작업에 대한 구성 관리 매니페스트를 작성합니다.
  3. 컨설턴트는 테스트 시스템에서 매니페스트를 테스트합니다.
  4. 준비되면 컨설턴트는 구성을 코드 저장소에 커미트합니다.
  5. 모든 변경 사항은 귀하의 직원 또는 첫 번째 컨설턴트와 전혀 관련이없고 연락 할 방법이없는 다른 컨설턴트 가 검토 합니다.
  6. 변경 사항이 사인 오프되면 사용자 또는 직원이 서버에 변경 사항을 적용합니다. 원래 컨설턴트 시스템에 액세스 할 수 없습니다.

분명히 말하지만, 이것은 매우 어색하고 비효율적 인 프로세스이지만 신뢰할 수없는 개인의 작업 수락을 주장하는 경우 물건을 처리하는 한 가지 방법입니다.

그래도 추천 한 것처럼 신뢰할 수있는 알려진 개인을 고용하는 것이 훨씬 좋습니다.


왜 안돼? 원격으로 일하면서 약 +300 대의 전용 서버를 관리하고 있으며 한 시간 안에 원하는 경우 모든 것을 파괴 할 수 있습니다. 그러나 물론 나는 해고 당하더라도 그렇게하지 않을 것입니다. 나는 백업을 할 책임이 있으며, 최고 권한을 갖고 있으며 (나뿐만 아니라 우리 둘 다), 언제라도 악의를 가질 수 있습니다. 우리가하지 않는 이유는 도덕과 윤리입니다. 우리는 회사와 직원 그리고 우리의 일을 전반적으로 사랑합니다. 여기서 중요한 것은 누군가를 신뢰하고이 직업에 대한 도덕적 인 사람을 찾는 것입니다.
도망자

@fugitive 당신은 다른 상황에 대해 말하고 있습니다. 상담하려는 회사가 귀하를 신뢰한다고 가정합니다. 그렇지 않으면 귀하가 보유한 권한을 부여하지 않았을 것입니다. OP의 경우,이 컨설턴트를 신뢰하지 않는 것이 분명합니다. 따라서 중요한 시스템에 대해이 사람에게 권한을 부여하지 않는 것이 좋습니다.
EEAA

글쎄, 신뢰를 얻어야합니다. :)
도망자

10

우리가 어떤 악의적 인 활동으로부터 보호받을 수 있도록 그러한 작업을 위해 원격 컨설턴트를 가능하게하는 가장 좋은 방법은 무엇입니까?

법적 관점에서 : 사전 실사와 계약 위반에 대한 엄격한 처벌.

제공된 이력서 확인 사실, 교육 성적 증명서 및 인증 번호 요청, 참조 확인 및 전화, 인터뷰, 심지어는 사내 직원 (및 / 또는 서비스 제공 업체)을 고용 할 때도 적용되는 일반적인 좋은 고용 관행으로 시작합니다. 신원 조회 또는 보안 상담 등

그런 다음 당근을 적용 하십시오 : 공정한 가치를 지불하고, 매력적인 일, 놀라운 동료, 좋은 근무 조건 및 혜택 등 ( 땅콩을 지불하면 원숭이를 얻습니다. )

그리고 스틱 : 고용 / 서비스 계약 조건을 위반하면 변호사를 아프게하고 파산하게됩니다!

불행히도 국경과 시간대를 넘어갈 때 위의 두 가지가 점점 더 어려워집니다.

누군가를 고용하기로 결정하면 :

  • 명확한 지시 사항과 정책에 따라 사람들은해야 할 것과하지 말아야 할 것을 알고 있어야합니다.
  • 최소한의 액세스 원칙이 적용되어 사람들이 (의도적으로 또는 의도적으로)하지 말아야 할 일을하는 것을 어렵게 만듭니다. 일반적인 시스템 관리자의 경우 여전히 전체 액세스 권한을 의미하지만 보안 감사자는 전체 관리자 액세스 권한이 필요하지 않지만 기존 관리자에게 보고서를 작성하는 데 필요한 세부 정보를 수집하는 스크립트를 실행하도록 요청할 수 있습니다. 이러한 스크립트는 미리 쉽게 확인할 수 있습니다.
  • 신뢰하지만 확인하십시오. 기존 직원이 새 직원의 업무를 확인하고 항상 감사 정보를 수집하도록하십시오.

이 질문 은 고객이 저를 위해 원격 액세스를 설정하기 위해 일반적으로 수행하는 작업에 대해 자세히 설명합니다.


3
"땅콩을 지불하면 원숭이를 얻습니다" 또는 코끼리. 그것을 생각하게되었지만, 그것이 원숭이보다 낫거나 나쁜지 확실하지 않습니다.
CVn

또한 상대방이 다른 국가에있는 경우 답변의 "고착"부분을 적용하기가 더 어려울 수 있습니다. 먼저 지식이 풍부하고 경험이 풍부한 변호사와 상담하여 문제가 발생할 경우 어떤 가능성이 있는지 확인해야합니다.
user121391

또한 사건 이후의 집행은 아마도 당신이 처음에 신뢰할 수있는 파티와 협력하는 것보다 더 많은 것을 짜증나게 할 것입니다. 마찬가지로, 당신은 당신이 자동적으로 기울어지지 않는 사람과 당신이 본능적으로 당신이 믿지 말아야 할 사람을 본능적으로 끌 수있는 사람들이 있습니다.
Craig

7

내가 보지 못한 것을 염두에두고 자신을 보호하는 체계적인 방법이 있습니다.

가상화 하이퍼 바이저 (VMware, Xenserver, Hyper-V 등)에서 Linux 인스턴스를 VM으로 호스팅합니다.

원격 관리자에게 하이퍼 바이저에 대한 액세스 권한을 부여하지 마십시오. 원격 관리자는 VM 자체에 대한 루트 액세스 권한 만 갖습니다.

DO 하이퍼 바이저 기반 백업 시스템 (Unitrends, Veeam, vSphere Data Protection 등) 구현

각 Linux VM의 하루에 최소 하나의 스냅 샷을 유지하여 필요하다고 생각하는 시간으로 되돌아갑니다.

원격 관리자에게 백업 리포지토리에 대한 쓰기 권한을 부여하지 마십시오.

이러한 작업을 수행하면 원격 관리자가 제어 할 수없는 각 Linux 인스턴스의 백업 스냅 샷이 생성됩니다. 원격 관리자가 의도적이든 우발적이든 비꼬는 일을하는 경우, 어떤 일이 일어 났는지 평가하기 위해 항상 문제가 발생하기 전에 백업을 마운트하여 깨끗한 상태로 복구 할 수 있습니다.

이것은 하이퍼 바이저 사이드 채널 공격에 대한 증거가 아니며, 공격자가 루트 액세스 권한을 가진 VM에서 잠재적으로 마운트 될 수 있습니다.

백업이 제 시간에 충분히 돌아 가지 않으면 보호되지 않습니다.

하이퍼 바이저 및 백업 인프라를 제어하는 ​​사람을 철저히 신뢰해야합니다.

클라우드 (AWS, Azure 등)에서이 작업을 수행하는 경우 구현 세부 사항이 다르지만 일반적인 개념은 동일합니다.

본질적으로, 비즈니스 파트너가 아닌 당사자간에 책임을 분담하고 신뢰하는 사람을 고용하십시오.


1
모든 작업을 완료 할 때까지는 이미 시스템 관리자이고 원격 부족 또는 PFY를 고용하고 있습니다.
Criggie

3
완전히 아닙니다. 하이퍼 바이저와 백업 만 관리하고 있습니다. 물론, 아무것도 아닙니다. 그러나 반드시 같은 스킬 셋이나 관리 부담은 아닙니다. 가상화를 수행하는 경우 (우리는) 개별 VM에서 발생하는 모든 일을 담당하는 다른 사람이나 사람이있을 수 있습니다.
Craig

1
일반적인 아이디어는 좋지만, 매일 모든 변경 사항을 확인하고 변경 내용을 본질적으로 매일 전체 감사하지 않는 한 악의가 아니라 무능 / 오류 (생산 데이터베이스 삭제 등)에 대해서만 도움이됩니다. 또한 손상은 기술적 인 내용과 관련이 없을 수 있습니다. 예를 들어 고객 데이터 또는 영업 비밀은 이러한 방식으로 만 대응할 수 없으므로 이러한 방식으로 격리 할 수 ​​없습니다.
user121391

@ user121391 : 특히 데이터 유출 문제에 대해서는 동의하지 않습니다. 데이터가 수집되면 완전히 제어 할 수 없습니다.
Craig

-1

자신의 사용자 계정을 부여하십시오. 그런 다음 액세스 권한이 필요한 항목을 정확히 찾아서 해당 액세스 권한 만 부여하십시오. 예를 들어, Apache 웹 서버를 재구성해야하는 경우 ACL을 사용하여 Apache 구성 파일에 대한 쓰기 액세스 권한을 부여 sudo하고 Apache 서비스를 다시 시작하지만 루트로 다른 명령을 실행하지 않도록 구성하십시오 . 언제나 그렇듯이 액세스 권한이있는 항목 (이 경우 Apache 구성 파일)의 백업을 유지하십시오.


3
루트로 실행되는 Apache를 구성하고 다시 시작할 수있는 권한이 있으면 루트 권한이 부여됩니다. 아파치 프로세스에 의해 임의의 바이너리를 실행하는 것, 예를 들어 로그를 파이프에 파이프하는 것만 큼 쉽습니다. 루트가 아닌 상태로 실행하고 권한있는 포트에 바인딩 할 수 있도록 Apache를보다 효과적으로 설정하십시오. 그것이 과거의이 상황에서 내가 한 일 입니다.
MvG
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.