Ubuntu 17.10 원격 디스크 잠금 해제

Ubuntu 17.10 원격 디스크 잠금 해제

Ubuntu의 내장 디스크 암호화를 사용하여 원격 잠금 해제를 설정하는 방법에 대해 질문이 있습니다.

Dropbear를 사용하여 이 작업을 수행할 수 있는 방법이 있다는 것을 알고 있지만 확실하지 않습니다.

이것이 내가 하고 싶은 일이다.

우리 회사는 미국과 캐나다에서 여러 대규모 암호화폐 채굴장을 관리하고 있습니다. 우리는 시설 내 서버에 전용 마이닝 소프트웨어를 설치했습니다.

이제 이 소프트웨어는 Python으로 작성되었으므로 클라이언트가 내 소프트웨어를 모니터링할 수 있지만 코드를 얻을 수는 없는 방법이 필요합니다.

우리는 클라이언트에게 완전히 암호화된 블랙박스를 제공함으로써 이를 수행하며, 우리만이 키를 알고 있습니다. 하지만 여기에 문제가 있습니다.

시스템이 재부팅되면 현재 누군가가 수동으로 키를 입력해야 합니다. 또한 관리자만이 서버의 디스크 암호화 키에 액세스할 수 있기 때문에 시스템이 재부팅될 때마다 기술자가 나타나도록 할 수 없습니다.

우리가 해야 할 일은 시스템이 재부팅될 때 키 서버로 SSH를 통해 연결하는 것입니다(IP 제한은 특정 IP 주소에서 들어오는 연결만 허용하도록 설정됩니다). 드라이브 잠금을 해제하고 드라이브 잠금을 해제하는 키 파일을 검색합니다. 그런 다음 시설 서버에서 키 파일을 삭제하십시오.

dropbear를 사용하여 이 작업을 수행할 수 있다는 것을 알고 있지만 제가 본 모든 예에서는 키 서버에서 암호화된 클라이언트로 ssh 명령을 실행해야 합니다. 우리는 그 반대가 되기를 원하므로 클라이언트는 키 서버에서 키 파일을 요청합니다.

누군가 이 작업을 수행하는 방법에 대한 좋은 튜토리얼을 알고 있거나 누군가가 나에게 올바른 방향을 알려줄 수 있다면 그것은 나와 팀에 큰 도움이 될 것입니다.

감사해요!

답변1

훌륭한 보안에는 큰 책임이 따릅니다.

당신이 원하는 것은 케이크를 먹고 그것을 먹는 것입니다. 키를 수동으로 입력하고 싶지만 자동화하고 싶으므로 세 가지 가능성이 있습니다.

  • 서버에 원격 KVM(키보드-비디오-마우스) 기능(원격 콘솔 액세스라고도 함)이 있는지 확인하십시오. 대부분의 최신 서버에는 다음이 내장되어 있습니다.이는 여전히 수동 작업이지만 이제는 약간의 추가 비용을 내고 원격으로 수행할 수 있습니다.단, VPS 솔루션은 제외.
  • 상용 저장 암호화 소프트웨어를 배포하여 원격으로 키를 입력하세요.이는 완전히 자동화되고 규칙 기반이며 보안 전문가의 검토를 받습니다.
  • 설정 변경: 안전하지 않은 부팅을 허용한 다음 마운트하고 /, 원격 서버에 연결하는 시작 스크립트를 시작하고, 암호화된 파티션을 수동으로 마운트하도록 원격 리소스에 경고합니다.FLOSS, 고집한다면 사용해도 됩니다 물방울곰하지만 저는 귀하가 선택한 배포판의 SSH 클라이언트를 계속 사용하겠습니다. 그러면 자동으로 업데이트됩니다.언제앞으로 보안 문제가 발생한다면...

답변2

저는 실제로 Mandos라는 플러그인을 사용하여 이 문제를 해결했습니다. Mandos는 개방형 PGP 및 SSH 터널을 사용하여 안전하게 키를 획득하고 이를 시스템에 입력합니다. 또한 물리적 액세스와 관련된 보안 문제를 이해하지만 외부 SSH 없이(잠금 해제 후 즉시 닫힘) 전체 디스크 암호화와 2단계 하드웨어 잠금 해제를 통해 관리자가 활성화된 계정에 들어가는 것은 물리적 액세스를 사용하더라도 거의 불가능합니다. 액세스할 수 없습니다. 상자를 열 수 없습니다. 암호화 키도 서버에 저장되지 않습니다. 이는 여기서 목적을 달성하지 못하기 때문입니다. 나는 이 시스템에 대한 철저한 감사를 수행하고 이를 잡기 위해 요청을 스니핑하려고 시도했지만 아무 것도 통과하지 못했습니다.

또한 이 시스템은 두 엔드포인트 모두에 매우 엄격한 IP 제한을 적용하고 Meraki 장비로 보호되는 VPN을 통해 통신합니다. 트래픽을 스니핑하면 누구나 해독하는 데 오랜 시간이 걸리는 암호화된 쓰레기가 생성됩니다.

우리는 상자 중 하나를 외부 보안팀에 전달했지만, 그들 역시 그것을 해독하지 못했습니다.

키 서버 자체도 PCI-DSS와 호환됩니다.

중요한 점은 코드가 제대로 작동하려면 광산 네트워크에서 로컬로 실행되어야 하는 시스템을 제공해야 한다는 것입니다. 이로 인해 SaaS로 실행되지 않았기 때문에 고객에게 코드 베이스를 제공해야 하는 문제(Python은 바이너리로 컴파일될 수 없음)가 발생했습니다. 우리의 지적 재산을 보호하기 위해 우리는 효과적인 시스템을 찾아야 했습니다.

관련 정보