Juniper SRX dan Cisco ASA: Next Series

Pertama kali saya membangun IPSec antara Juniper SRX dan Cisco ASA kembali pada tahun 2014. Bahkan saat itu sangat menyakitkan, karena ada banyak masalah (biasanya terowongan berantakan selama regenerasi), sulit untuk mendiagnosis (ASA ada di tempat pelanggan kami, jadi peluang debug terbatas), tetapi entah bagaimana itu berhasil.

gambar

Sejak itu, JunOS yang disarankan untuk SRX telah diperbarui ke 15.1 (untuk jalur SRX300, setidaknya), dan ASA telah belajar cara menggunakan IPSec berbasis rute (versi perangkat lunak 9.8), yang sedikit menyederhanakan konfigurasi. Dan pada pekerjaan saat ini belum lama ini ada kesempatan untuk menyusun skema seperti itu lagi. Dan lagi, tidak berhasil - selama regenerasi, terowongan jatuh dengan aman (dan tidak selalu naik tanpa restart manual). Dan lagi dalam log keheningan dan kebingungan, tetapi karena ASA bersama mitra kami, maka tidak ada cara untuk debut, masing-masing.

Dan sekarang kesempatan muncul dengan sendirinya untuk menyusun skema di mana kedua belah pihak (baik SRX dan ASA) berada di bawah kendali kami, masing-masing, Anda dapat bermain untuk selamanya.

Disposisi


Jadi apa yang kita miliki:

  • Juniper SRX340 (JunOS 15.1X49D150.2)
  • Cisco ASA 5506 (perangkat lunak 9.8.4)
  • rute berbasis IPSec di antara mereka (routing akan disediakan oleh BGP, saya juga akan mengatakan beberapa kata tentang itu)

Skema




Konfigurasi


Juniper


Mari kita mulai dengan konfigurasi SRX. Saya memiliki beberapa terowongan berbeda dibangun di atasnya, pada akhirnya saya sampai pada sesuatu seperti ini:

set security ike policy IKE-ASA mode main set security ike policy IKE-ASA proposals SHA256-AES128-5-86400 set security ike policy IKE-ASA pre-shared-key ascii-text ... set security ike gateway GW-ASA ike-policy IKE-ASA set security ike gateway GW-ASA address 192.0.2.2 set security ike gateway GW-ASA dead-peer-detection interval 10 set security ike gateway GW-ASA dead-peer-detection threshold 3 set security ike gateway GW-ASA local-identity inet 198.51.100.2 set security ike gateway GW-ASA external-interface ae0.4 set security ike gateway GW-ASA version v2-only set security ipsec vpn VPN-ASA bind-interface st0.7 set security ipsec vpn VPN-ASA df-bit clear set security ipsec vpn VPN-ASA vpn-monitor source-interface st0.7 set security ipsec vpn VPN-ASA vpn-monitor destination-ip 169.254.100.2 set security ipsec vpn VPN-ASA ike gateway GW-ASA set security ipsec vpn VPN-ASA ike ipsec-policy SHA256-AES128-3600-14-policy set security ipsec vpn VPN-ASA establish-tunnels immediately set interfaces st0 unit 7 description "ASA AnyConnect router" set interfaces st0 unit 7 family inet mtu 1436 set interfaces st0 unit 7 family inet address 169.254.100.1/30 set routing-options static route 192.0.2.2/32 next-hop 198.51.100.1 set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic system-services ping set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic system-services ike set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic system-services traceroute set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic protocols bgp 

Dapat dilihat bahwa IKEv2 digunakan, tanpa penyeleksi lalu lintas (kami telah memiliki cukup dana di gudang kami untuk membatasi aliran lalu lintas - dari daftar awalan BGP ke kebijakan keamanan). Untuk heap, DPD (dead peer detection) dan vpn-monitor digunakan (mereka memiliki tipe pemeriksaan yang sedikit berbeda, saya menggunakan keduanya untuk keandalan).

Cisco


