From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,RP_MATCHES_RCVD,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=altlinux.org; s=dkim; h=Subject:In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:To:From:Date:Sender:Reply-To: Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=jsQGWEbDenWbmPrlLgprxgE0d9sYrGtoeN99SdVtFvs=; b=YpiL+x0fC0fikxOGq2NLthC4KY HaJrVW5e5B2zIjKEifwaiHRREV+ektSTggcKLLT3bGkgsO/m/rAbVNOQf7QusYLzMxvdARrnpgt6F sCCUJ+wxeeTZT/ZWRzfwvwFWknGOvL3RSCMR5/5JTssm+itfisXNDiK5WDM/6dzU5oF12AXRa9jrf zEC09EQrHdVCYlQbCBvSUOxmjgNG1lwLXWqHZMvHmHKRVNFEVHCah7N/5UocukKKVf8YyRX78gXhT xqTrsOWslNppV76f4XClvIMAxeevGrTc8OqaSPfYfrNr3bkPna9YuanDIReXgYHL4dBqU6mXzzsXK J84OcUGA==; Date: Fri, 9 Mar 2018 20:01:09 +0300 From: "Vladimir D. Seleznev" To: ALT Linux Sisyphus discussions Message-ID: <20180309170109.GA13979@portlab> References: <21a68a5b-3f70-ccb8-ac76-c415c00c72b2@complife.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <21a68a5b-3f70-ccb8-ac76-c415c00c72b2@complife.ru> User-Agent: Mutt/1.8.3 (2017-05-23) X-SA-Exim-Connect-IP: 46.39.229.201 X-SA-Exim-Mail-From: vseleznv@cs.msu.ru X-SA-Exim-Version: 4.2 X-SA-Exim-Scanned: Yes (on mail.cs.msu.ru) Subject: Re: [sisyphus] =?utf-8?b?0JrQsNC6INGD0YHRgtCw0L3QvtCy0LjRgtGMINGB0Lg=?= =?utf-8?b?0YHRgtC10LzRgyDQvdCwINC30LDRiNC40YTRgNC+0LLQsNC90L3Ri9C5INC0?= =?utf-8?b?0LjRgdC6Pw==?= X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Mar 2018 17:01:22 -0000 Archived-At: List-Archive: List-Post: On Thu, Mar 08, 2018 at 09:04:11PM +0100, Michael A. Kangin wrote: > Здравствуйте. > > Простите за такой вопрос в 2018 году, но я опять в непонятках - где > можно в инсталляторе сказать, чтобы зашифровать при установке весь диск? > > Ну т.е. про то, что /boot и всякие EFI System/BIOS boot разделы должны > остаться нетронутыми - это понятно, но вот /, swap, /home и /var > хотелось бы иметь зашифрованными, и чтобы при загрузке вводить только > один пароль на всех. Можно и /boot шифровать, но это не так удобнее сделать. В инсталляторе можно создать несколько зашифрованных разделов без использования LVM, а потом сделать расшифровку с помощью ключа с помощью механизма crypttab (работает и под systemd, и под sysvinit). Недавно в make-initrd была добавлена возможность через параметры ядра игнорировать расшифровки отдельный зашифрованных массивов [1], поэтому рецепт такой. В случае незашифрованного /boot: 1. С помощью инсталлятора создать таблицу разделов с нужными зашифрованными разделами. 2. В уже установленной загруженной системе сгенерировать ключ расшифровки, и с cryptsetup добавить в новый слот ключей, сам ключ сохранить где-нибудь в rootfs с правами доступа 0000 (например, в /etc/luks/key). 3. Написать правила для crypttab'а (к сожалению, справочная страница сейчас доступна только в пакете systemd, что странно, мне казалось, я её видел раньше), в котором перечислить все зашифрованные разделы с файловыми системами, отличными от rootfs, формат которого: имя_расшифрованного_устройства зашифрованное_устройство путь_к_файлу_ключа опции_расшифровка 4. Добавить в параметры загрузки ядра (прописав в /etc/sysconfig/grub) параметры luks-ignore с имена зашифрованных устройств, отличных от rootfs, перегенерировать grub 5. Установить пакет make-initrd-luks В случае зашифрованного /boot: 1. Зашифровать все файловые системы, в этом случае попросят ввести пароль на загрузчик. 2. В установленной системе сгенерировать ключ расшифровки, добавить его в слоты для расшифровки разделов, положить куда-нибудь (например, /etc/luks/key с правами доступа 0000). 3. В /etc/initrd.mk дописать строчку: PUT_DIRS += /etc/luks 4. Написать правила для crypttab аналогично предыдущему сценарию. 5. Добавить в параметры загрузки ядра luks-ignore'ы аналогично предыдущему сценарию. 6. Добавить в параметры загрузки ядра параметр luks-key=key (если ключ лежит в файле /etc/luks/key). 7. Установить make-initrd-luks. Минусы обоих вариантов: на текущий момент ключ дешифровки лежит в файловой системе в открытом виде и защищён только правами доступа. Если это неприемлемо, то подойдёт только схема LVM на LUKS. Генерировать ключ надо в файл с уже правильными правами доступа, иначе теряется всякий смысл. > Как это вообще сделать, я более-менее представляю несколькими методами, > сплошной закат солнца вручную. Про всякие хитрые лив-сборки тоже > представляю. > > А из штатного инсталлятора от штатной alt-workstation, по феншую? Увы, пока никак. [1] http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/luks/README.md;h=6c0b91b0b36acc7f886d64af995ba2ff9bc16f2c;hb=80c527b31e17193b4cf4157e136078246876d6a1 -- С уважением, Владимир Селезнев