Anda menjalankan ss -lntup di host Access Server dan mendapatkan daftar dua kali lebih panjang dari yang diharapkan. Separuh entri adalah port berbentuk daemon yang tidak disebutkan siapa pun saat penyiapan. Refleksnya adalah menutup semua yang bukan 443 atau 1194, dan begitulah orang merusak portal klien mereka sendiri.

Access Server bukan satu listener. Ini adalah layanan VPN, layanan web, dan peserta klaster, dan dapat membuat port tambahan khusus daemon serta pengalihan firewall tergantung berapa banyak daemon TCP yang Anda konfigurasi.

Telusuri inventaris secara berurutan: baca soket, petakan yang dikenal, klasifikasikan sisanya berdasarkan pemilik dan pengikatan, lalu periksa apa yang sebenarnya mempublikasikannya.

Mulai dengan satu perintah hanya-baca

sudo ss -lntup memberi Anda transportasi, alamat lokal, port, dan proses pemilik untuk setiap soket yang mendengarkan. Flag-nya penting: -l mendengarkan, -n numerik, -t TCP, -u UDP, -p proses. Tanpa root Anda mendapatkan soket tetapi bukan nama proses, dan itulah tepatnya kolom yang Anda butuhkan untuk klasifikasi.

Catat empat bidang per baris sebelum membentuk pendapat apa pun: protokol, alamat pengikatan, port, dan perintah. Simpan versi Access Server dan jumlah daemon yang dikonfigurasi di samping daftar itu, karena keduanya mengubah apa yang diharapkan.

Dua baris yang terlihat identik tidaklah sama. TCP dan UDP pada nomor yang sama adalah soket terpisah dengan eksposur terpisah, dan 0.0.0.0 dan :: adalah pengikatan terpisah untuk keluarga alamat terpisah. Layanan yang terikat hanya ke 127.0.0.1 tidak dapat dijangkau langsung dari host lain, meskipun pengalihan lokal masih dapat mempublikasikannya.

Listener yang harus Anda kenali

Nilai bawaan ini mencakup sebagian besar penerapan dan memberi Anda garis dasar untuk dibandingkan. Ini adalah nilai bawaan, bukan daftar izin lengkap.

SocketRole to confirm
UDP 1194OpenVPN UDP tunnel listener
TCP 443OpenVPN TCP listener, optionally forwarded to the web service
TCP 943Admin and client web interfaces, and cluster control in Access Server 3.0 and later
TCP 945Cluster control in older configurations that predate the move to 943

Segala sesuatu di luar itu memerlukan penjelasan, bukan asumsi. Anda akan sering melihat listener hanya-lokal milik komponen yang dipasang produk untuk dirinya sendiri. Konfirmasikan melalui PID dan konfigurasi layanan, bukan melalui nomor port yang diingat, dan jangan menganggap port yang tidak dikenal sebagai musuh hanya karena tidak dikenal.

Soket di luar pasangan yang dikenal juga tidak otomatis merupakan sisa. Ketika beberapa daemon TCP dikonfigurasi, Access Server membuat listener per daemon dan mengalihkan lalu lintas ke sana, sehingga jumlah dan nilai port mereka mengikuti konfigurasi itu.

Klasifikasikan sebelum menutup apa pun

Untuk setiap baris yang tidak pasti, jawab tiga pertanyaan dalam urutan ini.

  1. Pemilik dan tujuan. Cocokkan PID dengan unit atau proses dan baca konfigurasi layanan itu. Jika Anda tidak dapat menyebutkan pemiliknya, Anda belum siap memutuskan apa pun tentang soket itu.
  2. Cakupan pengikatan. Loopback bersifat lokal untuk ruang nama. Pengikatan wildcard hanya dapat dijangkau jika perutean, penyaringan host, dan aturan tingkat cloud mana pun mengizinkannya, jadi alamat pengikatan perlu tetapi tidak cukup. Periksa IPv4 dan IPv6 sebagai keputusan terpisah.
  3. Jalur yang dipublikasikan. Cari penerusan layanan, pengalihan khusus daemon, proxy eksternal, dan kebijakan firewall yang efektif. Inilah langkah yang dilewati orang, dan inilah yang mengubah port backend yang tampak tidak berbahaya menjadi jalur administratif yang dapat dijangkau.

Pertanyaan yang sama terbaca berbeda dari luar host. Port tanpa aturan firewall host masih dapat ditutup oleh grup keamanan cloud, dan port dengan aturan host yang permisif mungkin tidak dapat dijangkau karena tidak ada yang merutekan ke sana. Lihat kedua ujungnya sebelum menulis kesimpulan inventaris.

Di mana jalur yang dipublikasikan berbeda dari daftar soket

Dokumentasi Access Server sendiri mencakup kasus yang paling banyak menimbulkan kebingungan: ketika beberapa daemon TCP berjalan, port depan meneruskan ke port khusus daemon, dan tata letak yang terlihat berhenti cocok dengan daftar soket. tutorial penyaringan antarmuka web menjelaskan aturan tersebut dan mengapa filter yang ditulis hanya untuk port yang jelas dapat melewatkan jalur yang dialihkan sepenuhnya.

Kontrol klaster adalah tempat kedua di mana versi berperan. Pada 3.0 dan lebih baru, ini berbagi 943; konfigurasi klaster lama menggunakan 945. Membuka atau memblokir salah satunya tanpa memeriksa versi menghasilkan inventaris yang tampak rapi dan salah.

Jadi permukaan yang terlihat dari luar adalah gabungan tiga hal: soket yang mendengarkan, aturan penerusan yang mempublikasikannya kembali, dan kontrol jaringan di depan host. Inventaris apa pun yang hanya mencatat yang pertama tidak lengkap, dan perubahan apa pun yang hanya mempertimbangkan yang pertama akan membiarkan jalur terbuka atau memotong layanan.

Verifikasi setelah setiap perubahan

Ubah pengaturan listener melalui pemilik konfigurasi yang didukung dan pertahankan konsol pemulihan tetap terbuka saat melakukannya. Kehilangan akses administratif ke antarmuka web di host jarak jauh tidak dapat dipulihkan melalui VPN yang baru saja Anda nonaktifkan.

Lalu validasi empat hal yang biasanya dibutuhkan penerapan: klien VPN terhubung, portal klien dimuat, akses administratif berfungsi, dan komunikasi klaster masih berfungsi jika Anda menjalankan lebih dari satu node. Uji hanya-VPN lolos dengan nyaman saat portal rusak.

Akhiri dengan menuliskan jalur yang diizinkan untuk setiap layanan: soket mana, pengikatan mana, aturan penerusan mana, kontrol jaringan mana. Dokumen itulah keluaran keamanan yang berguna. Jumlah soket minimum bukan, dan bukan pula pengaturan ulang massal yang menutup listener yang belum selesai diidentifikasi siapa pun.

Artikel terkait