Nextcloud hanya lewat VPN: inventarisasi setiap pintu masuk lebih dulu
Melindungi halaman web tidak cukup: klien sinkronisasi, WebDAV, tautan bersama, dan jalur proxy memerlukan pintu masuk privat yang sama. Inventarisasi semuanya sebelum menutupnya.
Rencana Nextcloud hanya lewat VPN gagal ketika melindungi browser dan melupakan klien sinkronisasi. Halaman web, mesin sinkronisasi desktop, unggahan seluler, alat WebDAV, dan penerima tautan bersama semuanya memerlukan jalur ke layanan yang sama, dan masing-masing dapat membuka pintu masuk yang berbeda. Inventarisasi semuanya sebelum menutup apa pun. Daftar itu adalah perimeter sebenarnya.
Kerjakan daftar periksa secara berurutan. Butir pertama mendefinisikan apa arti privat untuk penerapan ini; butir berikutnya menguji apakah penerapan itu benar-benar sesuai dengan definisi tersebut.
Definisikan privat sebelum mengubah perimeter
Tuliskan persyaratannya dalam satu kalimat: setiap pengguna harus bergabung ke VPN sebelum mencapai aplikasi, atau aplikasi boleh tetap publik sementara asalnya tetap privat. Itu desain yang berbeda, dan proxy balik publik yang meneruskan ke terowongan privat hanya memenuhi yang kedua.
Alamat backend privat tidak membuat aplikasi menjadi privat. Jika pemetaan publik, nama host kedua, atau pendengar IPv6 masih mencapai instans Nextcloud yang sama, pintu masuk itu ada terlepas dari lokasi backend. Uji setiap nama dari luar sebelum menyatakan layanan privat. Catatan DNS yang hilang tidak sama dengan port yang tertutup.
Sepakati juga audiens yang dimaksud: karyawan, satu rumah tangga, organisasi mitra, atau sebagian akun. Jawabannya menentukan apakah tautan berbagi publik merupakan fitur atau kontradiksi. Tuliskan audiens itu dalam rencana akses. Itu adalah ujian bagi setiap pengecualian berikutnya.
Inventarisasi setiap pintu masuk dan setiap nama
Daftar pemetaan alamat publik, proxy balik, nama host alternatif, pendengar IPv6, dan alamat terowongan atau mesh apa pun yang mencapai layanan. Sertakan nama yang mengarah ke alamat tersebut, karena catatan DNS yang terlupakan adalah pintu masuk dengan label yang ramah.
Periksa konfigurasi proxy untuk header yang diteruskan dan blok server alternatif. Proxy yang ditambahkan untuk aplikasi lain dapat membuka upstream yang sama melalui jalur atau host virtual yang tersisa. Baca konfigurasi sebenarnya, bukan diagram yang direncanakan. Keduanya paling sering berbeda setelah aplikasi dipindahkan.
Lalu blokir pintu masuk yang tidak Anda pilih. Backend privat dengan frontend publik bukan desain hanya VPN, dan aturan firewall yang hanya mencakup IPv4 membiarkan pendengar IPv6 terbuka. Tutup kedua keluarga dan kedua nama dalam perubahan yang sama.
Beri setiap klien satu nama layanan
Arahkan DNS privat ke layanan, rutekan nama itu melalui VPN, dan terbitkan sertifikatnya. Nama itu harus diselesaikan melalui jalur privat dan divalidasi tanpa peringatan. Klien yang mencapai IP secara langsung tetap memerlukan nama yang berfungsi.
Klien yang terhubung melalui alamat IP yang tidak terkait seharusnya tidak perlu mengabaikan kesalahan sertifikat agar desain berfungsi. Nama yang stabil juga mencegah klien sinkronisasi membuat entri server ganda saat alamat berubah. Itulah perbedaan antara layanan privat dan IP privat.
Biarkan validasi sertifikat tetap aktif. Jaringan privat mengurangi paparan tetapi tidak membuat koneksi TLS yang tidak divalidasi dapat diterima, dan klien yang terbiasa mengabaikan peringatan akan mengabaikannya juga di jaringan lain.
Batasi akses jaringan, bukan seluruh LAN
Izinkan pengguna terdaftar mencapai layanan Nextcloud dan dependensi yang diperlukan, dan jauhkan administrasi server pada jalur terpisah. VPN yang mengizinkan klien masuk ke seluruh jaringan rumah atau kantor memberi klien itu jauh lebih banyak daripada yang dibutuhkan aplikasi.
Masuk VPN tidak menggantikan akun, izin, atau autentikasi tambahan Nextcloud. Aplikasi tetap memutuskan pengguna mana yang boleh membaca file mana, dan lapisan jaringan tidak boleh menjadi satu-satunya kontrol.
Catat rentang sumber yang disetujui dan port layanan. Pemilik target memerlukan sumber yang teramati, dan NAT atau proxy dapat menulis ulang sebelum permintaan mencapai aplikasi.
Tinjau setiap alur kerja di luar browser
Sinkronisasi desktop dan unggahan seluler membuka koneksi mereka sendiri pada waktu mereka sendiri. Mereka memerlukan jalur privat yang disetujui saat terhubung, dan dapat berperilaku berbeda saat VPN tidak ada: mencoba lagi, berhenti sementara, atau menampilkan kesalahan. Uji masing-masing, bukan hanya browser.
Alat WebDAV dan klien kalender atau kontak adalah integrasi terpisah dengan konfigurasinya sendiri. Klien yang menyimpan URL publik di cache terus mencoba URL itu setelah perubahan perimeter, dan kegagalannya tampak seperti masalah aplikasi.
Tautan bersama memerlukan keputusan eksplisit. Tautan tidak memberi penerimanya akses VPN, jadi dalam desain yang benar-benar hanya VPN penerima luar tidak dapat menggunakannya meskipun tautannya valid. Jika berbagi ke luar diperlukan, itu pengecualian yang disengaja dengan jalur aksesnya sendiri, bukan kelalaian yang ditemukan kemudian.
Federasi dan integrasi server-ke-server memerlukan perlakuan yang sama. Itu adalah hubungan keterjangkauan antar instalasi, dan penerapan yang hanya privat harus menyatakan apakah keduanya didukung.
Terima kasus yang diizinkan dan yang ditolak
Dari klien yang disetujui, periksa antarmuka web dan unggahan atau unduhan file biasa. Lalu periksa klien sinkronisasi dan satu alur kerja di luar browser. Keberhasilan hanya di browser bukan penerimaan.
Dari jalur yang tidak disetujui, pastikan aplikasi tidak terjangkau melalui setiap pintu masuk dalam inventaris. Uji nama host alternatif dan alamat IPv6, bukan hanya URL utama.
Terakhir, tinjau pengaturan aplikasi yang mudah tertukar dengan kebijakan jaringan. trusted_domains mencantumkan nama yang diterima instans; itu bukan daftar izin IP klien. Jika proxy balik memasok informasi alamat, trusted_proxies harus menyebut proxy sebenarnya, dan header yang diteruskan sebaiknya hanya diterima darinya.
Lanjutkan pekerjaan penguatan biasa bersama perubahan jaringan: jauhkan data dan cadangan dari jalur web yang tidak dimaksudkan, tambal aplikasi, lindungi akses administrator, dan jaga pemulihan tetap dapat digunakan. VPN menghapus satu permukaan masuk; itu tidak membuat klien terdaftar dapat dipercaya.