암호화 된 파일 시스템으로 Linux 서버 자동 부팅 및 보안


16

새로운 우분투 서버를 설치하고 있는데 도난으로부터 서버의 데이터를 보호하고 싶습니다. 위협 모델은 하드웨어를 원하는 공격자이거나 데이터를 원하는 순진한 공격자입니다.


이 섹션에 유의하십시오.

위협 모델에는 데이터를 원하는 스마트 공격자는 포함 되지 않습니다 . 나는 그들이 다음 중 하나 이상을 할 것이라고 가정합니다.

  1. 기계를 계속 작동 시키려면 UPS를 전원 케이블에 연결하십시오.

  2. 호스트와 네트워크 연결을 유지하기에 충분한 범위의 무선 네트워크를 통해 트래픽을 브리지 할 컴퓨터와 네트워크 종료 지점 사이에 이더넷 브리지 쌍을 삽입하십시오.

  3. 상자를 열고 메모리 버스의 프로브를 사용하여 재미있는 물건을 찾으십시오.

  4. TEMPEST 장치를 사용하여 호스트가 수행중인 작업을 조사하십시오.

  5. 법적인 명령 (예 : 법원 명령)을 사용하여 데이터를 공개하도록 강요

  6. 기타


그래서 내가 원하는 것은 암호화 된 파티션의 디스크에있는 데이터의 일부 또는 이상적으로 모든 종류의 외부 미디어에 액세스하는 데 필요한 핵심 자료를 갖는 것입니다. 키 자료를 저장하기 위해 생각할 수있는 두 가지 방법은 다음과 같습니다.

  1. 네트워크를 통해 액세스 할 수있는 원격 호스트에 저장하고 부팅 프로세스 중에 검색 할 수 있도록 네트워크를 충분히 구성하십시오. 검색은 보안 호스트에 할당 된 IP 주소에만 허용되며 (따라서 다른 네트워크 연결에서 부팅 된 경우 암호화 된 데이터에 대한 액세스를 허용하지 않음) 컴퓨터를 도난당한 것으로 밝혀지면 관리자가 비활성화 할 수 있습니다.

  2. 호스트 자체보다 도용하기가 훨씬 어려운 USB 저장 장치에 저장하십시오. 방의 다른 구석 또는 다른 방으로 연결되는 5 미터 USB 케이블의 끝과 같이 호스트에서 원격으로 찾으려면 공격자가 가져갈 가능성이 크게 줄어들 것입니다. 고정식으로 연결하거나 금고에 넣는 등의 방식으로 보안을 강화하는 것이 훨씬 효과적입니다.

그래서 이것을 설정하는 옵션은 무엇입니까? 이전에 말했듯이 모든 파일 (/ etc가 포함되지 않은 작은 부팅 파티션 제외)을 암호화하여 파일을 넣는 위치 또는 파일 위치에 대해 걱정할 필요가 없습니다. 실수로 착륙했습니다.

차이가 있다면 우분투 9.04를 실행하고 있습니다.


1
위협 모델이 세 글자로 된 유니폼을 입습니까? :)
Sven

그들은 유니폼을 입지 않습니다. :-) 그러나 진지하게; 은밀한 유무에 관계없이 모든 정부 기관은 하드웨어를 빨리 잡을 수있는 것만이 아니라 모든 하드웨어를 사용할 수있을만큼 똑똑 할 것입니다.
Curt J. Sampson

1
귀하의 질문은 모순되는 것 같습니다. 먼저 "도난 방지를 위해 데이터를 보호하고 싶습니다"라고 말한 다음 "데이터를 원하는 스마트 공격자는 포함하지 않습니다"라고 말합니다. 데이터에 관심이 있습니까?
Zoredache

1
나는 그것에 관심이있다. 비슷한 비용으로 현명한 공격자뿐만 아니라 현명한 공격자로부터 보호 할 수 있다면 좋겠습니다. 그렇지 않다면 적어도 누군가가 재활용 상점에서 중고 드라이브를 사고 그 고객의 모든 데이터를 발견하는 상황을 피합니다.
Curt J. Sampson

실제로 위협 모델을 통해 생각하면 +1, 비슷한 질문을 가진 많은 사람들이 잊어 버리는 것.
sleske

답변:


8

Mandos라는 옵션 1의 영리한 변형을 알고 있습니다.

