저는 현재 Archlinux를 사용하고 있습니다. 예를 들어, Archlinux 설치 ISO에서 부팅하고, 현재 Archlinux 파티션과 부팅 파티션을 마운트한 다음, Arch-chroot를 사용할 수 있습니다. 그런 다음 Archlinux 시스템의 루트 셸에 액세스할 수 있습니다. 예를 들어 루트 비밀번호를 설치, 제거, 변경할 수 있습니다.
문제는 루트 비밀번호를 요구하지 않고 루트 쉘에 대한 액세스를 어떻게 방지할 수 있는가입니다.
나는 이것이 디스크 암호화와 관련이 있다고 생각합니다.
chroot에서 chroot로부터 chroot 파티션을 보호한다고 가정하면, chroot가 필요할 경우 어떻게 작동할까요? 저는 보통 mount /dev/sdax /mnt mount /dev/sday /mnt/boot arch-chroot /mnt 를 수행합니다.
감사해요!
답변1
문제는 설명된 것보다 더 일반적이며 chroot, archlinux 또는 linux에만 국한되지 않습니다.
일반적으로 공격자가 시스템에 물리적으로 액세스할 수 있는 경우 물리적 수단(디스크를 제거하고 자신의 컴퓨터에 설치, 나중에 교체 가능)을 통해 또는 소프트웨어(디스크를 제거하고 교체할 수도 있음)를 통해 디스크에 저장된 모든 데이터를 읽거나 수정할 수 있습니다. 자체 OS로 부팅하고 원래 질문에 명시된 제한 없이 데이터를 읽거나 수정합니다.
당신이 암시했듯이, 이 문제에 대한 가능한 대책 중 하나는 암호화를 활용하는 것입니다. 이렇게 하면 키(파일, 스마트 카드, 비밀번호 등)가 없는 공격자가 의미 있게 데이터를 읽거나 수정하는 것을 방지할 수 있습니다.
암호화된 시스템을 발견하고 키를 복구할 수 없는 공격자는 암호화된 데이터(임의로 보임)를 읽고 의미 있게 해독될 가능성이 없는 데이터를 쓸 수 있습니다(하드 드라이브에 임의의 비트를 쓰는 것과 동일). 그렇게 하면 데이터가 손상/손상될 수 있지만 그렇지 않으면 프로그램을 설치/제거하거나 암호를 변경할 수 없습니다.
전체 시스템 암호화의 경우 부팅 시 암호 해독 키가 필요합니다. 시스템 잠금이 해제되면 평소처럼 chroot할 수 있습니다(올바른 권한이 있다고 가정).
보호 방법은 데이터를 의미 있게 읽고 쓰려면 키가 필요하며, 키를 입력하고 시스템이 부팅되면 OS의 보안 조치(사용자 인증, 권한, ACL 등)가 시작되어야 합니다. 액세스를 제어합니다.