Menjalankan VPN dan situs web di satu host tanpa benturan
Satu host dapat melayani situs dan mengakhiri peer VPN, tetapi hanya dengan keputusan tegas tentang pendengar, identitas, dan administrasi. Lalu uji batasannya.
Ketika Anda berbagi satu host antara situs publik dan VPN, Anda mewarisi dua pertanyaan, bukan satu: apa yang mendengarkan di mana, dan siapa mengautentikasi siapa. Jawab keduanya sebelum menyentuh berkas konfigurasi, karena nilai bawaan salah dengan cara yang hanya terlihat di bawah beban. Halaman yang dimuat lewat HTTPS membuktikan pendengar web menjawab dan tidak mengatakan apa pun tentang pendengar peer. Berikut ini adalah urutan keputusan yang mencegah keduanya saling memakan.
Putuskan apa yang mendengarkan di alamat dan transport mana
Tulis tabel dengan tiga kolom, alamat, transport, dan port, serta satu baris per layanan, termasuk antarmuka administratif. TCP 443 untuk situs dan UDP 443 untuk VPN bukan benturan meskipun angkanya sama, karena transportnya berbeda. Dua layanan pada alamat, transport, dan port yang sama memerlukan pengaturan yang didokumentasikan implementasi, bukan yang Anda karang saat gangguan. Tabel itu juga artefak yang membuat perubahan berikutnya dapat ditinjau.
Alamat terpisah atau port kedua membuat kepemilikan terlihat dalam tangkapan paket, dan itu lebih bernilai daripada keanggunan. Beberapa implementasi VPN mendukung berbagi port dengan server web, tetapi mekanismenya spesifik: daemon memeriksa bita pertama dan meneruskan lalu lintas yang bukan protokolnya sendiri. Proksi balik HTTP generik tidak melakukan itu, dan menulis ulang header tidak akan membuatnya memahami jabat tangan terowongan terenkripsi. Baca catatan penerapan protokolnya, seperti dokumentasi pendengar OpenVPN, dan ikuti pengaturan yang dijelaskannya.
Putuskan identitas mana milik layanan mana
Sertifikat peramban dan kredensial peer VPN adalah objek berbeda dengan model kepercayaan berbeda. Sertifikat web divalidasi oleh otoritas publik dan menyebut nama host, sedangkan kredensial peer mengautentikasi perangkat atau pengguna ke konsentrator dan dapat ditandatangani sendiri atau diterbitkan secara internal. Menggunakan yang satu sebagai yang lain berhasil dalam kasus sempit dan jarang sepadan dengan keterkaitannya. Menonaktifkan verifikasi agar sertifikat bersama cocok bukanlah rencana pemisahan; itu menghapus pemeriksaan yang memberi makna pada kredensial.
Jaga kedua penyimpanan tetap independen dan catat otoritas mana yang menerbitkan masing-masing. Ketika satu diputar, yang lain seharusnya tidak perlu berubah, dan jika berubah, keterkaitan itulah yang harus diperbaiki.
Putuskan di mana administrasi tinggal
Antarmuka administratif VPN berada di jalur manajemen, tidak pernah di pendengar publik, bahkan ketika host sudah melayani internet. Server web di 443 tidak berarti konsol peer harus dapat dijangkau dari mana saja, dan konsol biasanya menjadi sasaran bernilai lebih tinggi. Ikat ke alamat loopback atau manajemen, batasi berdasarkan sumber, dan pertahankan jalur pemulihan yang tidak bergantung pada terowongan menyala. Jalur pemulihan penting karena kegagalan umum adalah mengunci diri di luar saat memperbaiki kuncinya.
Tulis aturan firewall yang sempit, satu per pendengar, sambil menyebut antarmuka atau akun layanan bila platform mendukungnya. Aturan luas yang membuka host karena situs membutuhkan 443 adalah cara antarmuka administratif berakhir di indeks pemindai.
Tinjau aturan itu terhadap tabel pendengar setiap kali layanan ditambahkan. Peninjauan itu murah dan menangkap aturan yang ditambahkan seseorang pada pukul dua pagi.
Putuskan apa yang harus dilakukan ketika keduanya bersaing
Berbagi host berarti berbagi CPU, memori, deskriptor berkas, dan lebar pita, dan sumber daya yang diperebutkan tidak selalu yang jelas. Situs yang sibuk dapat memenuhi tabel koneksi, menghabiskan slot pekerja, atau mendorong antrean disk cukup keras sehingga pencatatan VPN tersendat. Pantau penggunaan per layanan alih-alih total host, karena rata-rata menyembunyikan proses mana yang kelaparan. Jika satu beban kerja berulang kali mengganggu yang lain, isolasi keduanya alih-alih menyetel di sekitar gejalanya.
Isolasi dapat berupa kontainer, batas cgroup, antrean terpisah, atau host kedua, dan pilihan yang tepat bergantung pada sumber daya mana yang bersaing. Perubahan port tidak memperbaiki apa pun di sini, dan instans yang lebih besar tidak memperbaiki apa pun jika batasnya satu antrean jenuh. Putuskan dengan pengukuran: sebutkan sumber dayanya, bebani, lalu pilih isolasi terkecil yang menghilangkan persaingan.
Verifikasi dari luar, lalu sekali lagi setelah mulai ulang
Uji dari perangkat yang tidak berada di jaringan host itu sendiri: muat situsnya, angkat terowongannya, dan capai satu sumber daya yang membutuhkannya. Lalu mulai ulang setiap layanan sendiri-sendiri dan ulangi uji lainnya, karena mulai ulang adalah saat pengaturan pendengar bersama kehilangan urutannya. Jika VPN mulai sebelum server web yang memiliki port bersama, mekanisme berbagi mungkin tidak pernah terpasang, dan gejalanya adalah terowongan yang kemarin berfungsi. Buat ketergantungan itu eksplisit dalam urutan unit.
Lalu pastikan batasannya: situs menjawab di portnya, VPN menjawab di portnya sendiri, dan antarmuka administratif hanya menjawab dari jalur manajemen. Catat hasilnya di samping tabel pendengar beserta tanggalnya. Host yang lolos ketiga pemeriksaan setelah mulai ulang adalah host yang dapat Anda serahkan kepada orang lain tanpa pengarahan.