Mengapa pengguna jarak jauh ASA menjangkau subnet tetapi tidak aplikasinya
Rute membuktikan tunnel berfungsi, bukan bahwa pengguna boleh membuka aplikasi. Baca filter yang diterima sesi, lalu uji koneksi yang diizinkan dan yang ditolak.
Pengguna Anda terhubung, mendapat alamat, melakukan ping ke server di subnet aplikasi, dan tetap tidak bisa membuka layanan di sana. Kombinasi itu normal pada ASA, karena tunnel yang berhasil dan izin yang dapat dipakai ditentukan oleh pengaturan yang berbeda. Daftar split-tunnel memilih tujuan mana yang masuk ke tunnel; filter VPN dan aturan akses milik tujuan sendiri menentukan apa yang boleh dijangkau permintaan yang didekripsi. Jalani ketiga keputusan secara berurutan alih-alih memperlebar daftar rute sampai ada yang berubah.
Tiga keputusan yang mudah tertukar
Penerimaan menjawab apakah pengguna boleh membangun tunnel sama sekali: kredensial, sertifikat, dan faktor kedua apa pun. Pemilihan rute menjawab tujuan mana yang dikirim klien ke tunnel itu. Otorisasi menjawab apakah permintaan yang didekripsi boleh menjangkau layanan. Hanya yang ketiga menghasilkan kesalahan yang dilaporkan pengguna.
Cara cepat membedakannya adalah bertanya apa yang akan rusak akibat suatu perubahan. Menghapus rute dari daftar split menghentikan lalu lintas ke subnet itu tanpa memberikan apa pun; menambahkan ACE ke filter VPN memberikan tujuan tanpa mengubah apa yang dimasukkan klien ke tunnel.
| Setting | What it decides | Symptom when it is wrong |
|---|---|---|
| Connection profile and authentication | Whether the tunnel is built | Login fails, no address assigned |
| Split-tunnel network list | Which destinations the client routes into the tunnel | Subnet unreachable from the client, everything else fine |
| VPN filter (ACL) | Which decrypted flows are permitted | Tunnel up, ping may work, TCP service refused or dropped |
Baca filter yang benar-benar diterima sesi
Mulailah dari sesi yang aktif, bukan dari konfigurasi yang Anda anggap berlaku. show vpn-sessiondb detail anyconnect mencetak kebijakan grup yang diberikan dan nama filter yang terpasang pada sesi itu. Jika kolomnya kosong, tidak ada filter yang menegakkan apa pun dan blokir datang dari tempat lain.
Lalu baca kebijakan yang memiliki nilai itu, termasuk nilai bawaan, karena filter bisa diwarisi bukan ditulis di tempat yang Anda lihat:
show run all group-policy <policy-name>
show run access-list <acl-name>
show run webvpn
Bandingkan nama filter pada sesi dengan ACL yang baru saja Anda edit. ACL bernama serupa yang tidak pernah diterima pengguna tidak dapat mengubah kebijakan sumber daya sesi itu, dan inilah alasan paling umum perubahan yang tampak benar tidak berefek.
Prioritas menjelaskan sisanya. Untuk pengaturan filter, catatan DAP mengalahkan atribut nama pengguna, dan atribut nama pengguna mengalahkan kebijakan grup. Ketika sesi menampilkan filter yang tidak Anda duga, cari kebijakan DAP yang cocok dengan pengguna itu sebelum menyentuh grup.
Daftar split dan filter adalah kolom terpisah
Pada ASA 9.x kebijakan grup menyimpan split-tunnel-network-list dan vpn-filter sebagai pengaturan berbeda, dan panduan kebijakan grup 9.22 mendokumentasikannya secara terpisah justru karena itu. Daftar jaringan adalah petunjuk perutean bagi klien; filter adalah daftar kendali akses yang diterapkan pada lalu lintas yang didekripsi.
Perbedaan itu penting ketika pengguna membutuhkan satu layanan HTTPS di sebuah subnet. Letakkan subnet di daftar split agar paket masuk ke tunnel, lalu izinkan hanya layanan itu di filter. Memperluas daftar rute tidak mengotorisasi apa pun, dan mempersempitnya bukan mekanisme penegakan.
Periksa apakah ACL antarmuka bahkan ada di jalur
Lalu lintas akses jarak jauh yang didekripsi tidak selalu melewati ACL antarmuka luar seperti yang orang duga. Di tempat sysopt connection permit-vpn diaktifkan, ASA menerapkan pengabaian VPN terdokumentasinya untuk lalu lintas itu, sementara filter VPN yang berlaku tetap berlaku sesudahnya. Periksa pengaturan dengan show run all sysopt alih-alih menalar dari diagram topologi.
Apa pun caranya, firewall host tujuan dan otorisasi aplikasi tetap ada di jalur. Aturan ASA yang mengizinkan TCP 443 tidak membuat aplikasi menerima pengguna.
Terima perubahan itu juga dengan koneksi yang ditolak
Uji yang diizinkan saja membuktikan sangat sedikit, karena tunnel yang berfungsi menghasilkan paket pertama yang sama entah ada filter atau tidak. Buka layanan yang dimaksud dari klien, lalu coba tujuan yang seharusnya tetap tertutup dan pastikan gagal karena alasan yang benar.
Catat empat fakta saat menutup tiket: identitas yang diterima, kebijakan dan filter yang benar-benar diterima sesi, tujuan di daftar split, dan sumber daya yang diizinkan dicapai pengguna. Keempatnya menjelaskan di mana lalu lintas dikendalikan tanpa mengubah daftar rute menjadi firewall.
Jika layanan tetap menolak setelah filter mengizinkannya, lanjut ke host: alamat dengar, firewall host, dan pemetaan pengguna milik aplikasi. Tunnel sudah menjalankan tugasnya saat itu, dan perubahan ASA lebih lanjut hanya menambah risiko.