Як зашифрувати git на своєму сервері?


12

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

Це спрацювало чудово до тих пір, поки хтось увійшов як користувач gitза допомогою пароля ( su gitвикористання root не працює). Оскільки приватна папка активується за допомогою входу з паролем, а gitolite використовує ключі RSA (обов'язково), приватна папка прихована, таким чином виникає помилка.

Чи є спосіб я увійти на свій сервер після перезавантаження, введіть пароль і мати приватну папку користувача git доступною до наступного перезавантаження машини?

А може, є простий спосіб зашифрувати папку для сховищ git?


Я не впевнений, що ти маєш на увазі. Натискання та перетягування через SSH вже зашифровано. Вам потрібне шифрування поза цим?
jonescb

Чи su - gitпрацює? Крім того, який сенс шифрування FS, якщо ви хочете, щоб він завжди був доступний, якщо машина включена? Це суворо захищати від офлайн-атак?
Генк Гей

Шифрування файлової системи @jonescb

@Hank Gay: Так. офлайн-атаки - це все, що я хочу забезпечити цим. Він завжди повинен бути доступний настільки розумно в автономному режимі + забезпечення користувача, який отримує доступ до файлів шифрування + за допомогою хорошого програмного забезпечення, що отримує доступ до зазначених файлів - це все, що я міг би зробити. -edit- і не su - gitвирішив це, на жаль.

можливо, ви хочете закрити іншу тему: unix.stackexchange.com/questions/10355/…
D4RIO

Відповіді:


4

Вам просто потрібно видалити файл ~/.ecryptfs/auto-umount.

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


2

Ви можете скористатися підходом до фільтру з грязьовим покриттям; це зашифрує вміст сховища та розшифрує його для роботи з робочим деревом.

Дивіться https://gist.github.com/873637 .

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


1

На жаль, не можна публікувати коментар ...

Можливо, ви могли змонтувати свій ssh ​​через sshfs та використовувати encfs всередині?


git досить автоматичний. Я не думаю, що я можу сказати git виконувати команди над ssh до / після того, як робити його git речі

Я мав на увазі змонтувати ваш віддалений dir як локальний dir за допомогою sshfs, потім змонтуйте зашифровану папку всередині цієї із encfs, а потім використовуйте свою папку git всередині цього. Git не повинен знати, що відбувається.
solarc

1

Використовуйте screen. просто створіть екран, користувачеві і зробіть те, що вам потрібно зробити. Від'єднайте від нього, використовуючи Ctrl + A, d. Тоді ви маєте змогу відключитися, не вбиваючи процес, таким чином, хтось увійшов у систему весь час.


0

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


0

Якщо ви можете відключити модуль сеансу pam_ecryptfs, то точки монтажу ecryptfs не вимикаються під час виходу, але це також впливає на всіх. Інша ідея полягає у використанні іншої парольної фрази від вашого логіна, щоб обернути фазову фразу для монтажу. У цьому випадку він не зможе автоматично встановити його при вході в систему, і тому він не повинен (не буде?) Відключатись під час виходу. Потім ви можете вручну змонтувати ecryptfs, і він повинен залишатися встановленим до наступного перезавантаження:

ecryptfs-umount-private
ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase
ecryptfs-mount-private

0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.