Что шифровать? Как обеспечить максимальную безопасность?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Tigris-Athon
Сообщения: 17

Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Здравствуйте. Я озадачился шифрованием своей системы в целях безопасности. Речь идёт о домашнем стационарном компьютере, перемещение которого происходит изредка. Я хотел бы обеспечить защиту своих личных данных в следующих случаях:

1.) Компьютер (диски) отправляется в сервис-центр с той или иной целью.
2.) Компьютер (диски) оказывается украден.
3.) Временное получение доступа кого-то к компьютеру (дискам).
4.) Если я забыл какие-либо случаи - пожалуйста, напомните.

У меня у самого такие мысли на этот счёт: достаточно шифровать только /home, потому что именно там хранится вся информация, индивидуальная для пользователя. Простое шифрование /home с помощью dm-crypt обеспечит безопасность данных во втором случае, потому что без ввода пароля получить доступ к информации будет очень тяжело. Однако, у меня вызывают опасение первый и третий случаи. Если предположить, что кто-то на некоторое время получил физический доступ к моему компьютеру, то он может забросить зловреда в незашифрованную часть системы (initramfs, корень, или даже загрузчик), который запустится после того, как я разблокирую /home при загрузке. Я могу частично защититься от такого расклада, блокируя компьютер каждый раз, когда отхожу от него, и не выставляя NOPASSWD на sudo (тогда злоумышленник не сможет в уже запущенную систему положить трояна), но я не представляю, что можно сделать, если во время моего отсутствия ниндзя проберётся в квартиру, сбросит пароль BIOS (если я таковой установлю), загрузится со своего носителя, нагадит мне в незашифрованную часть системы и убежит через окно. С одной стороны, все эти действия не останутся незамеченными (во-первых, я замечу сброс настроек BIOS, во-вторых, можно какие-нибудь пломбы на корпус навесить и защититься от незаметного изъятия дисков с той же целью), с другой стороны - после всего этого придётся грузиться с другого носителя, вытаскивать ценные данные и устраивать аудит незашифрованной части системы (если / не зашифрован, то это долго). Мудрые люди советуют шифровать всю систему, кроме /boot, а /boot носить всегда при себе на флешке, но, во-первых, это сильно добавляет неудобств, во-вторых, если флешка у меня с собой, то к ней может быть даже проще получить доступ, чем к компьютеру. Пожалуйста, поправьте, если я в чём-то ошибаюсь.

В связи с этим у меня такие вопросы: Какие части системы нужно шифровать? Хранится ли в / что-нибудь такое, что может быть необходимо скрыть от злоумышленника, или достаточно /home? Как обеспечить максимальную безопасность личных данных? Большое спасибо заранее.

P.S. Я ещё подумал, что раз такой метод (нагадить в незашифрованную часть системы) требует физического доступа к компьютеру (вплоть до вскрытия корпуса), то если злоумышленнику СИЛЬНО нужна информация, то он может вместо этого прибегнуть к терморектальному криптоанализу (так как что то, что это - криминал). Таким образом, выходит, что особо и нет смысла защищаться от такого сценария. Остаётся только вариант, когда я добровольно отдаю компьютер (сервис.центр, например).
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение serzh-z »

Tigris-Athon писал(а):
20.07.2015 13:08
Какие части системы нужно шифровать? Хранится ли в / что-нибудь такое, что может быть необходимо скрыть от злоумышленника, или достаточно /home? Как обеспечить максимальную безопасность личных данных? Большое спасибо заранее.
Все, включая файл подкачки. Так же не стоит пользоваться спящим режимом S3.

Tigris-Athon писал(а):
20.07.2015 13:08
Как обеспечить максимальную безопасность личных данных?
Не запускать никаких посторонних приложений, не пользоваться облачными хранилищами (или отключиться от сети) и установить хорошую железную дверь.
Tigris-Athon писал(а):
20.07.2015 13:08
Мудрые люди советуют шифровать всю систему, кроме /boot, а /boot носить всегда при себе на флешке
dm-crypt LUKS позволяет вынести ключи на флешку и настроить initramfs так, чтобы он сначала монтировал флешку и запускал cryptsetup с указанным ключем.

Спрятат ключ куда проще: он может быть в файле - маленький двоичный файл в куче других на флешке - не сильно привлекает внимание. Может быть между разделами на флешке. Всё зависит от фантазии...