Konfigurasi ASA:
 crypto ipsec ikev2 ipsec-proposal SHA256-AES128 protocol esp encryption aes-256 aes-192 aes protocol esp integrity sha-256 crypto ipsec profile IPSEC-PROFILE-AMS1-VPN2 set ikev2 ipsec-proposal SHA256-AES128 set pfs group14 set security-association lifetime kilobytes unlimited set security-association lifetime seconds 3600 crypto ikev2 policy 1 encryption aes-256 aes-192 aes integrity sha256 group 5 prf sha256 lifetime seconds 86400 tunnel-group 198.51.100.2 type ipsec-l2l tunnel-group 198.51.100.2 ipsec-attributes isakmp keepalive threshold 30 retry 10 ikev2 remote-authentication pre-shared-key ... ikev2 local-authentication pre-shared-key ... crypto ikev2 enable outside interface Tunnel7 nameif l2l-ams1-vpn2 ip address 169.254.100.2 255.255.255.252 tunnel source interface outside tunnel destination 198.51.100.2 tunnel mode ipsec ipv4 tunnel protection ipsec profile IPSEC-PROFILE-AMS1-VPN2 

Struktur konfigurasi kira-kira sama pada kedua router, tetapi, seperti biasa, nama bagian tidak cocok sama sekali. Mari kita bahas apa yang sesuai dengan apa.

Perbandingan Konfigurasi


Kebijakan / proposal IKE


 crypto ikev2 policy 1 encryption aes-256 aes-192 aes integrity sha256 group 5 prf sha256 lifetime seconds 86400 

 set security ike proposal SHA256-AES128-5-86400 description ike-phase1-proposal1 set security ike proposal SHA256-AES128-5-86400 authentication-method pre-shared-keys set security ike proposal SHA256-AES128-5-86400 dh-group group5 set security ike proposal SHA256-AES128-5-86400 authentication-algorithm sha-256 set security ike proposal SHA256-AES128-5-86400 encryption-algorithm aes-128-cbc set security ike proposal SHA256-AES128-5-86400 lifetime-seconds 86400 set security ike policy IKE-ASA mode main set security ike policy IKE-ASA proposals SHA256-AES128-5-86400 set security ike policy IKE-ASA pre-shared-key ascii-text ... 

Di sini dimulai beberapa kebingungan dalam terminologi. Apa yang Cisco sebut sebagai kebijakan IKE, Juniper memiliki Proposal IKE. Dan kebijakan IKE Juniper mirip dengan grup terowongan ASA ... Secara pribadi, saya lebih suka pendekatan Juniper, tetapi di sini, tentu saja, ini masalah kebiasaan.

Saya harus mengatakan bahwa mengkonfigurasi IKEv2 (terutama berbasis rute) pada ASA masih terlihat jauh lebih logis daripada peta crypto dan aib lainnya yang sebelumnya.

Kebijakan / proposal IPSec


 crypto ipsec ikev2 ipsec-proposal SHA256-AES128 protocol esp encryption aes-256 aes-192 aes protocol esp integrity sha-256 crypto ipsec profile IPSEC-PROFILE-SHA256-AES128-3600-14 set ikev2 ipsec-proposal SHA256-AES128 set pfs group14 set security-association lifetime kilobytes unlimited set security-association lifetime seconds 3600 

 set security ipsec proposal SHA256-AES128-3600 description ipsec-phase2-proposal set security ipsec proposal SHA256-AES128-3600 protocol esp set security ipsec proposal SHA256-AES128-3600 authentication-algorithm hmac-sha-256-128 set security ipsec proposal SHA256-AES128-3600 encryption-algorithm aes-128-cbc set security ipsec proposal SHA256-AES128-3600 lifetime-seconds 3600 set security ipsec policy SHA256-AES128-3600-14-policy description SHA256-AES128-3600-14-policy set security ipsec policy SHA256-AES128-3600-14-policy perfect-forward-secrecy keys group14 set security ipsec policy SHA256-AES128-3600-14-policy proposals SHA256-AES128-3600 

