데몬에서 비밀번호를 묻는 메시지를 표시하는 방법(Xsession, keyloggersafe에서)?

데몬에서 비밀번호를 묻는 메시지를 표시하는 방법(Xsession, keyloggersafe에서)?

설명하다:

  • XSession 내에서 작업합니다.
  • 일부(배경)데몬이 나에게 비밀번호를 묻는 메시지를 표시해야 합니다.

Xsession의 팝업을 사용하여 데몬이 비밀번호를 묻는 메시지를 표시하도록 하려면 어떻게 해야 합니까?

데몬에는 일반적으로 X 세션에 대한 링크가 없으므로 비밀번호 프롬프트 팝업을 생성하기가 어렵습니다.

답변에 대한 몇 가지 아이디어:

  • 애플릿X-prompt-popup-window를 최고로 만드는 (포크/하위) 데몬을 실행합니다. 작을수록 좋습니다 :)
  • 안전 제일이것이 가능할지는 의문이지만, 해당 X 세션에서 실행 중인 다른 응용 프로그램이 암호를 입력할 때 키로그를 기록할 수 없도록 보장하는 솔루션이라면 높이 평가될 것입니다.

답변1

이러한 유형의 문제는 일반적으로 서비스 데몬과 네트워크를 통해 통신하는 사용자 인터페이스라는 두 가지 별도의 바이너리로 처리됩니다.UNIX 도메인 소켓(또는 동일한 시스템에서 실행되지 않는 경우 웹 소켓). 대표적인 예가 OpenSSH입니다 . 수행 방법을 확인 ssh-agent하고 상호 작용하여 수행 방법을 알아보세요. "UNIX 도메인 소켓"을 "로 바꾸십시오.ssh-addsshD 버스“스타일리시함을 원하거나 구현해야 하는 추가 기능이 필요한 경우.

작업 요청이 데몬 자체에서 오는 경우(제가 올바르게 이해한 경우) 이는 약간 까다롭습니다. 이는 귀하의 특별한 경우입니다. UI 부분은 때때로 X 세션 중에 생성되어 데몬에 등록되어야 하며, 데몬이 입력이 필요하다고 판단하면 UI 부분에 작업을 수행하도록 요청합니다. 마지막 두 문장은 실제로 D-Bus가 유용할 수 있는 부분입니다.

반면에 데몬에서 암호를 적극적으로 요청하는 것이 올바른 작업 방법인지 여부를 신중하게 고려해야 합니다 . 데몬은 일반적으로 요청을 생성하는 것이 아니라 요청에 응답하는 서비스입니다. 사용자가 비밀번호를 푸시해야 한다고 결정할 때 UI가 비밀번호를 사전에 푸시하도록 하는 것이 더 나을 수도 있습니다. 나는 이것이 유일하게 좋은 접근 방식이라고 말하는 것이 아니라 먼저 철저하게 생각해야 한다는 것입니다.

보안에 관해서는 모두 당신이 얼마나 편집증적인 사람이 되고 싶은지에 달려 있습니다. X를 사용하면 키보드를 잡을 수 있습니다(참조XGrabKeyboard(3)매뉴얼 페이지), 이는 합리적인 수준의 보안을 제공해야 합니다. 또는 더 나은 표현은 이 비밀번호를 사용하지 않으면 비밀번호를 통제할 수 없다는 것입니다. 다시 말하지만, ssh가 좋은 예입니다. x11-ssh-askpass도우미를 살펴보세요. 그것은홈페이지더 이상 작동하지 않는 것 같지만 다음과 같은 여러 곳에서 소스 코드를 찾을 수 있습니다.openSUSE 빌드 서비스.

실제로 키보드를 잡고 입력된 비밀번호를 표준 출력에 출력하기 때문에 직접 사용할 수도 있습니다. 따라서 Askpass 도우미를 생성하고 stdout올바르게 기억하는지 확인하기만 하면 됩니다.readpass.cOpenSSH에서그것을 수행하는 방법에 대한 몇 가지 아이디어를 제공해야합니다.

이 모든 것이 약간 지나치게 복잡하고 안전하지 않은 것처럼 보일 수 있지만 고려해야 할 몇 가지 사항이 있습니다.

  1. OpenSSH 및 GPG와 같이 일반적으로 매우 안전하다고 간주되는 일부 프로젝트에서는 이 접근 방식을 사용합니다.

  2. 안전딱딱한. 자체 보안 솔루션을 출시하면 일반적으로 어떤 식으로든 문제(또는 재난)가 발생합니다(기업에서도 일반적일 수 있음:"이런 멋진 것이 있습니다." - "와, 이것을 새로운 회사 도구로 바꾸자" - 5년 후: "완전히 확장 불가능/고장/안전하지 않습니다/... - 누가 이걸 회사로 만들 수 있겠습니까? 폭넓은 솔루션?”웃음의 시간을 없애기 위해 "전사적 솔루션"을 "우리의 주력 제품"으로 교체하십시오. Canonical Security SE Q&A도 참조하세요.https://security.stackexchange.com/questions/18197/why-shouldnt-we-roll-our-own그리고https://security.stackexchange.com/questions/2202/lessons-learned-and-misconceptions-regarding-encryption-and-cryptology.

  3. 키보드 스크래핑은 다른 응용 프로그램이 스택의 더 깊은 곳(예: X 응용 프로그램 계층 아래)에서 키보드 이벤트를 도청하지 않는다는 의미는 아닙니다. 그러나 이러한 응용 프로그램에는 일종의 루트 액세스가 필요할 가능성이 높으므로 시스템에 비슷한 것이 있으면 passwords.txt홈 디렉터리 중간에 있는 일반 텍스트 파일에 비밀번호를 입력하는 것이 좋습니다.

관련 정보