루트 공격으로부터 사용자 이름과 비밀번호를 보호하는 방법

루트 공격으로부터 사용자 이름과 비밀번호를 보호하는 방법

sudo나에게 권한이 있지만 관리자에게도 원격 루트 액세스 권한이 있는 컴퓨터에서 "내" 웹 서비스 및 계정에 안전하게 액세스하려면 어떻게 해야 합니까?

세부 사항

(대형) 폐쇄/제한 LAN에 연결된 데스크탑을 사용합니다. 시스템에 로그인하더라도 LAN에 연결되어 있어야만 성공할 수 있습니다.

물론 관리자는 원격 루트 액세스 권한을 갖습니다(비밀번호 없는 SSH 키 기반 인증을 변경하고 선택하는 것이 좋습니다). 또한 내 사용자 ID는 sudoers 그룹에 할당됩니다. 즉, 파일에는 다음이 /etc/sudoers있습니다.

userid ALL=(ALL) NOPASSWD: ALL

웹메일 클라이언트와 Firefox 계정에 액세스하기 위해 비밀번호를 사용하는 것을 주저합니다. 그리고 더.

질문

  • 외부 웹 서비스에 액세스하기 위한 비밀번호가 나 이외의 다른 사람으로부터 보호되도록 하려면 어떻게 해야 합니까?

  • 예를 들어, 이제 권한이 생겼으니 sudo실행 중인 키로거가 없는지 어떻게 확인하나요?

  • SSH 키를 기반으로 비밀번호 없이 다양한 서비스에 접근할 수 있습니다. 내 비밀번호가 기록되지 않도록 어떻게 보호하나요?

  • 이와 같은 사용 사례에서 2FA가 외부 서비스에 액세스하는 것이 안전한가요?

  • "다른 사람이 원격으로 액세스할 수 있는 Linux 기반 컴퓨터 사용에 대한 보안 관행" 모음이 있습니까 root?

답변1

당신은 할 수 없습니다.

루트 사용자는 시스템에 대한 전체 액세스 권한을 갖습니다. 여기에는 키로거를 실행하고, 파일을 읽고, 실행하는 프로그램이 사용자 인터페이스에 표시하지 않고 작업을 수행하도록 하는 가능성이 포함됩니다.가능한어떤 일이 일어나는지는 귀하의 환경에 따라 다르므로 이에 대해 말씀드릴 수 없습니다. 2FA도 세션 하이재킹 가능성 때문에 안전하지 않습니다.

일반적으로 컴퓨터가 안전하지 않다고 의심되면 해당 컴퓨터를 사용하여 서비스에 액세스해서는 안 됩니다.

답변2

나는 받아들인 대답이 기술적으로 정확하고 아마도 오늘날 사용되는 일반적인 Unix/Linux 시스템의 99%에 적합하다고 생각합니다. 그래도 우리는 좀 더 차별화된 관점으로 문제에 접근하고 실제 문제를 목표로 삼을 수 있습니다("내 컴퓨터의 모든 작업을 루트에서 수행할 수 있음"이 아니라 "내 자신을 어떻게 보호합니까?").

@ceph3us 연결됨https://security.stackexchange.com/questions/7801/keeping-secrets-from-root-on-linux댓글에. 이 질문과 답변은 비밀 유지 가능성에 대해 논의하며 root오늘 공개됩니다. 정말 편집증이 있어서 컴퓨터를 다시 설치해야 하는 경우 다음 중 몇 가지를 시도해 볼 수 있습니다. 즉, SELinux에는 매우 엄격한 설정이 있습니다.

귀하의 경우 SELinux에는 큰 단점이 있습니다. 원격 관리자는 사용자의 컴퓨터를 관리해야 하기 때문에 원격 관리자입니다. 이것은 그들이 의미한다필요무엇이든 완벽하게 제어할 수 있으며 기본적으로 보안을 유지하는 것을 포함하여 컴퓨터로 무엇이든 할 수 있습니다. 이는 기술적인 문제가 아니라 조직적인 문제입니다. SELinux가 설치되어 있더라도 작업을 수행하려면 여전히 전체 액세스 권한이 필요합니다.

문제를 넘어서기 위해 root질문을 다음과 같이 바꿔 보겠습니다. 원격 관리자가 수행해야 하는 모든 작업(시스템의 보안 측면 구성 및 강화 포함)을 수행할 수 있는 충분한 권한을 가진 원격 관리자는 시스템의 보안 측면 외부에 있습니다. 정의에 따르면. 어떠한 기술적 조치도 이를 바꿀 수 없습니다.

따라서 실제로 제가 볼 수 있는 유일한 각도는 처음부터 시작하여 자체 설치로 머신을 다시 설치하는 것입니다. 이제 내 말을 들어보세요. 내가 다른 회사에서 경험한 두 가지 상황이 있습니다. 하나는 대부분의 사람들(주로 Unix가 아닌 사람들)이 신경 쓰지 않지만 회사가 인정하는 경우입니다.일부유능하고 신뢰할 수 있는 사람이 자신의 기계를 작동할 수 있습니다. 당신이 이들 중 하나라면 당신은 당신의 자유를 위해 그들의 잠재적인 서비스를 교환하는 것입니다. 귀하가 기계를 인수한 후에 그들은 종종 기계에 대한 지원 제공을 거부할 것입니다. 이것이 바로 당신이 원하는 것입니다.

원하는 경우 이를 강화할 수 있으며, 이전 관리자는 다른 스크립트 키디에 비해 컴퓨터를 해킹할 가능성이 특별히 높지 않습니다.

이러한 회사는 내부 LAN 자체가 특별히 안전한 장소는 아니라는 점을 이해하고 있습니다. 즉, LAN의 모든 시스템(회사 관리자 팀에 의해 강화된 경우에도 불구하고)을 가능한 공격자로 간주합니다. 이 경우 그들은 아마도 당신이 자신의 물건을 설치하는 것에 별로 신경 쓰지 않을 것입니다.

또 다른 시나리오는 회사에서 단순히 이를 금지하는 것입니다. 그렇다면 이제 그 이유를 알아볼 차례입니다. 그들은 당신이 기계를 망가뜨리고 도움을 청할 것을 걱정합니까? 그들은 그렇게 하기 어려울 것입니다. 당신이 스스로를 돌볼 것이라고 확신시키십시오. 라이센스 문제가 있나요? 리눅스에서? 난 그렇게 생각하지 않아. 그들은 당신이 인터넷에서 악성 코드를 실행하거나 물건을 설치할 수 있다고 우려하고 있습니까? 이미 이 작업을 수행할 수 있으며 이미 루트 액세스 권한이 있습니다. 키로거/스크린 로거가 보는 동안 기계가 악의적인 작업을 수행하도록 할 수 있다고 생각합니까? 글쎄요, 당신은 아마도 NSA에서 일하고 그들은 자신의 사람들을 감시할 것입니다(농담일 뿐입니다. NSA 내부에서 무슨 일이 일어나고 있는지 모르겠습니다;)).

내가 어디로 가는지 이해해 주셨으면 좋겠습니다. 자신의 설치를 사용하고 있고 액세스 권한이 없는 경우보다 해당 설치(자신이 전체 루트 액세스 권한을 갖고 있는 경우)를 사용하는 것이 더 안전하다고 가정할 실제 이유가 없습니다.

그들을 설득하려고 노력하거나 그들이 그것을 믿지 않는 이유를 알아내십시오. 아마도 그것은 당신에게 뭔가를 말해줄 것입니다.

관련 정보