Di sini, kedua vendor melakukan plus atau minus dengan cara yang sama - pertama kita membuat proposal dengan parameter enkripsi / otentikasi, dan kemudian kita menggantung seumur hidup dan pfs di atasnya.

Gerbang


 tunnel-group 198.51.100.2 type ipsec-l2l tunnel-group 198.51.100.2 ipsec-attributes isakmp keepalive threshold 30 retry 10 ikev2 remote-authentication pre-shared-key ... ikev2 local-authentication pre-shared-key ... 

 set security ike gateway GW-ASA ike-policy IKE-ASA-LEGAL set security ike gateway GW-ASA address 192.0.2.2 set security ike gateway GW-ASA dead-peer-detection interval 10 set security ike gateway GW-ASA dead-peer-detection threshold 3 set security ike gateway GW-ASA local-identity inet 198.51.100.2 set security ike gateway GW-ASA external-interface ae0.4 set security ike gateway GW-ASA version v2-only 

Dan di sini perbedaannya lebih jelas. Pada ASA, PSK ditunjukkan secara langsung dalam pengaturan rekan. Juniper memungkinkan Anda menentukan antarmuka keluar dan opsi tambahan seperti identitas lokal, plus itu mengacu pada kebijakan ike (tempat kami menentukan PSK).

Omong-omong, jika Anda ingin mengonversi IKEv2 ke IKEv1 di ASA (dan sebaliknya), maka Cisco perlu membuat ulang seluruh grup-terowongan. Dan pada SRX, cukup ubah satu opsi. (Benar, opsi yang tidak kompatibel dapat muncul kemudian dengan komit, tetapi ini adalah rinciannya)

VPN / VTI


 interface Tunnel7 nameif l2l-ams1-vpn2 ip address 169.254.100.2 255.255.255.252 tunnel source interface outside tunnel destination 198.51.100.2 tunnel mode ipsec ipv4 tunnel protection ipsec profile IPSEC-PROFILE-SHA256-AES128-3600-14 

 set security ipsec vpn VPN-ASA bind-interface st0.7 set security ipsec vpn VPN-ASA df-bit clear set security ipsec vpn VPN-ASA vpn-monitor source-interface st0.7 set security ipsec vpn VPN-ASA vpn-monitor destination-ip 169.254.100.2 set security ipsec vpn VPN-ASA ike gateway GW-ASA set security ipsec vpn VPN-ASA ike ipsec-policy SHA256-AES128-3600-14-policy set security ipsec vpn VPN-ASA establish-tunnels immediately set interfaces st0 unit 7 description "AnyConnect router" set interfaces st0 unit 7 family inet mtu 1436 set interfaces st0 unit 7 family inet address 169.254.100.1/30 

Dan lagi konfigurasi Juniper menurut saya lebih logis. VPN dikonfigurasi secara terpisah (bisa juga berdasarkan kebijakan), terowongan keamanan itu sendiri terpisah. Terima kasih khusus untuk "membangun terowongan segera". Opsi yang sangat berguna;) (tsiskovody mengerti apa yang saya maksud). "Bonus" lain dari SRX adalah memungkinkan untuk membangun multipoint IPSecs, baik dengan deteksi otomatis dari rekan-rekan (sayangnya, hanya bekerja antara SRX), dan dengan rute manual. Ini, tentu saja, bukan DMVPN lengkap, tetapi kehidupan dalam pengaturan seperti "satu pusat - banyak cabang" membuatnya lebih mudah.

Antarmuka


Saya akan membahas secara terpisah tentang konfigurasi antarmuka tempat IPSec dibangun. Untuk Juniper, masing-masing, ae0.4 , untuk ASA di luar

 crypto ikev2 enable outside 

 set security zones security-zone ZONE-INTERNET interfaces ae0.4 host-inbound-traffic system-services ike set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic system-services ping set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic system-services traceroute set security zones security-zone ZONE-VPN interfaces st0.7 host-inbound-traffic protocols bgp 