Во всей этой системе есть один неприятный момент: если не делал бекап день, два, неделю и т.д., а потом случайно убил первые несколько секторов зашифрованного накопителя, или потерял ключ, то данным можно сказать прощай. =) Лично я последний раз так и сделал, потеряв много данных, включая многолетний фотоархив. После чего обхожу шифрование стороной - не стоит домашний стационарный компьютер того. =) А дубинку и паяльник, в качестве криптоанализаторов, ещё никто не отменял.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21480
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Bizdelnick »

Tigris-Athon писал(а):
20.07.2015 13:08
если злоумышленнику СИЛЬНО нужна информация, то он может вместо этого прибегнуть к терморектальному криптоанализу (так как что то, что это - криминал)

Несанкционированный доступ к данным — в любом случае криминал.

serzh-z писал(а):
20.07.2015 13:28
Во всей этой системе есть один неприятный момент: если не делал бекап день, два, неделю и т.д., а потом случайно убил первые несколько секторов зашифрованного накопителя, или потерял ключ, то данным можно сказать прощай.

Да, есть и ещё неприятный момент. При аппаратном сбое диска, даже кратковременном, продолжить работу или перемонтировать ФС не получится. В случае с шифрованным корнем возможен только ресет. Прошёлся по этим граблям, когда использовал шифрованный внешний USB-винт то ли с не очень хорошим кабелем/разъёмом, то ли с глючным контроллером. Передёргивание разъёма не помогало, приходилось ребутать систему. Хотя, может быть, в последних версиях ядра это пофиксили.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Подкачкой не пользуюсь (16+гб оперативной памяти), спящий режим не практикую, только выключение и ждущий. Облака не использую, всякую стороннюю ересь тоже. Дверь, вроде, достаточно прочная (+ их две). В целом, софтварная часть безопасности мне достаточно ясна и я на автомате принимаю меры предосторожности.

Ясное дело, что от криптоанализа не защититься. Мне просто кажется, что если кто-то для получения данных готов взломать квартиру, вскрыть корпус, нагадить в незашифрованную часть системы, завернуть всё назад, как было, чтобы я не заметил, и терпеливо ждать ввода пароля, то, в случае провала этого варианта, криптоанализ станет следующим его действием. Так имеет ли смысл вообще озадачиваться на случай, если моя информация кому-то СИЛЬНО-СИЛЬНО понадобится?

Ну и ещё один вопрос по-прежнему актуален - что находится такого в /, чтобы имело смысл его шифровать?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21480
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Bizdelnick »

Tigris-Athon писал(а):
20.07.2015 13:55
что находится такого в /, чтобы имело смысл его шифровать?

Ну Вы вроде бы уже на этот вопрос ответили. Система там находится, со всем её софтом. В принципе при форс-мажоре (системник побывал в чьих-то руках) можно её относительно безболезненно снести и переставить, сохранив /home.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Кажется, я пришёл к здоровой мысли по этому поводу.
Что касается безопасности при отсутствии физического доступа к железу, всё более-менее ясно: разлогиниваемся при отходе от компьютера; качественные пароли root, user; грамотно настроенные sudoers, polkit; авторизация ssh по длинному паролю с fail2ban или же по ключу (или вообще не использовать удалённый доступ); не ставить всякое зло из недоверенных источников; не заливать важную информацию на недоверенные сайты; принять меры против эксплуатации сетевых уязвимостей (javascript, http, хорошая защита сети, всё такое); пароль на доступ к командной строке grub/изменение записей меню grub; пароль на изменение настроек BIOS и загрузки с непредусмотренных устройств; При соблюдении этих предосторожностей, как я понимаю, без вскрытия корпуса компьютера или получения необходимых паролей от меня, к компьютеру и информации доступ получить невозможно (поправьте, если я неправ).

Есть следующие возможные варианты получения другим человеком доступа к железу моего компьютера:
1.) Я добровольно отдаю его кому-либо навсегда. Тогда я просто затираю диски и проблем нет.
2.) Я добровольно отдаю его кому-либо на некоторое время. Тогда я либо вынимаю диски, либо считаю хэши всех файлов системы (или незашифрованной её части) и по возвращении убеждаюсь, что не получил зловреда. Да и вряд ли я отдам свой компьютер кому-либо, кому я не доверяю.
3.) Кто-то оказывается у меня дома с моего разрешения. Тогда этот человек в любом случае находится под моим присмотром + по моей воле дома у меня не окажется никто, кроме тех, кому я доверяю.
Это - вероятные сценарии.

