Защитите содержание жесткого диска

[1126742] Вы можете вызвать

lsof

192.168.1.1 (or 192.168.2.1 or whatever the router's IP really is)

, чтобы перечислить открытые файлы процесса оболочки. Используйте [1127269]-a -p $$[1127270] для ограничения вывода в оболочку процесса ([1127271]$$[1127272]), [1127273]-d 1[1127274] для ограничения вывода в дескриптор файла 1 (например), и [1127275]-F n[1127276] для распечатки вывода в разобранном виде. Вот фрагмент оболочки, который справляется с произвольными символами в именах файлов:

ph.cox.net (again, except matching your own ISP's domain as was already showing)

Если имя файла не содержит новой строки, то можно обойтись без [1127277]output_file=$(lsof -a -p $$ -d 1 -F pn | sed -n '2s/. //p')[1127278].

local

Обратите внимание, что имя файла может не всегда существовать, в частности, если файл был удален.Под Linux другой способ доступа к именам файлов - [1127279]/proc/$$/fd[1127280]: [1127281]/proc/$$/fd/1[1127282] - это слегка магическая символическая ссылка на файл, открытый оболочкой на файловом дескрипторе 1 (ссылка работает, даже если имя файла, возвращенное по [1127283]readlink[1127284], не существует, например, в случае удаленного файла).

Обычно очень плохая идея использовать полученную таким образом информацию. Если кто-то вызовет ваш скрипт с перенаправленным в файл выводом, ему не понравится, если вы будете вести себя по-другому из-за расположения файла, или повлияете на файл другими способами, нежели добавление к нему. Есть одно исключение: вы можете захотеть реагировать по-разному в зависимости от того, пишите ли вы на терминал или на что-то другое (труба, сокет, файл), например, для отображения цветов или индикаторов прогресса на терминале. Есть специальный тест, чтобы определить, подключен ли файловый дескриптор к терминалу:

DNS Servers:
192.168.1.1

Search Domains:
local
ph.cox.net

1
21.08.2014, 03:34
2 ответа

На самом деле это невозможно. Вы просто не можете запретить кому-либо включать / выключать компьютер или делать с ним все, что они хотят, когда у них есть доступ.

Я сделал нечто подобное для сервера. Он использует полное шифрование диска и создает свой ключ на основе данных оборудования, таких как тип процессора, Mac-адрес, объем установленной памяти и т. Д. Если кто-то просто вынул диск и поместил его на другой компьютер, был бы создан другой ключ и как в таком случае система не будет раскрывать свои данные. Это означает защиту, когда кто-то меняет диск в центре обработки данных и помещает его на чужой сервер, не стирая его предварительно.

Тем не менее, вы должны знать, что на самом деле это не защищает от тех, кто хочет испортить ваши вещи.

3
27.01.2020, 23:15
  1. Используйте sudo. (Но нельзя предотвращать отключение питания, иначе люди выдернут вилку из розетки.)

  2. Некоторые файлы конфигурации могут быть сжаты до такой степени, что их нельзя будет просмотреть; однако другие (особенно конфигурация DNS) не работают, если не доступны для чтения всем. Для каждого файла вы должны прочитать руководство, чтобы узнать.

  3. Если полное шифрование диска + загрузочный пароль, предоставленный TPM, не помогает, вам потребуется специальное оборудование, которое в силу того, что оно является настраиваемым, останавливает большинство попыток.

3
27.01.2020, 23:15

Теги

Похожие вопросы