초기 RAM 디스크에 추가 된 GPG 키 페어, Avahi, SSL 및 IPv6의 조합을 사용하여 루트 파티션의 키 비밀번호를 안전하게 검색합니다. Mandos 서버가 LAN에 없으면 서버가 암호화 된 브릭이거나 Mandos 서버가 일정 시간 동안 Mandos 클라이언트 소프트웨어에서 하트 비트를 보지 못한 경우 해당 키 쌍 및 서버에 대한 향후 요청을 무시합니다. 다음에 부팅 할 때 암호화 된 벽돌입니다.

맨 도스 홈페이지

맨 도스 README


1
재미있는 생각. 공개 / 개인 키 쌍이 하드 디스크 드라이브에 있지 않도록 클라이언트를 PXE 부팅한다고 가정합니다. 그래도 키 쌍을 유선으로 스누핑 한 다음 서버 컴퓨터에서 대량 암호화 키를 전송하는 스 니프와 함께 사용하여 드라이브의 암호를 해독 할 수 있습니다. 전체 "서버가 xxx 시간 창에서 하트 비트를 듣지 않으면 키를 전달하지 않습니다"는 사람을 루프에 빠뜨리는 깔끔한 방법처럼 들립니다. 깔끔한 프로젝트. 당신이 육체적으로 접근 할 수 있다면 물리 칠 수는 없지만 깔끔합니다.
Evan Anderson

2
에반, 당신은 Mandos README에서 FAQ를 읽고 싶다고 생각합니다 ....
Curt J. Sampson

흠. Mandos가 LAN을 통해서만 실행되는 이유는 확실하지 않습니다. IP 주소를 설정할 수없고 인터넷을 사용하기위한 경로이기 때문입니까?
Curt J. Sampson

1
Curt, Mandos는 로컬 LAN으로 제한된 ipv6 링크 로컬 주소를 사용하여 통신합니다. 그러나 외부 구성 (dhcp)이 필요하지 않거나 동일한 LAN에있는 다른 서버와 충돌하지 않습니다. en.wikipedia.org/wiki/…
Haakon

1
Mandos의 공동 저자 인 저는 Haakon에만 동의 할 수 있습니다. Mandos 커널 사용 글로벌 IPv4 주소를 사용할 수있는 방법 거기에 실제로 ip=mandos=connect:이 메일 참조 매개 변수를 mail.fukt.bsnet.se/pipermail/mandos-dev/2009-February/... 이는 등 다소 취약한 것으로하지만 참고 클라이언트는 지정된 서버에 한 번만 연결을 시도하며 , 그렇지 않으면 취소 할 수 없습니다. 권장되는 구성은 LAN을 통한 것입니다. 또한 Mandos는 9.04 이후 우분투에서 (그리고 데비안 테스트에서도) 이용할 수 있습니다.
Teddy

6

기술적이지 않은 공격자로부터 보호하려는 경우 가장 좋은 방법은 물리적 보안이 더 좋다는 것입니다.

내 생각은 이렇게 :

키 자료를 입력하기 위해 인간의 상호 작용이 필요하지 않은 부츠를 찾고 있다면 기술적 기술을 가진 부착자가 더 이상 도난 당하지 않아도 안전한 솔루션을 찾지 못할 것입니다. 기술적 인 능력을 가진 사람에게 지불하는 능력).

USB 플래시 드라이브와 같은 것에 핵심 자료를 넣는 것은 실제 보안을 제공하지 않습니다. 침입자는 썸 드라이브에서 키를 읽을 수 있습니다. 썸 드라이브는 연결된 컴퓨터가 서버 컴퓨터인지 공격자의 랩톱인지 알 수 없습니다. 공격자가해야 할 일은 모든 것을 가져 가거나 15 피트 길이의 USB 확장 케이블 끝에있는 USB 키가 안전한 곳에 고정되어 있는지 확인하는 것입니다. 확장 케이블을 PC에 꽂고 읽기만하면됩니다. 열쇠.

네트워크를 통해 키를 전송하려는 경우 "암호화"할 수 있습니다. 공격자는 키 프로세스를 도청하고 서버를 훔친 다음 네트워크를 통해 키를 보낼 때 수행 한 "암호화"를 리버스 엔지니어링합니다. 정의에 따라 네트워크를 통해 "암호화 된"키를 수신하는 서버 컴퓨터는 해당 키를 사용하려면 해당 키를 "암호화"할 수 있어야합니다. 따라서 실제로 키를 암호화하는 것이 아니라 단지 키만 암호화하는 것입니다.