Pada antarmuka, Anda harus mengaktifkan ike, jika tidak, tidak ada yang akan berhasil :) Selain itu, untuk SRX, Anda harus mengaktifkan bgp / ospf / apa pun untuk koneksi yang masuk pada antarmuka st0.x.

Konfigurasikan BGP


Semuanya cukup biasa di sini (di satu sisi)

 set protocols bgp group ASA type external set protocols bgp group ASA description "AnyConnect router" set protocols bgp group ASA hold-time 30 set protocols bgp group ASA import IMPORT-EBGP-ASA set protocols bgp group ASA export EXPORT-EBGP-ASA set protocols bgp group ASA local-as 64666 set protocols bgp group ASA neighbor 169.254.100.2 peer-as 65001 set policy-options policy-statement EXPORT-EBGP-ASA term 0 from route-filter 10.0.0.0/8 exact set policy-options policy-statement EXPORT-EBGP-ASA term 0 then accept set policy-options policy-statement EXPORT-EBGP-ASA term 1 then reject set policy-options policy-statement IMPORT-EBGP-ASA term 1 then reject 

Pada ASA kami memberikan awalan agregat LAN kami - Saya akan memilikinya 10/8. Kami tidak menerima apa pun dari ASA, karena dari versi perangkat lunak 9.8.4 Anda masih tidak dapat mengumumkan alamat antarmuka manajemen (yang dapat dimengerti) dan BVI (yang sangat tidak nyaman) melalui BGP. Tetapi jika Anda memiliki jaringan lain di belakang ASA, Anda harus menambahkannya ke kebijakan, tentu saja.

 asa(config-router-af)# network 10.255.32.252 mask 255.255.255.254 ERROR: BGP configuration not supported on management-only/BVI interface 

Untuk "melihat" antarmuka bagian dalam, Anda harus mendaftarkan rute statis pada SRX ke arah ipsec:

 set routing-options static route 10.255.32.252/31 next-hop 169.254.100.2 

Selain itu, ASA masih tidak tahu cara antarmuka loopback, jadi kami akan mengirim semua / netflow dan log lainnya dari dalam.

