Pada artikel ini, saya ingin memberikan petunjuk langkah demi langkah tentang cara cepat menerapkan skema yang paling dapat diskalakan saat ini. VPN Akses Jarak Jauh berbasis akses AnyConnect dan Cisco ASA - Kluster Penyeimbang Beban VPN.
Pengantar: Banyak perusahaan di seluruh dunia, mengingat situasi saat ini dengan COVID-19, berupaya memindahkan karyawannya ke pekerjaan jarak jauh. Karena transisi massal ke pekerjaan jarak jauh, beban pada gateway VPN perusahaan yang ada meningkat secara kritis dan diperlukan kemampuan yang sangat cepat untuk menskalakannya. Di sisi lain, banyak perusahaan yang terpaksa buru-buru menguasai konsep kerja jarak jauh dari nol.
Saya telah menyiapkan panduan langkah demi langkah untuk penyebaran sederhana VPN Load-Balancing Cluster sebagai teknologi VPN yang paling dapat diskalakan.
Contoh di bawah ini akan cukup sederhana dalam hal algoritma autentikasi dan otorisasi yang digunakan, tetapi akan menjadi opsi yang baik untuk memulai dengan cepat (yang saat ini tidak cukup untuk banyak orang) dengan kemungkinan adaptasi mendalam dengan kebutuhan Anda selama penerapan proses.
Informasi singkat: Teknologi VPN Load Balancing Cluster bukanlah failover dan bukan fungsi pengelompokan dalam arti aslinya, teknologi ini dapat menggabungkan model ASA yang sama sekali berbeda (dengan batasan tertentu) untuk menyeimbangkan beban koneksi VPN Akses Jarak Jauh. Tidak ada sinkronisasi sesi dan konfigurasi antara node cluster seperti itu, tetapi dimungkinkan untuk secara otomatis memuat keseimbangan koneksi VPN dan memastikan toleransi kesalahan koneksi VPN hingga setidaknya satu node aktif tetap berada di cluster. Beban di kluster secara otomatis diseimbangkan tergantung pada beban kerja node dengan jumlah sesi VPN.
Untuk failover node tertentu dari cluster (jika diperlukan), sebuah filer dapat digunakan, sehingga koneksi aktif akan ditangani oleh node utama dari filer. Fileover bukanlah kondisi yang diperlukan untuk memastikan toleransi kesalahan dalam klaster Load-Balancing, klaster itu sendiri, jika terjadi kegagalan node, akan mentransfer sesi pengguna ke live node lain, tetapi tanpa menyimpan status koneksi, tepatnya disediakan oleh filer. Oleh karena itu, jika perlu, dimungkinkan untuk menggabungkan kedua teknologi ini.
Cluster Load-Balancing VPN dapat berisi lebih dari dua node.
Klaster Penyeimbang Beban VPN didukung pada ASA 5512-X ke atas.
Karena setiap ASA dalam klaster Load-Balancing VPN merupakan unit independen dalam hal pengaturan, kami melakukan semua langkah konfigurasi secara individual pada setiap perangkat individu.
Kami menyebarkan contoh ASAv dari templat yang kami butuhkan (ASAv5/10/30/50) dari gambar.
Kami menetapkan antarmuka INSIDE / OUTSIDE ke VLAN yang sama (Di luar di VLAN-nya sendiri, DI DALAM miliknya sendiri, tetapi umumnya di dalam cluster, lihat topologi), penting bahwa antarmuka dengan tipe yang sama berada di segmen L2 yang sama.
Lisensi:
Saat ini instalasi ASAv tidak memiliki lisensi apapun dan akan dibatasi hingga 100kbps.
Untuk menginstal lisensi, Anda perlu membuat token di Akun Cerdas Anda: https://software.cisco.com/ -> Lisensi Perangkat Lunak Cerdas
Di jendela yang terbuka, klik tombol Token Baru
Pastikan di jendela yang terbuka ada bidang aktif dan tanda centang dicentang Izinkan fungsionalitas yang dikontrol ekspor⦠Tanpa bidang ini aktif, Anda tidak akan dapat menggunakan fungsi enkripsi yang kuat dan, karenanya, VPN. Jika bidang ini tidak aktif, harap hubungi tim akun Anda dengan permintaan aktivasi.
Setelah menekan tombol Buat Token, token akan dibuat yang akan kami gunakan untuk mendapatkan lisensi ASAv, salin:
Ulangi langkah C,D,E untuk setiap ASAv yang diterapkan.
Agar lebih mudah menyalin token, izinkan sementara telnet. Mari konfigurasikan setiap ASA (contoh di bawah menggambarkan pengaturan pada ASA-1). telnet tidak berfungsi dengan di luar, jika Anda benar-benar membutuhkannya, ubah tingkat keamanan menjadi 100 ke luar, lalu kembalikan.
!
ciscoasa(config)# int gi0/0
ciscoasa(config)# nameif outside
ciscoasa(config)# ip address 192.168.31.30 255.255.255.0
ciscoasa(config)# no shut
!
ciscoasa(config)# int gi0/1
ciscoasa(config)# nameif inside
ciscoasa(config)# ip address 192.168.255.2 255.255.255.0
ciscoasa(config)# no shut
!
ciscoasa(config)# telnet 0 0 inside
ciscoasa(config)# username admin password cisco priv 15
ciscoasa(config)# ena password cisco
ciscoasa(config)# aaa authentication telnet console LOCAL
!
ciscoasa(config)# route outside 0 0 192.168.31.1
!
ciscoasa(config)# wr
!
Untuk mendaftarkan token di cloud Smart-Account, Anda harus menyediakan akses Internet untuk ASA, rincian di sini.
Singkatnya, ASA diperlukan:
akses melalui HTTPS ke Internet;
sinkronisasi waktu (lebih tepatnya, melalui NTP);
server DNS terdaftar;
Kami melakukan telnet ke ASA kami dan membuat pengaturan untuk mengaktifkan lisensi melalui Smart-Account.
Agar ASDM berfungsi, Anda harus mengunduhnya terlebih dahulu dari situs web cisco.com, dalam kasus saya ini adalah file berikut:
Agar klien AnyConnect berfungsi, Anda perlu mengunggah gambar ke setiap ASA untuk setiap OS desktop klien yang digunakan (direncanakan untuk menggunakan Linux / Windows / MAC), Anda memerlukan file dengan Paket Penerapan Headend Dalam judul:
File yang diunduh dapat diunggah, misalnya, ke server FTP dan diunggah ke masing-masing ASA:
Kami mengonfigurasi sertifikat ASDM dan Self-Signed untuk SSL-VPN (disarankan untuk menggunakan sertifikat tepercaya dalam produksi). Set FQDN dari Alamat Cluster Virtual (vpn-demo.ashes.cc), serta setiap FQDN yang terkait dengan alamat eksternal dari setiap node cluster, harus diselesaikan di zona DNS eksternal ke alamat IP dari antarmuka OUTSIDE (atau ke alamat yang dipetakan jika port forwarding udp/443 digunakan (DTLS) dan tcp/443(TLS)). Informasi terperinci tentang persyaratan sertifikat ditentukan di bagian ini Verifikasi Sertifikat dokumentasi.
!
vpn-demo-1(config)# crypto ca trustpoint SELF
vpn-demo-1(config-ca-trustpoint)# enrollment self
vpn-demo-1(config-ca-trustpoint)# fqdn vpn-demo.ashes.cc
vpn-demo-1(config-ca-trustpoint)# subject-name cn=*.ashes.cc, ou=ashes-lab, o=ashes, c=ru
vpn-demo-1(config-ca-trustpoint)# serial-number
vpn-demo-1(config-ca-trustpoint)# crl configure
vpn-demo-1(config-ca-crl)# cry ca enroll SELF
% The fully-qualified domain name in the certificate will be: vpn-demo.ashes.cc
Generate Self-Signed Certificate? [yes/no]: yes
vpn-demo-1(config)#
!
vpn-demo-1(config)# sh cry ca certificates
Certificate
Status: Available
Certificate Serial Number: 4d43725e
Certificate Usage: General Purpose
Public Key Type: RSA (4096 bits)
Signature Algorithm: SHA256 with RSA Encryption
Issuer Name:
serialNumber=9A439T02F95
hostname=vpn-demo.ashes.cc
cn=*.ashes.cc
ou=ashes-lab
o=ashes
c=ru
Subject Name:
serialNumber=9A439T02F95
hostname=vpn-demo.ashes.cc
cn=*.ashes.cc
ou=ashes-lab
o=ashes
c=ru
Validity Date:
start date: 00:16:17 MSK Mar 19 2020
end date: 00:16:17 MSK Mar 17 2030
Storage: config
Associated Trustpoints: SELF
CA Certificate
Status: Available
Certificate Serial Number: 0509
Certificate Usage: General Purpose
Public Key Type: RSA (4096 bits)
Signature Algorithm: SHA1 with RSA Encryption
Issuer Name:
cn=QuoVadis Root CA 2
o=QuoVadis Limited
c=BM
Subject Name:
cn=QuoVadis Root CA 2
o=QuoVadis Limited
c=BM
Validity Date:
start date: 21:27:00 MSK Nov 24 2006
end date: 21:23:33 MSK Nov 24 2031
Storage: config
Associated Trustpoints: _SmartCallHome_ServerCA
Jangan lupa untuk menentukan port untuk memeriksa apakah ASDM berfungsi, misalnya:
Mari kita lakukan pengaturan dasar terowongan:
Mari kita buat jaringan perusahaan tersedia melalui terowongan, dan biarkan Internet langsung (bukan metode teraman jika tidak ada perlindungan pada host penghubung, dimungkinkan untuk menembus host yang terinfeksi dan menampilkan data perusahaan, opsi terowongan-terowongan-kebijakan terowongan-terpisah akan membiarkan semua lalu lintas host masuk ke terowongan. Namun demikian split-tunnel memungkinkan untuk membongkar gateway VPN dan tidak memproses lalu lintas Internet host)
Mari terbitkan alamat dari subnet 192.168.20.0/24 ke host di terowongan (kumpulkan dari 10 hingga 30 alamat (untuk node #1)). Setiap node cluster VPN harus memiliki kumpulannya sendiri.
Kami akan melakukan otentikasi dasar dengan pengguna yang dibuat secara lokal di ASA (Ini tidak disarankan, ini adalah metode termudah), lebih baik melakukan otentikasi melalui LDAP/RADIUS, atau lebih baik lagi, dasi Autentikasi Multi-Faktor (MFA), Mis Cisco DUO.
(OPSIONAL): Dalam contoh di atas, kami menggunakan pengguna lokal di ITU untuk mengautentikasi pengguna jarak jauh, yang tentu saja, kecuali di laboratorium, tidak dapat diterapkan dengan baik. Saya akan memberikan contoh cara cepat mengadaptasi pengaturan untuk otentikasi RADIUS server, misalnya digunakan Mesin Layanan Identitas Cisco:
Integrasi ini memungkinkan tidak hanya untuk dengan cepat mengintegrasikan prosedur otentikasi dengan layanan direktori AD, tetapi juga untuk membedakan apakah komputer yang terhubung milik AD, untuk memahami apakah perangkat ini perusahaan atau pribadi, dan untuk menilai status perangkat yang terhubung .
Mari konfigurasikan NAT Transparan agar lalu lintas antara klien dan sumber daya jaringan jaringan korporat tidak tergores:
vpn-demo-1(config-network-object)# subnet 192.168.20.0 255.255.255.0
!
vpn-demo-1(config)# nat (inside,outside) source static any any destination static vpn-users vpn-users no-proxy-arp
(OPSIONAL): Untuk mengekspos klien kami ke Internet melalui ASA (saat menggunakan terowongan semua opsi) menggunakan PAT, serta keluar melalui antarmuka LUAR yang sama dari mana mereka terhubung, Anda perlu melakukan pengaturan berikut
Saat menggunakan cluster, sangat penting untuk mengaktifkan jaringan internal untuk memahami ASA mana yang akan merutekan lalu lintas kembali ke pengguna, untuk ini Anda perlu mendistribusikan ulang rute / 32 alamat yang dikeluarkan untuk klien.
Saat ini, kami belum mengonfigurasi cluster, tetapi kami sudah memiliki gateway VPN yang berfungsi yang dapat dihubungkan secara individual melalui FQDN atau IP.
Kami melihat klien yang terhubung di tabel perutean ASA pertama:
Agar seluruh cluster VPN kami dan seluruh jaringan perusahaan mengetahui rute ke klien kami, kami akan mendistribusikan ulang awalan klien ke dalam protokol perutean dinamis, misalnya OSPF:
Sekarang kami memiliki rute ke klien dari gateway ASA-2 kedua dan pengguna yang terhubung ke gateway VPN berbeda di dalam cluster dapat, misalnya, berkomunikasi langsung melalui softphone perusahaan, serta mengembalikan lalu lintas dari sumber daya yang diminta oleh pengguna akan datang ke gateway VPN yang diinginkan:
Mari beralih ke konfigurasi klaster Load-Balancing.
Alamat 192.168.31.40 akan digunakan sebagai IP Virtual (VIP - semua klien VPN pada awalnya akan terhubung dengannya), dari alamat ini cluster Master akan membuat REDIRECT ke node cluster yang kurang dimuat. Jangan lupa untuk menulis meneruskan dan membalikkan catatan DNS baik untuk setiap alamat eksternal / FQDN dari setiap node cluster, dan untuk VIP.
Kami memeriksa pengoperasian cluster dengan dua klien yang terhubung:
Mari buat pengalaman pelanggan lebih nyaman dengan profil AnyConnect yang dimuat secara otomatis melalui ASDM.
Kami memberi nama profil dengan cara yang nyaman dan mengaitkan kebijakan grup kami dengannya:
Setelah koneksi klien berikutnya, profil ini akan diunduh dan diinstal secara otomatis di klien AnyConnect, jadi jika Anda perlu terhubung, cukup pilih dari daftar:
Karena kita membuat profil ini hanya pada satu ASA menggunakan ASDM, jangan lupa untuk mengulangi langkah-langkah pada ASA lainnya di cluster.
Kesimpulan: Oleh karena itu, kami dengan cepat menerapkan sekelompok gateway VPN dengan penyeimbangan muatan otomatis. Menambahkan node baru ke cluster itu mudah, dengan penskalaan horizontal sederhana dengan menerapkan mesin virtual ASAv baru atau menggunakan ASA perangkat keras. Klien AnyConnect yang kaya fitur dapat sangat meningkatkan koneksi jarak jauh yang aman dengan menggunakan Postur (perkiraan negara), paling efektif digunakan bersama dengan sistem kontrol terpusat dan akuntansi akses Mesin Layanan Identitas.