궁극적으로 서버에 키를 입력하려면 (인공적인?) 지능이 필요합니다. "저는 서버 컴퓨터를 제외한 다른 사람에게 열쇠를 공개하지 않으며, 도난 당하지 않았다는 것을 알고 있습니다." 인간은 이것을 할 수 있습니다. USB 썸 드라이브를 사용할 수 없습니다. 당신이 그것을 할 수있는 다른 지능을 찾으면, 나는 당신이 뭔가 시장성이 있다고 생각합니다. > 웃음 <

아마도 보안을 확보하지 않으면 서 키를 잃어 버리고 데이터를 파괴 할 가능성이 큽니다. 암호화 게임을 사용하는 전략 대신 물리적 보안을 강화하는 것이 좋습니다.

편집하다:

우리는 아마도 "위협 모델"이라는 용어의 다른 정의에서 일하고 있다고 생각합니다.

위협 모델이 하드웨어 도난 인 경우 제안 된 솔루션은 디스크 암호화가 위협에 대응하는 데 아무런 영향을 미치지 않는 것입니다. 제안 된 솔루션은 하드웨어 도난이 아니라 데이터 도난에 대한 대책처럼 보입니다.

하드웨어를 도난 당하지 않으려면 볼트로 고정하거나 잠그고 콘크리트로 싸야합니다.

나는 이미 말하고 싶었던 말을 말했다 : 데이터 도난. 서버 컴퓨터를 도난 당하지 않으면 키 장치를 도난 당할 수 없습니다.

최고의 "저렴한"솔루션은 일종의 네트워크 기반 키 교환을 조작하는 것입니다. 재부팅시 키의 "릴리스"를 인증하기 위해 한 명 이상의 사람을 루프에 넣었습니다. 사람이 키를 "릴리스"할 때까지 다운 타임이 발생하지만 최소한 키 "릴리스"가 요청 된 이유를 찾아 내야하는지 여부를 결정할 수 있습니다.


이것은 보안 분석에 대한 훌륭한 추가 사항이므로 공표를 주었지만 다른 위협 모델을 사용하고 있기 때문에 내 질문에 대한 대답은 아닙니다. 내가 누구인지, 방어하지 않는지에 대한 질문에서 내가 말한 것을 주목하십시오.
Curt J. Sampson

1
더 나은 물리적 보안을 위해 저렴한 옵션을 먼저 살펴보고 싶습니다. 우리의 현재 환경에서 볼트 커터 한 켤레를 가진 사람이 신속하게 물리 칠 수없는 것을 설치하는 데 수천 달러가 들었습니다.
Curt J. Sampson

이것을 다시 읽으면서, 내 위협 모델이 하드웨어 도난 자체 가 아니라는 점을 확신하지 못합니다. 기본적으로 불편한 점이 아니라 그에 수반되는 데이터 도용도 있습니다. 이것이 제가 제안한 솔루션이 하드웨어 도난이 아닌 데이터 도난에 대한 대책 인 이유입니다.
커트 J. 샘슨

거의 8 살짜리 질문에 대한 의견을 보는 것이 흥미 롭습니다. 귀하의 솔루션이 효과가 있다면 분명히 기쁩니다.
Evan Anderson

나는 단지 "나는 네크로 포스트해서는 안된다"고 생각하고 있었고, 나는이 마지막 논평을 보았다. Curt의 위협 모델은 하드웨어와 훔친 사람으로부터 데이터를 보호하기 위해 내 것과 동일하다고 생각합니다. 이 게시물과 비슷한 게시물에 대한 몇 가지 의견은 사람들이 핵심 프로세스를 "도청"하고 나중에 알아낼 수 있다고 말했습니다. 엄청나게 나쁜 프로세스 만 어떤 종류의 재생으로도 깨질 수 있습니다. 또한 ... "공격자가해야 할 일은"... "암호화를 리버스 엔지니어링"... 우리는 누구에 대해 이야기하고 있습니까? 일반 도둑이 그러한 능력을 가질 가능성은 무엇입니까?
darron
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.