Apa yang harus saya pertimbangkan untuk mengamankan SVN di Windows? [Tutup]

14

Saat ini saya menggunakan VisualSVN Server dan hanya dapat diakses di jaringan rumah saya. Akhirnya akan ada orang lain yang mengaksesnya, tetapi untuk sekarang hanya saya dan saya ingin pergi ke kedai kopi (atau di mana saja) dan dapat bekerja jauh dari rumah.

Saat ini saya sedang mengakses server di http://user-pc:xx/svn/Projects/. Ketika saya mengatur router saya untuk meneruskan port XX ke server saya, langkah apa yang harus saya ambil untuk mengamankan server?

Perlu diingat bahwa saya melakukan ini pada Windows dan sementara saya menggunakan command prompt secara luas, saya belum pernah menggunakan SVN terlalu lama dan belum pernah menggunakan apa pun selain TortoiseSVN untuk bekerja dengannya hingga saat ini.

Sunting : Satu-satunya hal berbahaya yang dapat dilakukan penyerang, yang saya tahu, adalah: tebak nomor port, nama pengguna, dan kata sandi saya untuk masuk ke dalam repositori. Namun seperti kata pepatah, saya tidak tahu apa yang saya tidak tahu.

Jadi saya tidak perlu meminta instruksi langkah demi langkah (walaupun saya pasti ingin memilikinya juga) sebanyak hal-hal yang perlu saya pertimbangkan untuk setiap jenis serangan yang dapat dilakukan setelah port terbuka.

Brandon Moore
sumber
Bisakah Anda mendefinisikan, apa yang "melindungi diri saya sendiri?" untukmu? Lindungi kode Anda, Apache Anda, Windows Anda dari skrip-kiddies?
Malas Badger
@LazyBadger Lihat hasil edit saya
Untuk menjawab pertanyaan yang Anda tinggalkan di flag, pemilih dekat SO tidak berpikir pertanyaan ini pantas lagi diperhatikan. Mereka merasa itu jelas di luar topik (seperti di sini, ini tentang server rumah yang di luar topik) dan tidak ingin menghabiskan waktu untuk menjelaskan lagi mengapa, lupa bahwa untuk setiap kejadian itu adalah pertama kalinya seseorang . Saya tidak biasa pada SO jadi tidak bisa menjelaskan apa yang mereka pikirkan topik on / off.
sysadmin1138
@ sysadmin1138 Terima kasih untuk benar-benar meluangkan waktu untuk menulis. Saya tidak tahu apa yang Anda maksud dengan menghabiskan waktu untuk menjelaskan 'lagi' karena mereka tidak pernah menjelaskan apa pun untuk memulai. Saya setuju sepertinya di luar topik di sini, namun itu bukan di luar topik di Stack Overflow dan saya masih akan senang penjelasan tentang itu. Saya curiga tidak ada satu pun, dan mereka hanya secara sewenang-wenang memutuskan bahwa mereka tidak menyukai pertanyaan itu.
Brandon Moore
Saya meninggalkan bendera pada pertanyaan SO untuk melihat apakah saya bisa memindahkannya ke rumah yang lebih baik.
sysadmin1138

Jawaban:

7
  1. Gunakan kekuatan kata sandi yang baik untuk mengamankan server VisualSVN
  2. Gunakan port yang lebih tinggi untuk server, mis. 39517, bukan port default 80 atau 443. Membuatnya lebih sulit bagi penyerang untuk menebak. Penyerang harus mengandalkan pemindaian port.
  3. Server VisualSVN tidak akan mengizinkan akses anonim. Anda perlu mendefinisikan pengguna secara eksplisit.
  4. Berikan akses pengguna hanya kepada orang yang Anda kenal / percayai.
Satu satu
sumber
1
Bukankah seharusnya 4. Berikan akses pengguna hanya kepada orang yang Anda percayai (jangan biarkan mereka menggunakan akun Anda)
Diberikan nomor 3, itulah yang saya asumsikan maksudnya.
@ Ya, itulah yang saya maksud. Maaf untuk bahasa inggris saya
Satu hal yang saya pikirkan adalah upaya brute force untuk meretas kata sandi, tapi saya lupa mereka harus menebak nama pengguna juga jadi itu bagus.
@BrandonMoore mereka juga perlu tahu port.
8
  1. Gunakan https di sisi server, bukan http biasa (AuthType Basic dapat diinterupsi) penggunaan Digest auth (harus mengkonfigurasi Apache dengan tangan)
  2. Gunakan (gratis) sertifikat yang diterbitkan CA di server, tidak ditandatangani sendiri (Anda dapat menggunakan sertifikat yang ditandatangani sendiri, tetapi harus (?) Memverifikasi setiap mata)
  3. Pertahankan versi Server VisualSVN yang terbaru (dengan perbaikan untuk kemungkinan masalah di Apache dan | atau SVN itu sendiri)
  4. Aktifkan logging di httpd.conf untuk audit keamanan (tidak ada logging secara default di VisualSVN Server)
Malas Badger
sumber
0

Saya akan merekomendasikan menggunakan akses ssh ke server svn Anda. Saya pribadi lebih suka otentikasi kunci publik / pribadi.

Bahkan dengan itu, saran desaivv juga merupakan hal yang akan saya rekomendasikan.


sumber
Terima kasih Robert. Dalam pencarian google saya itulah yang saya temukan semua orang mengatakan ... tapi saya belum menemukan instruksi sederhana untuk melakukannya dengan VisualSVN. Akhirnya saya akan belajar tentang hal ini tetapi sementara itu jika Anda pikir Anda tahu panduan orang awam untuk mengatur ssh yang mungkin lebih sederhana daripada yang saya temui saya akan senang melihatnya.
Untuk konfigurasi klien: visualsvn.com/support/topic/00008
1
@robertvoliva - VisualSVN Server adalah http / https protokol akses hanya , untuk svn + ssh: // solusi lain harus digunakan
Malas Badger
1
@ brandon-moore Tidak, ini tentang ssh-tunnels dari client (TortoiseSVN) ke server berkemampuan SSH, yang bukan VisualSVN Server
Lazy Badger
1
VisualSVN (bukan server) adalah add-on untuk akses klien ke SVN-repo, protokol-agnostik, bergantung pada svn-client yang ada. Forum dukungan memiliki dua kategori utama yang terpisah, tautan dari kategori "VisualSVN", tidak terkait dengan server
Lazy Badger