ASA5506 memiliki sakelar bawaan, sehingga Anda dapat menggunakan antarmuka BVI virtual (terutama berguna ketika Anda memiliki skema "router-on-stick", dan hanya satu port fisik yang digunakan.

 interface BVI1 nameif inside security-level 100 ip address 10.255.32.253 255.255.255.254 management-access inside 

Setelah itu, di tempat yang tepat (logging, snmp, flow), Anda perlu menentukan `inside` sebagai antarmuka sumber.

Jika ada yang salah alias troubleshooting


IKE / IPSec


Pertama, Anda harus menginstal kedua fase IPSec (untuk Juniper, ini sebenarnya adalah IKE / IPSec).

Kami melihat:

 admin@srx> show security ike security-associations Index State Initiator cookie Responder cookie Mode Remote Address 2128190 UP ae7d7d447326218a 2be3b3004ae0e36a IKEv2 192.0.2.2 admin@srx> show security ipsec security-associations Total active tunnels: 6 ID Algorithm SPI Life:sec/kb Mon lsys Port Gateway <131077 ESP:aes-cbc-128/sha256 fec3c7d1 2867/ unlim U root 500 192.0.2.2 >131077 ESP:aes-cbc-128/sha256 74d792ca 2867/ unlim U root 500 192.0.2.2 

Di ASA:

 asa# sho crypto ikev2 sa IKEv2 SAs: Session-id:5, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote Status Role 585564345 192.0.2.2/500 198.51.100.2/500 READY RESPONDER Encr: AES-CBC, keysize: 128, Hash: SHA256, DH Grp:5, Auth sign: PSK, Auth verify: PSK Life/Active Time: 86400/47018 sec Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535 remote selector 0.0.0.0/0 - 255.255.255.255/65535 ESP spi in/out: 0xc989d9ea/0xcca8b6d5 

Di Juniper, Anda masih dapat melihat statistik di terowongan ipsec, termasuk alasan musim gugur:

 admin@srx> show security ipsec security-associations index 131078 detail ID: 131078 Virtual-system: root, VPN Name: VPN-ASA-LEGAL-PL Local Gateway: 198.51.100.2, Remote Gateway: 192.0.2.2 Local Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0) Remote Identity: ipv4_subnet(any:0,[0..7]=0.0.0.0/0) Version: IKEv2 DF-bit: clear, Copy-Outer-DSCP Disabled, Bind-interface: st0.7 Port: 500, Nego#: 734, Fail#: 0, Def-Del#: 0 Flag: 0x600a29 Tunnel events: Mon Dec 09 2019 13:40:35: IPSec SA rekey successfully completed (48 times) Mon Dec 09 2019 00:30:47: IKE SA rekey successfully completed (10 times) Fri Nov 29 2019 02:13:55: IPSec SA negotiation successfully completed (1 times) Fri Nov 29 2019 02:13:55: IKE SA negotiation successfully completed (1 times) Fri Nov 29 2019 02:13:55: No response from peer. Negotiation failed (7 times) Fri Nov 29 2019 02:10:14: DPD detected peer as down. Existing IKE/IPSec SAs cleared (1 times) Fri Nov 29 2019 01:39:15: IPSec SA rekey successfully completed (1 times) Fri Nov 29 2019 00:49:50: IPSec SA negotiation successfully completed (1 times) Fri Nov 29 2019 00:49:50: IKE SA negotiation successfully completed (1 times) Fri Nov 29 2019 00:49:30: No response from peer. Negotiation failed (23 times) Fri Nov 29 2019 00:37:24: DPD detected peer as down. Existing IKE/IPSec SAs cleared (1 times) Fri Nov 29 2019 00:30:00: IPSec SA rekey successfully completed (77 times) Thu Nov 28 2019 20:11:31: IKE SA rekey successfully completed (7 times) Tue Nov 26 2019 08:51:44: IPSec SA negotiation successfully completed (1 times) Thu Nov 21 2019 21:24:32: IKE SA negotiation successfully completed (1 times) Thu Nov 21 2019 01:06:27: IKE SA rekey successfully completed (6 times) Direction: inbound, SPI: 4bd2e2bd, AUX-SPI: 0 , VPN Monitoring: UP Hard lifetime: Expires in 3132 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 2495 seconds Mode: Tunnel(10 10), Type: dynamic, State: installed Protocol: ESP, Authentication: hmac-sha256-128, Encryption: aes-cbc (128 bits) Anti-replay service: counter-based enabled, Replay window size: 64 Direction: outbound, SPI: 504f306e, AUX-SPI: 0 , VPN Monitoring: UP Hard lifetime: Expires in 3132 seconds Lifesize Remaining: Unlimited Soft lifetime: Expires in 2495 seconds Mode: Tunnel(10 10), Type: dynamic, State: installed Protocol: ESP, Authentication: hmac-sha256-128, Encryption: aes-cbc (128 bits) Anti-replay service: counter-based enabled, Replay window size: 64 

Jika semuanya sesuai dengan IPSec, maka Anda perlu melihat ACL (kebijakan keamanan, aturan host-inbound, dll.). Dalam kasus yang ekstrem, Anda dapat mencoba memuat ulang kotak (ASA) - ini digunakan untuk membantu saya.
UPD: Tentang debug IPsec di Juniper yang telah saya tetapkan untuk Habr

BGP


Semuanya cukup standar di sini - jika sesi tidak diinstal, Anda dapat melihat melalui penangkapan apakah BGP-hello terbang di kedua arah.

Total


Itu saja. Saya tidak tahu apakah perangkat lunak baru yang harus disalahkan, atau bintang-bintang bersatu seperti itu - tetapi terowongan ASA <> SRX tetap stabil dan tidak jatuh sekali sehari, seperti sebelumnya.

Saya harap Anda juga berhasil!

Source: https://habr.com/ru/post/id481620/


All Articles