Enkripsi repositori git di server (aman terhadap pencurian perangkat keras fisik)

11

Saya memiliki server produksi (Ubuntu, menjalankan 24/7) dengan repositori git dan beberapa komputer klien masing-masing dengan salinan repositori ini. Di komputer klien, cukup menggunakan enkripsi folder rumah tampaknya menyelesaikan masalah bahwa jika ada perangkat keras yang dicuri tidak ada yang dapat mengakses file di git.

Bagaimana saya bisa mengenkripsi sisi remote repositori git untuk memastikan bahwa jika ada perangkat keras yang dicuri tidak ada yang dapat mengkonfigurasi ulang dan mengkloning repositori git?

Pada awalnya, saya berpikir untuk mengenkripsi direktori home dari pengguna git, tetapi kemudian saya menyadari bahwa ini tidak masuk akal, karena kapan dan oleh siapa harus didekripsi?

Dapatkah saya menempatkan repositori git di direktori home saya sendiri / tautan ke sana sehingga hanya akan tersedia ketika saya masuk ke server melalui SSH? Atau adakah solusi serupa untuk masalah ini?

Terima kasih atas tips sebelumnya!

tema
sumber

Jawaban:

4

Anda bisa menggunakan direktori home yang dienkripsi. Anda harus login dan secara manual me-mount drive terenkripsi dan memberikan kunci dekripsi ketika server reboot. Anda tidak dapat memasang drive secara otomatis untuk alasan yang jelas.

rebus
sumber
Terima kasih. Jadi maksud Anda mengenkripsi direktori home dari pengguna git? Karena saya bukan pengguna git ketika saya masuk dengan SSH, bagaimana cara me-mount ecryptfs? Atau haruskah saya login dengan user git?
Tema
(maaf, saya hanya tahu ecryptfs dalam konfigurasi otomatis karena saya menggunakan Ubuntu di semua komputer saya dengan direktori home terenkripsi menggunakan ecryptfs, jadi saya tidak perlu khawatir tentang perintah manual apa pun;))
leemes
1
Anda bisa mengenkripsi hanya satu folder. Anda akan membuat file pada disk yang mewakili sistem file terenkripsi, maka jika Anda mengatur / etc / fstab dengan benar, itu bisa saja seperti menjalankan "mount / home / git / repository" yang akan meminta Anda untuk kata sandi. di sini adalah artikel yang layak tentang bagaimana Anda dapat mencapai ini: h3g3m0n.wordpress.com/2007/04/16/…
stew
1

Anda bisa menggunakan filter noda / bersih untuk mengenkripsi konten repositori pada sistem file jarak jauh: https://gist.github.com/873637

Peter Mounce
sumber
Itu sebenarnya mengenkripsi repositori lokal juga
Tobias Kienzler
Coba github.com/AGWA/git-crypt sebagai gantinya - menggunakan mode CTR dan memahami crypto dengan lebih baik; itu membuat repo lokal tidak terenkripsi di pohon yang bekerja, melalui noda / filter bersih.
Phil P
0

Anda bisa menggunakan git-remote-gcrypt ke git pushdan git fetchdari komputer klien ke server (atau di mana pun). Bukan hanya konten tetapi nama file dan metadata repositori lainnya (semua?) Juga dienkripsi.

Kenny Evitt
sumber