Совсем маловероятные:
4.) Кто-то похищает мой компьютер и/или диски. Тогда шифрование данных на дисках гарантирует мне, что злоумышленник не получит к ним доступ.
5.) Кто-то похищает мой компьютер и/или диски, причём они так или иначе возвращаются после этого ко мне. Тогда разумно переустановить систему.
6.) Кто-то получает доступ в мою квартиру, вскрывает корпус, сбрасывает все пароли и засаживает зловреда. Тогда разумно переустановить систему.
7.) Кто-то получает доступ в мою квартиру, вскрывает корпус, вынимает диски, на своём компьютере засаживает зловреда, возвращает диски мне. Тогда разумно переустановить систему.
При этом, совсем невероятно, чтобы три последних варианта были претворены в жизнь так, что я этого не замечу и не смогу переустановить систему. Также, два последних варианта явно направлены на то, чтобы получить информацию с моего компьютера. Таким образом, если эти варианты не увенчаются успехом, то следующим действием будет попытка терморектального криптоанализа.

В целом, я прихожу к выводу, что озадачиваться чем-либо, кроме шифрования+тех способов защиты, что описаны в первом абзаце, не имеет смысла, поскольку:
1.) Способы из первого абзаца гарантируют невозможность получения доступа исключительно программно.
2.) 1-3 сценарии вообще не составляют никакой проблемы.
3.) 4-7 сценарии крайне маловероятны, если не иметь заранее цели получить именно мой компьютер.
4.) 4-7 сценарии подразумевают несанкционированный доступ в мой дом, а к этому вопросу любой человек подходит серьёзно.
5.) шифрование защитит меня в случае 4 сценария
7.) в случае 5 сценария незашифрованная система скомпрометирована и ясна необходимость её переустановки
8.) 6 и 7 варианты подразумевают, что кому-то моя информация настолько сильно нужна (ещё менее вероятно, потому что никакой важной для других информацией я не располагаю), что он готов на взлом ради этого, так что, вероятно, следующим шагом будет попытка личного контакта с целью выяснения информации, и шифрование тут не поможет.

Пожалуйста, поправьте, если я в чём-то ошибаюсь. Ну и всё-таки, учитывая сказанное выше, есть ли смысл шифровать / (есть ли там информация, которой не стоит быть открытой)?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21480
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Bizdelnick »

Есть ещё один случай: кто-то получает доступ к Вашему компьютеру и затирает (или шифрует) данные полностью или частично. Чтобы такой вариант не нанёс ущерба, надо иметь бекапы в совсем другом месте (возможно, таки в облаке), причём тоже зашифрованные, чтобы ценные данные не увели оттуда.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Bizdelnick писал(а):
20.07.2015 18:21
Есть ещё один случай: кто-то получает доступ к Вашему компьютеру и затирает (или шифрует) данные полностью или частично. Чтобы такой вариант не нанёс ущерба, надо иметь бекапы в совсем другом месте (возможно, таки в облаке), причём тоже зашифрованные, чтобы ценные данные не увели оттуда.

Ну, это уже не особо связано с шифрованием - равноценно тому, что враг ворвался и измесил комп топором.
В остальном я более-менее прав?
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение azsx »

2.) Я добровольно отдаю его кому-либо на некоторое время. Тогда я либо вынимаю диски, либо считаю хэши всех файлов системы (или незашифрованной её части) и по возвращении убеждаюсь, что не получил зловреда. Да и вряд ли я отдам свой компьютер кому-либо, кому я не доверяю.

ну просто, у вас так всё серьезно. Вам еще в uefi могут чо нибудь записать, в теории.
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

azsx писал(а):
20.07.2015 18:34
2.) Я добровольно отдаю его кому-либо на некоторое время. Тогда я либо вынимаю диски, либо считаю хэши всех файлов системы (или незашифрованной её части) и по возвращении убеждаюсь, что не получил зловреда. Да и вряд ли я отдам свой компьютер кому-либо, кому я не доверяю.

ну просто, у вас так всё серьезно. Вам еще в uefi могут чо нибудь записать, в теории.

Как я понимаю, есть два способа этому противодействовать - приложить усилия, чтобы никто не получил физ. доступа к системному блоку и проводить проверку при обнаружении доступа. Кстати, как узнать, что мне в УЕФИ что-то залили (кроме как по сбросу настроек, если стоял пароль)?
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение azsx »

Кстати, как узнать, что мне в УЕФИ что-то залили (кроме как по сбросу настроек, если стоял пароль)?

