Как зашифровать git на моем сервере?

12

Вот самое близкое, что я получил: я установил gitolite в /Privateпапку с помощью ecryptfs-utils ( sudo apt-get install ecryptfs-utils adduser git ecryptfs-setup-privateтогда остальные настраивали gitolite с помощью установки root).

Это работало просто отлично, если кто-то вошел в систему как пользователь, gitиспользующий пароль ( su gitиспользование root не работает). Поскольку личная папка активируется путем входа в систему с паролем, а gitolite использует ключи RSA (обязательно), личная папка скрыта, поэтому возникает ошибка.

Можно ли войти на сервер после перезагрузки, ввести пароль и получить доступ к личной папке пользователя git до следующей перезагрузки компьютера?

Или, может быть, есть простой способ зашифровать папку для репозиториев git?

Мат
источник
Я не уверен, что вы имеете в виду. Толкание и перетаскивание по SSH уже зашифровано. Вам нужно шифрование помимо этого?
Jonescb
Работает ли su - git? Кроме того, какой смысл шифровать ФС, если вы хотите, чтобы она всегда была доступна, если машина включена? Это строго для защиты от оффлайн-атак?
Хэнк Гей
@jonescb шифрование файловой системы
@ Хэнк Гей: Да. автономные атаки - это все, что я хочу обезопасить с помощью этого. Он всегда должен быть доступен настолько автономно + защита пользователя, который получает доступ к зашифрованным файлам + использование хорошего программного обеспечения для доступа к указанным файлам - это действительно все, что я мог сделать. и su - gitне решил, к сожалению.
может быть, вы хотите закрыть другую ветку
D4RIO

Ответы:

4

Вам просто нужно удалить файл ~/.ecryptfs/auto-umount.

Этот файл является флагом, который pam_ecryptfs проверяет при выходе из системы. Этот файл существует по умолчанию при настройке вместе с тем ~/.ecryptfs/auto-mount, что ваш личный каталог автоматически монтируется и размонтируется при входе / выходе из системы. Но каждый может быть удален независимо, чтобы изменить это поведение. Наслаждайтесь!

Дастин Киркланд
источник
2

Вы можете использовать подход smudge / clean git filter; это зашифрует содержимое репозитория и расшифрует его для работы в рабочем дереве.

См. Https://gist.github.com/873637 .

Однако он не будет шифровать имена файлов.

Питер Мунс
источник
1

Извините, я не могу оставлять комментарии ...

Может быть, вы могли бы смонтировать ваш ssh через sshfs и использовать encfs внутри?

solarc
источник
мерзавец довольно автоматический. Я не думаю, что могу сказать git выполнять команды через ssh до / после выполнения его
Я имел в виду монтировать ваш удаленный каталог как локальный каталог с помощью sshfs, затем монтировать зашифрованную папку внутри него с помощью encfs, а затем использовать вашу папку git внутри нее. Git не должен знать, что происходит.
Solarc
1

Использование screen. просто создайте экран, su для пользователя и делайте то, что вам нужно. Отделитесь от него, используя Ctrl + A, d. Тогда вы сможете отключиться, не прерывая процесс, таким образом, кто-то вошел в систему все время.


источник
0

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

D4RIO
источник
0

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

ecryptfs-umount-private
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase
ecryptfs-mount-private
penguin359
источник
0

Если вы ищете строго автономную защиту, то вам подойдет что-то вроде автоматически монтируемого зашифрованного раздела. Я вижу, что вы используете apt-get, так что есть большая вероятность, что вы на Ubuntu. В этом случае вам может быть интересно узнать, что Ubuntu использует шифрование в качестве опции во время установки . Если вы используете Debian, я нашел статью, в которой рассказывается, как настроить зашифрованную файловую систему за несколько простых шагов .

Хэнк Гей
источник