Как к make-файлам защищен?

Как сделать некоторый файл, который содержит решающие защищенные данные? Например, предположите, что у меня есть некоторые файлы, которые важны, там какой-либо метод или стратегия сделать подобные файлом более защищенный на Ubuntu? Я даже хочу заставить некоторые файлы попросить пароль каждый раз, когда кто-то пытается открыть его. Это влияет на версию Ubuntu с точки зрения политики безопасности? Я могу использовать какой-либо алгоритм шифрования внешне?С уважением.

24
задан 27 October 2016 в 00:21

7 ответов

Лучший метод, который Вы имеете, chattr +i {file}. Это устанавливает неизменный атрибут, и затем файл не может быть изменен, удален, переименован или hardlink, созданный любым включая корень.

единственный человек, который может отредактировать файл, является корнем. он должен отменить это путем удаления неизменного бита: chattr -i {file} и может затем сделать что с файлом. Установка +i снова блокирует файл от любой модификации.

Это не будет препятствовать форматировать раздел, где файл хранится все же. Это предотвратит кражу файла.

<час>

можно даже сделать это на полной точке монтирования, если Вы хотите:

chattr +i -R /discworld

сделал бы целый "discworld" и что-либо в нем неизменными (chattr -i -R /discworld для отмены его ;))

<час>
32
ответ дан 23 November 2019 в 01:15

Не делая ничего специального, можно мешать другим читать, изменять или удалять файл путем удаления полномочий для всех, но владельца. Сделайте корень владельцем файла и поместите его в каталоге, которые только базируются, имеет доступ к...

sudo mkdir /home/secret     #this directory will be owned by root, no need to chown
sudo chmod 700 /home/secret

перемещение (sudo mv file /home/secret) Ваш файл там и делает

sudo chown root: /home/secret/file
sudo chmod 600 /home/secret/file

chmod, и chown берут несколько аргументов: chmod 600 file1 file2 или chmod 600 file*

кроме этого, используйте шифрование...

18
ответ дан 23 November 2019 в 01:15

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

Разрешения (как предложено другими ответами) могут быть обойдены (см. это ).

Поэтому я рекомендую вам правильно зашифровать файл. Вот как:

(метод графического интерфейса см. В конце этого ответа)

Убедитесь, что у вас установлено gpg.

Например, чтобы зашифровать файл с именем Important_File.txt, используйте

$ gpg -c Important_File.txt

Теперь введите пароль (он будет использован позже при необходимости его чтения).

Теперь вы получите файл с именем оригинала и расширением .gpg, например Important_File.txt.gpg.

Удалите оригинальный файл и сохраните версию .gpg. Может быть легко получить исходный файл с диска, если вы не используете утилиту secure shred (которая по-прежнему не будет работать на SSD-дисках или SD-картах):

$ shred Important_File.txt

Теперь мы только иметь Important_File.txt.gpg с нами.

Всякий раз, когда вам нужно прочитать его, просто

$ gpg Important_File.txt.gpg

Затем введите пароль, который вы установили в первой команде. Вы получите оригинал Important_File.txt.

ПРИМЕЧАНИЕ : Это защитит только содержимое зашифрованного файла .gpg от прочтения кем-либо (с использованием шифрования), но любой может удалить скопируйте или переместите его ! Для базовой защиты от , что , используйте методы разрешения других ответов в зашифрованном файле .gpg.

Метод графического интерфейса (GUI)

Установите приложение Seahorse.

Затем вы можете сделать это из приложения Файлы:

Screenshot of GNOME Files encrypting

12
ответ дан 23 November 2019 в 01:15

Просто установите очень строгое разрешение 600, так, чтобы только владелец мог читать, и писать это (если бы Вам нужны полномочия выполнения, которые были бы 700).

можно также сделать это графически - просто щелкают правой кнопкой по файлу, выбирают Properties > Permissions > Set и устанавливают все кроме owner поле ни к чему.

См. изображение как пример:

the picture

9
ответ дан 23 November 2019 в 01:15

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

sudo apt-get update
sudo apt-get install cryptkeeper

я обычно рекомендую зашифровать папку с именем, запускающимся с ., потому что помещение его перед названием файла скрыло бы его. It’s немного приема, но это работает.

Для отображения папки используйте Ctrl + h или наоборот.

3
ответ дан 23 November 2019 в 01:15

Можно использовать encfs для шифрования каталога .

В основном необходимо создать 2 каталога, 1, в котором зашифрованные данные будут сохранены и 1, где Вы получите доступ к тем данным:

mkdir ~/.encrypted
mkdir ~/private

Затем выполняются (необходимо выполнить эту строку каждый раз, когда Вы хотите 'смонтировать' свой каталог):

encfs ~/.encrypted/ ~/private/

, Если Вы не знаете больше об этом, просто нажмите ВХОДЯТ для движения со стандартными настройками (спросил только в первый раз).

Затем вводят Ваш пароль, и он будет смонтирован.

к Вашим данным получит доступ только Ваш пользователь безопасно в ~/private/ (можно в значительной степени проигнорировать ~/.encrypted)

Для размонтирования его:

sudo umount ~/private/

или

fusermount -u ~/private/

Простой как это.

7
ответ дан 23 November 2019 в 01:15

Если Вы - отдельный пользователь в системе, и никто не может обоснованно получить доступ к Вашему компьютеру без Ваших полномочий, то можно просто блокировать доступ при помощи этой команды согласно ответу Zanna:

sudo chown root:root /my/secret/file.txt
sudo chmod 600 /my/secret/file.txt

В этом случае файл может только быть считан и/или записан в root пользователь. Это считают "достаточно безопасным", если никто не может загрузить Ваш компьютер без Вашего разрешения или снять Ваш жесткий диск. Мы используем root пользователь в этом случае, потому что root пользователь может всегда читать файлы, даже если у них нет разрешения. При помощи пользователя root мы осуществляем того только одного пользователя, может получить доступ к нему.

Если Вы хотите отметить файл как неизменный всегда, форма или форма, можно использовать i атрибут для маркировки файла как неизменный. В этом случае полномочия файла привязываются и не могут быть изменены ни при каком обстоятельстве. Таким образом, можно сделать следующую команду, чтобы сделать файл неизменным, и защитить его от изменений разрешения и удаления:

sudo chattr +i /my/secret/file.txt

Если Вы хотите изменить его, замените +i с a -i разблокировать файл временно. См. ответ Rinzwind для более всестороннего представления.

Теперь, если у других людей есть доступ к Вашему компьютеру (любой удаленный sudo доступ или любая форма физического доступа), это разваливается немедленно. Взломщик может использовать root полномочия считать Ваш файл, вставьте Живой USB или просто вытяните свой жесткий диск.

Поэтому мы должны зашифровать файл. Я лично предпочитаю использовать "контейнеры файла", так, чтобы можно было придерживаться больше там и иметь его, растут по мере необходимости. chattr +i все еще рекомендуется так, чтобы файл не был случайно удален (или изменен). Наконец при использовании зашифрованного изображения можно установить полномочия позволить другим получить доступ к очень ограниченному подмножеству файлов, когда диск смонтирован, делая его хорошим для сервера. Это руководство было первоначально доступно здесь и было адаптировано к использованию здесь.

Прежде всего Вы хотите создать образ диска для своего использования. В этом примере мы собираемся делать это 5 ГБ.

dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img

Затем мы должны сделать Ваше изображение зашифрованным:

sudo cryptsetup luksFormat ~/NSA-Data-Dump-20161012.img

У Вас будет выбор здесь для ввода предпочтительного пароля шифрования. После того как это сделано, мы должны выставить необработанное блочное устройство:

sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device

Прямо сейчас у нас есть дешифрованный контейнер файла, но нет никакой файловой системы, и это столь же хорошо как бесполезное. Давайте зафиксируем это:

sudo mkfs.ext4 /dev/mapper/my-secret-device

Теперь, нам нужно место для монтирования нашего нового раздела. В этом случае я буду помещать его в /crypt. Я - пользователь 1000, таким образом, я собираюсь установить свой раздел, чтобы только позволить мне (и корень) к чтению-записи от него.

sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000

Теперь, я могу использовать свой инструмент файла для навигации к /crypt и я могу хранить все свои чувствительные файлы там. После того как я сделан, я должен буду размонтировать и повторно зашифровать свой раздел.

sudo umount /crypt
sudo cryptsetup luksClose my-secret-device

Теперь, я собираюсь установить соответствующие разделы на своем файле изображения, таком, что только я и корень можем получить доступ к нему, и что он не может больше изменяться.

chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img

Каждый раз, когда я хочу открыть этот файл для чтения, я просто должен выполнить эти две команды, которые я могу легко исказить:

sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro

Мои зашифрованные данные будут доступны в /crypt и это останется только для чтения и только доступным для меня и корня.

Если я хочу изменить файл, я должен изменить полномочия и затем смонтироваться:

sudo chattr -i ~/NSA-Data-Dump-20161012.img
chmod 700 ~/NSA-Data-Dump-20161012.img
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro

Теперь, необходимо быть осторожными здесь, потому что, если у пользователя есть корень в их системе, они могут изменить/уничтожить зашифрованный раздел, представив его бесполезный. Они могут также украсть данные из диска, но только когда это открыто. Однако они не могут украсть данные или даже видеть, что данные существуют без Вас явно открытие их. Поэтому это - Ваша обязанность удостовериться, что Ваша система является достаточно защищенной, чтобы не иметь любых пользователей root онлайн при открытии зашифрованного тома.


TL; DR:

  1. Сделайте хранилище:

    dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
    sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
    sudo mkfs.ext4 /dev/mapper/my-secret-device
    
  2. Заполните хранилище:

    sudo mkdir /crypt
    sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
    
  3. Заблокируйте хранилище:

    sudo umount /crypt
    sudo cryptsetup luksClose my-secret-device
    
  4. Заморозьте хранилище:

    chmod 400 ~/NSA-Data-Dump-20161012.img
    sudo chattr +i ~/NSA-Data-Dump-20161012.img
    
  5. Откройте хранилище:

    sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
    sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro
    
8
ответ дан 23 November 2019 в 01:15

Другие вопросы по тегам:

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