начинать надо с того, чтобы узнать бывали ли такие случаи на земле, чтобы кому то записывали кейлогер в uefi. А уже потом решать практически задачи.
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Таких случаев не было. Думаю, можно просто навесить пломбы на корпус и не париться.
Ну и всё-таки вопрос - если мы предполагаем, что нагадить мне в незашифрованную часть системы так, чтобы я не заметил, невозможно, то есть ли смысл шифровать что-либо, кроме хомы?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21480
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Bizdelnick »

Tigris-Athon писал(а):
21.07.2015 10:04
если мы предполагаем, что нагадить мне в незашифрованную часть системы так, чтобы я не заметил, невозможно, то есть ли смысл шифровать что-либо, кроме хомы?

Смотря что там у Вас имеется интересного. Если это десктоп, скорее всего, больше ничего не нужно. Только для надёжности в /tmp монтировать tmpfs, чтобы там гарантированно ничего не оставалось при выключении. И убедитесь, что никакие программы не пишут ничего в /var/tmp.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение yars »

Если не ошибаюсь, /var/tmp обычно симлинк на /tmp, но даже если это каталог, никто не мешает сделать его симлинком на /tmp.
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21480
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Bizdelnick »

yars писал(а):
21.07.2015 13:48
/var/tmp обычно симлинк на /tmp

Shell

% ls -ld /var/tmp drwxrwxrwt 2 root root 4096 июл 15 16:36 /var/tmp %


yars писал(а):
21.07.2015 13:48
никто не мешает сделать его симлинком на /tmp.

FHS мешает.
Programs must not assume that any files or directories in /tmp are preserved between invocations of the program.
The /var/tmp directory is made available for programs that require temporary files or directories that are preserved between system reboots. Therefore, data stored in /var/tmp is more persistent than data in /tmp.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение NickLion »

Tigris-Athon писал(а):
21.07.2015 10:04
Таких случаев не было.

Ну,
http://blog.trendmicro.com/trendlabs-secur...target-systems/
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

/tmp монтируется в tmpfs, в /var/tmp пусто. В принципе, у меня десктоп, хотя иногда немного сервер (owncloud, ftp, для своих нужд и для друзей).
Если я правильно понимаю, то для обеспечения полной безопасности пользовательских данных, будет достаточно шифрования /var и /home. В {,s}bin, boot, lib*, usr, opt ничего руками не пишут, в etc никакие тактически важные пароли не валяются, от рута я не сижу особо, /root ничем важным не заселён, кроме пары конфигов. Я себе вижу реализацию так: LVM на все диски, LV для рута, LV для хомы (с шифрованием), а если я сочту, что надо пошифровать что-то ещё - ещё один LV с шифрованием и монтировать туда, куда мне угодно.


У меня ещё одна проблема - я для себя не могу решить, какой уровень безопасности мне нужен. С одной стороны, разумом понимаю - комп мой стоит у меня дома, за двумя дверьми, никому, кроме меня он не нужен, я тоже никому не нужен, сервис центрам можно доверять, потому что одного прецедента утечки данных будет достаточно, чтобы в этот СЦ уже никто никогда больше не обратился, а добровольно я своё железо отдам только доверенным людям. Вроде бы, шифрование и не к чему. С другой стороны, внутренний параноик говорит - Never enuff crypto!

> http://blog.trendmicro.com/trendlabs-secur...target-systems/
Как-то я это проморгал. Предполагаю, что если кто-то может вот так ломануть мой UEFI, то он может и скрытую камеру смонтировать в моём логове, и методы защиты от этого такие же, как и от кражи моих трусов из ящика.
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Кстати, мне кажется, что если я решу создать LVM и там уже создавать по тому для каждого куска системы, который я сочту нужным шифровать, можно создать отдельный шифрованый том, положить там ключи, и сделать так, чтобы остальные томы отпирались по тем ключам. Так для любого кол-ва томов потребуется ввод лишь одного ключа при загрузке.
Спасибо сказали:
azsx
Сообщения: 3684
ОС: calculate linux, debian, ubuntu

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение azsx »

с такими сложностями при шифровании главное - это не забывать делать архивы!
зы
Возможно этот нехитрый совет спасет ваши фотки со свадьбы.
Спасибо сказали:
Tigris-Athon
Сообщения: 17

Re: Что шифровать? Как обеспечить максимальную безопасность?

Сообщение Tigris-Athon »

Фотки не храню, свадьбы не было, но спасибо за совет ;)
Спасибо сказали: