Ikhtisar IPSec di Mikrotik

IPSec (IP Security) - satu set protokol dan algoritma untuk mengenkripsi data dalam jaringan IPv4 dan IPv6. Kedengarannya tidak rumit, tetapi IPSec tidak menetapkan aturan yang jelas untuk mengenkripsi lalu lintas; sebaliknya, pengembang mengimplementasikan seperangkat alat (protokol dan algoritme), yang dengannya administrator membuat saluran aman untuk data.


Saya ingin menyentuh IPSec di RouterOS sedikit lebih dalam daripada HOWTO sederhana, dengan teori dan contoh minimal tentang cara mengkonfigurasi dan men-debug IPSec. Ini bukan panduan, dan tanpa latihan di bangku tes, tidak disarankan untuk memulai pengaturan terowongan dan server VPN nyata.


Keuntungan dan kerugian IPSec


Kekuatan:


  • Bekerja pada level jaringan model OSI
  • Itu dapat mengenkripsi paket sumber sepenuhnya atau dari lapisan transport dan lebih tinggi
  • Ada mekanisme untuk mengatasi NAT
  • Berbagai macam enkripsi dan algoritma hashing traffic dapat dipilih
  • IPSec - Satu Set Standar Terbuka, Dapat Diperpanjang
  • Dalam kasus Mikrotik, itu tidak memerlukan pembelian biaya tambahan atau lisensi

Kelemahan:


  • Kesulitan
  • Berbagai terminologi dan alat konfigurasi untuk vendor yang berbeda
  • Menggunakan algoritma enkripsi yang kuat membutuhkan daya komputasi yang baik.
  • Mudah mendeteksi DPI

Protokol dalam IPSec



Secara global, semua protokol yang akan Anda tangani selama konfigurasi dapat dibagi menjadi dua kelompok: protokol pertukaran kunci dan protokol perlindungan data.


Protokol Pertukaran Kunci (IKE)
Tugas utama adalah untuk mengotentikasi peserta dalam koneksi dan menyetujui parameter enkripsi dan kunci untuk melindungi informasi yang dikirimkan.


  • IKE (Internet Key Exchange) - didefinisikan pada tahun 1998. Banyak fitur (misalnya, bridging NAT) ditambahkan kemudian sebagai add-on dan mungkin tidak diimplementasikan dengan berbagai vendor. Dasar negosiasi utama adalah ISAKMP.
  • IKEv2 (Internet Key Exchange versi 2) - revisi terbaru dari 2014. Ini adalah pengembangan protokol IKE, di mana beberapa masalah diselesaikan, mekanisme perjanjian utama disederhanakan, dan ekstensi (NAT-T, Keepalives, Mode Config) menjadi bagian dari protokol.

Dalam praktiknya, sebagian besar koneksi IPSec diimplementasikan menggunakan IKE karena peralatan yang ketinggalan zaman atau keengganan administrator untuk mengubah sesuatu.


Protokol Perlindungan Data (ESP, AH)
Tugas utama adalah melindungi data pengguna.


  • ESP (Encapsulating Payload Security) - mengenkripsi dan mengautentikasi sebagian data yang dikirimkan
  • AH (Authentication Header) - mengotentikasi seluruh paket (kecuali untuk bidang yang bisa berubah-ubah), tidak mengenkripsi data, tetapi memungkinkan Anda untuk memastikan bahwa paket itu tidak berubah selama transmisi melalui jaringan

Prosedur Instalasi Koneksi IPSec



Peserta koneksi IPSec biasanya disebut rekan, yang menunjukkan kesetaraan mereka dalam koneksi yang ditetapkan. Konfigurasi yang dekat dengan client-server dimungkinkan, tetapi ketika membangun terowongan IPSec permanen, salah satu rekan dapat menjadi inisialisasi.


  1. Salah satu rekan memulai koneksi IPSec
  2. Ada pertukaran informasi kunci, otentikasi rekan, koordinasi parameter koneksi
  3. Berdasarkan informasi kunci yang diterima, terowongan terenkripsi tambahan dibentuk
  4. Menggunakan terowongan terenkripsi, rekan-rekan menentukan parameter enkripsi data dan bertukar informasi untuk menghasilkan kunci
  5. Hasil dari fase sebelumnya adalah seperangkat aturan dan kunci untuk perlindungan data (SA)
  6. Secara berkala mengintip pembaruan kunci enkripsi

Salah satu konsep kunci dalam IPSec adalah SA (Security Association) - satu set algoritma enkripsi untuk mengenkripsi dan mem-hashing informasi, serta kunci enkripsi, yang disetujui oleh rekan-rekan.


Terkadang Anda dapat menemukan divisi ke:


  • ISAKMP SA - parameter dan kunci yang terkait dengan terowongan bantu
  • Data SA (atau hanya SA) - parameter dan kunci yang terkait dengan enkripsi lalu lintas

Protokol perjanjian utama


Protokol IKE dapat bekerja dalam dua mode: utama (utama) dan agresif (agresif), protokol IKEv2 berisi satu mode.


IKE Main



Fase pertama terdiri dari enam paket:
1-2: Penyelarasan pengaturan enkripsi terowongan sekunder dan berbagai opsi IPSec
3-4: Berbagi informasi untuk menghasilkan kunci rahasia
5-6: Otentikasi Sebaya Menggunakan Saluran Terenkripsi Tambahan


Fase kedua terdiri dari tiga paket:
1-3: Menggunakan saluran tambahan terenkripsi. Koordinasi parameter perlindungan lalu lintas, pertukaran informasi untuk menghasilkan kunci rahasia


IKE Agresif



Fase pertama terdiri dari tiga paket:
1: Mengajukan penawaran untuk menginstal saluran terenkripsi tambahan dan informasi untuk menghasilkan kunci pribadi
2: Menanggapi penawaran, informasi untuk menghasilkan kunci rahasia, data untuk otentikasi
3: Data otentikasi


Fase kedua terdiri dari tiga paket:
1-3: Menggunakan saluran tambahan terenkripsi. Koordinasi parameter perlindungan lalu lintas, pertukaran informasi untuk menghasilkan kunci rahasia


Dalam mode agresif, inisiator hanya mengirim satu set parameter dalam kalimat. Pertukaran informasi untuk otentikasi rekan terjadi sebelum pemasangan terowongan bantu yang aman. Mode agresif lebih cepat konsisten, tetapi kurang aman.


IKEv2



Di IKEv2, fase-fase tersebut dinamai: IKE_SA_INIT dan IKE_AUTH. Tetapi jika saya berbicara tentang Phase1 dan Phase2 nanti dalam teks, ini juga berlaku untuk fase IKEv2.


Setiap fase IKEv2 terdiri dari dua paket:
IKE_SA_INIT: Koordinasi parameter enkripsi terowongan bantu, pertukaran informasi untuk menghasilkan kunci pribadi


IKE_AUTH: menggunakan saluran tambahan terenkripsi. Otentikasi teman sebaya, koordinasi parameter perlindungan lalu lintas, pertukaran informasi untuk menghasilkan kunci rahasia


Basis Data Perundingan Keamanan (SAD)


Hasil dari IKE (dan IKEv2) adalah Security Assotiations (SA), yang menentukan pengaturan perlindungan lalu lintas dan kunci enkripsi. Setiap SA adalah searah dan koneksi IPSec berisi sepasang SA. Semua SA disimpan dalam database SAD dan dapat diakses oleh administrator untuk melihat dan mengatur ulang.


Enkapsulasi data



IPSec menyediakan dua opsi untuk merangkum data:


  • Mode transportasi - hanya muatan paket yang dilindungi, meninggalkan header asli. Untuk membangun terowongan, mode transportasi biasanya digunakan bersama dengan ipip atau gre, yang payload-nya sudah berisi seluruh paket sumber.
  • Mode terowongan - mengenkapsulasi sepenuhnya paket asli dalam paket baru (mirip dengan gre atau ipip). Tetapi untuk tunnel ipsec, antarmuka eksplisit tidak dibuat dalam sistem, ini bisa menjadi masalah jika routing statis dinamis atau kompleks digunakan.

Database Kebijakan Keamanan (SPD)


Database aturan yang menentukan lalu lintas apa yang harus dienkripsi, protokol perlindungan data, tipe enkapsulasi, dan sejumlah parameter lainnya.
Posisi pemeriksaan SPD dapat ditampilkan pada diagram Alur Paket.



NAT menjembatani


IPSec menggunakan protokol lapisan jaringan untuk mentransfer data yang tidak dapat ditangani NAT. Untuk mengatasi masalah tersebut, protokol NAT-T digunakan (ekstensi dalam IKE dan bagian dari IKEv2). Inti dari NAT-T adalah dalam enkapsulasi tambahan paket IPSec dalam paket UDP yang diproses oleh NAT.


IPSec di Mikrotik


IPSec tersedia secara gratis di perangkat apa pun yang menjalankan RouterOS dengan paket Keamanan terinstal.


Enkripsi perangkat keras


Untuk melepas CPU, akselerasi perangkat keras enkripsi ditambahkan ke beberapa model router MikroTik, daftar lengkap dapat ditemukan di wiki .
Opsi anggaran terbanyak: RB750Gr3 , RB3011 , HAP AC ^ 2 .


Saya sendiri saya memeriksa kecepatan IPSec antara dua RB1100AHx2 dan antara dua RB750Gr3.


Untuk mencapai hasil maksimum pada RB1100AHx2 Anda harus:


  • Gunakan port 11 yang terhubung langsung ke CPU dan konfigurasikan satu inti CPU untuk menangani 11 lalu lintas port
  • Gunakan antrian perangkat keras saja pada antarmuka, nonaktifkan RPS
  • Aktifkan FastPath Layer3 (sekitar 800mb / detik), atau mengecualikan lalu lintas IPSec dari conntrack (sekitar 700mb / detik)
    Tanpa manipulasi yang dijelaskan pada port paling lambat (eter13), dimungkinkan untuk mendapatkan ~ 170Mb / detik, pada ~ ~ 400Mb / detik yang biasa.

Pada RB750Gr3 tanpa optimisasi sekitar 200Mb / detik.


Router single-core Qualcomm menunjukkan hasil 10-40mb / detik tergantung pada model, optimisasi, dan beban kerja dari proses lain.


Saya sarankan Anda membiasakan diri dengan presentasi dari karyawan mikrotik, mereka menyentuh topik pengaturan mengoptimalkan untuk mengurangi beban pada CPU dan meningkatkan kecepatan, yang saya tidak tambahkan ke teks.


Perbedaan 6.42.X dan 6.43.X


Tergantung pada versi RouterOS yang Anda gunakan, menu konfigurasi IPSec akan bervariasi.





Sudah ada perubahan baru dalam versi pengujian, jadi baca Catatan Rilis sebelum memutakhirkan.



Konfigurasi IPsec



Menu [IP] -> [IPSec] tidak seseram yang terlihat pada pandangan pertama. Diagram menunjukkan bahwa item konfigurasi utama adalah: Peer dan Profil.
Tab Remote Peers dan Installed SAs bersifat informatif.


Profil Sebaya dan Sebaya


Konfigurasi peer IPSec untuk membuat koneksi IKE dan membuat terowongan aman tambahan.


gambar


Konfigurasikan IPSec Remote Peers



Catatan
  • Dimulai dengan 6.43, RouterOS bersumpah saat menggunakan PSK tanpa otentikasi tambahan. Jika Anda tidak ingin mengkonfigurasi kunci, sertifikat, atau xAuth tambahan, Anda dapat beralih ke IKEv2 atau mengabaikan peringatan.
  • Sebagai rekan, Anda dapat menentukan IP atau subnet tertentu (relevan untuk VPN Client-Server)
  • Jika ada aturan yang bertentangan, aturan dengan subnet yang lebih akurat akan digunakan untuk terhubung ke peer (mirip dengan rute)
  • Otentikasi kunci XAuth dan rsa tidak berfungsi di IKEv2
  • Untuk IKEv2, Mikrotik membuat implementasi xAuth tidak kompatibel dengan platform lain
  • Mode pasif biasanya digunakan untuk membuat konfigurasi VPN Client-Server (konfigurasi L2TP / IPsec atau IKEv2), tetapi dapat berguna saat menghubungkan sejumlah besar terowongan Site-to-Site ke satu titik, untuk mengurangi lalu lintas palsu.
  • Jika Anda berencana untuk menggunakan xAuth, maka "server" harus pasif. Pengguna untuk server dibuat di [IPSec] -> [Pengguna]
  • Saat menggunakan kebijakan Hasilkan, pilih mode port-ketat

Menyiapkan profil (Proposal) untuk harmonisasi Fase 1


gambar



Catatan
  • Opsi tambahan untuk IKE menjadi bagian dari IKEv2, pengaturan diabaikan
  • Korelasi grup DH dengan jumlah mereka (nomor grup digunakan oleh vendor lain)
  • Saat mengirim Proposal, sistem mengurutkan algoritme pasangan + grup dh dari lebih persisten ke kurang persisten

Kebijakan dan Proposal Kebijakan


Politisi memeriksa paket yang lewat untuk kepatuhan dengan kondisi dan menerapkan tindakan yang ditentukan. Jika Anda kembali ke aliran Paket, maka blok dengan Kebijakan IPSec adalah rekonsiliasi dengan kebijakan. Tindakan menentukan: protokol keamanan IPSec (ESP atau AH), proposal untuk negosiasi SA, mode enkapsulasi.
gambar


Paket melewati kebijakan satu per satu hingga cocok dengan kondisi salah satunya.


Pengaturan Kebijakan


Anotasi
  • Biasanya tidak diperlukan Src spesifik. dan Dst. Port, tetapi secara umum, kemampuan untuk mengenkripsi lalu lintas aplikasi individual menarik
  • Tidak semua protokol ip disajikan dalam daftar Protokol (misalnya, tidak ada gre), Anda dapat menentukan jumlah protokol yang diperlukan secara manual.
  • Template bukan politisi! Mereka digunakan jika menghasilkan-kebijakan diatur dalam konfigurasi rekan.
  • Apa yang harus dilakukan jika SA spesifik untuk suatu kebijakan tidak ditemukan. Sebelumnya, ada masalah dengan L2TP / IPSec ketika beberapa klien tidak dapat terhubung karena NAT yang sama (ketika menggunakan IKE), bug ini diselesaikan (dengan asumsi bahwa klien ini bukan windows) jika Anda mengatur level = unik. Kalau tidak, beralihlah ke IKEv2
  • Saat mengatur kebijakan, gunakan [Safe mode], satu gerakan canggung dan Anda berisiko kehilangan akses ke router menggunakan Level3

Menyiapkan Proposal untuk persetujuan SA



Grup


Digunakan untuk mengaitkan templat kebijakan dan rekan kerja.


gambar


Di salah satu versi RouterOS yang lebih lama, ada bug dengan grup default yang tidak berfungsi.


Konfigurasi mode


Mengirim dan menerima parameter IP tanpa menggunakan protokol tambahan. Memungkinkan Anda membuat IPSec yang hanya terdiri dari Klien-ke-Server VPN.




Kunci dan Pengguna


Digunakan untuk otentikasi rekan canggih.
Kunci
Kunci RSA: pembangkitan, impor, ekspor. Tidak didukung di IKEv2.



Pengguna
Basis data pengguna XAuth untuk "server". Klien menentukan pengaturan xAuth dalam konfigurasi rekan. Dimungkinkan untuk meneruskan otentikasi xAuth ke server RADIUS.



Rekan jarak jauh


Daftar semua rekan yang memasang dan memasang terowongan bantu (Fase 1). Anda dapat menghapus rekan-rekan untuk memperbarui kunci terowongan bantu.


gambar


gambar


SA Terpasang


Database SAD atau daftar semua SA yang dinegosiasikan. Anda dapat melihat algoritma dan kunci perlindungan data yang digunakan.


gambar


gambar


Bendera Hardware AEAD menunjukkan penggunaan enkripsi perangkat keras.


gambar


Administrator dapat mengatur ulang SA, tetapi hanya semua dari jenis yang sama (esp atau ah) pada saat yang sama.


IPSec dan Firewall


Di Firewall, Anda dapat memeriksa apakah lalu lintas masuk atau keluar kebijakan IPSec atau tidak. Aplikasi yang jelas adalah L2TP / IPSec, Anda dapat melarang pemasangan koneksi L2TP jika lalu lintas belum dienkripsi sebelumnya.



Protokol dan port yang digunakan dalam IPSec


  • IKE - UDP: 500
  • IKEv2 - UDP: 4500
  • NAT-T - UDP: 4500
  • ESP - ipsec-esp (50)
  • AH - ipsec-ah (51)

IPSec dan Endpoinds


Dan sekarang tentang sakitnya ...
Mikrotik wiki memiliki tabel dengan hashing dan algoritma enkripsi untuk: Windows , iOS , OS-X .


Saya tidak menemukan informasi tentang klien vpn android bawaan, tetapi secara umum ini berfungsi dengan proposal dari windows. Tidak ada dukungan IKEv2 di Android, Anda harus menggunakan StrongSwan .


Contoh konfigurasi


Skema dan konfigurasi dasar untuk contoh dengan terowongan Site-to-Site:



#Mikrotik1 /ip address add address=10.10.10.10/24 interface=ether1 network=10.10.10.0 add address=192.168.100.1/24 interface=ether2 network=192.168.100.0 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 /ip route add distance=1 gateway=10.10.10.1 dst-address=0.0.0.0/0 #Mikrotik2 /ip address add address=10.20.20.20/24 interface=ether1 network=10.20.20.0 add address=192.168.200.1/24 interface=ether2 network=192.168.200.0 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 /ip route add distance=1 gateway=10.20.20.1 dst-address=0.0.0.0/0 

IPSec dalam mode terowongan



Konfigurasi langkah demi langkah:


  1. Buat Proposal untuk IKE Phase1
  2. Buat pesta. Kami menunjukkan alamat, proposal, mode pertukaran, kunci PSK. Saya memilih IKEv2, Anda dapat menggunakan utama / agresif seperti yang diinginkan
  3. Buat Proposal untuk SA
  4. Tentukan subnet di mana kita membuat terowongan
  5. Tentukan alamat SA, mode terowongan, dan proposal untuk enkripsi lalu lintas
  6. Mengedit Aturan NAT

Mikrotik1


Opsi konsol:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.20.20.20/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=ipsec-tunnel-sa #4-5 /ip ipsec policy add dst-address=192.168.200.0/24 proposal=ipsec-tunnel-sa sa-dst-address=10.20.20.20 sa-src-address=10.10.10.10 src-address=192.168.100.0/24 tunnel=yes #6 /ip firewall nat set 0 ipsec-policy=out,none 

Mikrotik2


Opsi konsol:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.10.10.10/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=tets-ipsec-sa #4-5 /ip ipsec policy add dst-address=192.168.100.0/24 proposal=tets-ipsec-sa sa-dst-address=10.10.10.10 sa-src-address=10.20.20.20 src-address=192.168.200.0/24 tunnel=yes #6 /ip firewall nat set 0 ipsec-policy=out,none 

Dan di sini NAT?

Untuk bekerja dalam mode tunnel, Anda memerlukan rute palsu ke subnet jarak jauh, atau rute default, jika paket tidak akan melangkah lebih jauh dari keputusan Routing. Biasanya tidak ada masalah dengan opsi pertama, tetapi dengan rute default dan Source NAT (yang pertama dan kedua hadir di sebagian besar router rumah dan kantor) akan ada masalah.


Ingat Aliran Paket. Paket melewati Sumber NAT lebih awal dari kebijakan IPSec, aturan dengan penyamaran tidak tahu apa-apa bahwa lalu lintas dimaksudkan untuk dikirim ke terowongan "sesaat" dan akan menyiarkan tajuk paket untuk dikirim ke IPSec ketika paket dengan tajuk yang diubah diperiksa di alamat sumber Kebijakan di header tidak akan sesuai dengan aturan dan paket akan terbang ke rute default, yang, setelah melihat alamat tujuan dari jaringan pribadi, kemungkinan besar akan menjatuhkannya.


Ada beberapa solusi untuk masalah ini:


  • Menggunakan rute palsu
  • Menggunakan aturan terima opsional sebelum SourceNAT
  • Subjek src-nat hanya untuk paket-paket yang tidak ada kebijakan IPSec (dalam contoh)
  • Kecualikan lalu lintas dari pelacakan koneksi menggunakan RAW

Verifikasi koneksi yang dibangun
gambar


  1. Kami melihat tetangga di Remote Peers
  2. Kami melihat SA yang diinstal (penghitung lalu lintas tidak akan berubah sampai Anda memulainya)
  3. Dalam politik, status mapan dan bendera (A) ctive

IPIP / IPSec



Terowongan IPIP Preset:


 #Mikrotik1 #  ipip /interface ipip add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.20.20.20 # ip   ipip  /ip address add address=10.30.30.1/30 interface=ipip-vpn #     /ip route add distance=1 dst-address=192.168.200.0/24 gateway=10.30.30.2 #Mikrotik2 # ,      /interface ipip add allow-fast-path=no clamp-tcp-mss=no name=ipip-vpn remote-address=10.10.10.10 /ip address add address=10.30.30.2/30 interface=ipip-vpn /ip route add distance=1 dst-address=192.168.100.0/24 gateway=10.30.30.1 

Konfigurasi Langkah-demi-Langkah IPSec:


  1. Buat Proposal untuk IKE Phase1
  2. Buat pesta. Tunjukkan alamat, proposal, mode pertukaran, kunci PSK
  3. Buat Proposal untuk SA
  4. Tentukan subnet di mana kita membuat terowongan
  5. Kami menentukan alamat SA, jenis lalu lintas yang akan kami enkripsi dan proposal

Mikrotik1


Opsi konsol:


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.20.20.20/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=ipsec-tunnel-sa #4-5 /ip ipsec policy add dst-address=10.20.20.20/32 proposal=ipsec-tunnel-sa protocol=ipencap src-address=10.10.10.10/32 sa-dst-address=10.20.20.20 sa-src-address=10.10.10.10 

Mikrotik2


 #1 /ip ipsec peer profile add dh-group=modp2048 enc-algorithm=aes-128 hash-algorithm=sha256 name=ipsec-tunnel-ike nat-traversal=no #2 /ip ipsec peer add address=10.10.10.10/32 exchange-mode=ike2 profile=ipsec-tunnel-ike secret=test-ipsec #3 /ip ipsec proposal add auth-algorithms=sha256 enc-algorithms=aes-256-cbc name=tets-ipsec-sa #4-5 /ip ipsec policy add dst-address=10.10.10.10/32 proposal=tets-ipsec-sa protocol=ipencap src-address=10.20.20.20/32 sa-dst-address=10.10.10.10 sa-src-address=10.20.20.20 

Untuk lalai, perbedaan nyata dalam konfigurasi terowongan dan mode transportasi dalam Kebijakan IPSec:
gambar


Pemeriksaan koneksi mirip dengan mode terowongan.


L2TP / IPSec


Contoh-contoh sebelumnya sangat cocok untuk membuat VPN permanen antara dua rekan, dengan alamat IP eksternal statis.


Jika alamat salah satu rekan adalah dinamis (dan biasanya terletak di belakang NAT), Anda harus menggunakan VPN Client-to-Server lain.
gambar


Pra-konfigurasi L2TP:


 #     /ip pool add name=pool-l2tp ranges=192.168.77.10-192.168.77.20 #    /ppp profile add change-tcp-mss=yes local-address=192.168.77.1 name=l2tp-ipsec only-one=yes remote-address=pool-l2tp use-compression=no use-encryption=no use-mpls=no use-upnp=no #   /ppp secret add name=user1 password=test1 profile=l2tp-ipsec service=l2tp add name=user2 password=test2 profile=l2tp-ipsec service=l2tp add name=user3 password=test3 profile=l2tp-ipsec service=l2tp #  L2TP (  ipsec) /interface l2tp-server server set authentication=chap,mschap2 default-profile=l2tp-ipsec enabled=yes 

Mengapa saya mengabaikan penyetelan otomatis IPsec

Dalam konfigurasi ipip, gre, eoip, l2tp ada konfigurasi otomatis koneksi ipsec, sebenarnya sistem menciptakan aturan dinamis untuk Peer dan Kebijakan untuk Anda, tetapi pertama-tama kami tidak mencari cara yang mudah, dan kedua, ketika memutakhirkan dari 6.42 ke 6.43, terowongan yang dibuat secara otomatis bangkrut dan bukan fakta bahwa ini tidak akan terjadi lagi.


Konfigurasi Langkah-demi-Langkah IPSec:


  1. Buat grup baru (Anda dapat menggunakan default)
  2. Buat Proposal untuk IKE Phase1
  3. Kami membuat pesta, atau lebih tepatnya sebuah subnet. Bersumpah pada kunci PSK, tetapi jika kita berurusan dengan windows sebagai klien, maka kita punya pilihan: Sertifikat atau PSK.
  4. Tetapkan pasif = ya dan kirim-init-kontak = tidak, di generate-policy = port-ketat (terima port dari klien)
  5. Buat Proposal untuk SA
  6. Buat templat untuk menghasilkan kebijakan
  7. Tentukan proposal untuk SA

Konfigurasi mikrotik

gambar
Dalam tangkapan layar, kesalahannya adalah menentukan dst. port dan src. port tidak diperlukan


Opsi konsol:


 #1 /ip ipsec policy group add name=l2tp-ipsec #2 /ip ipsec peer profile add dh-group=modp1024 enc-algorithm=aes-256 hash-algorithm=sha256 name=l2tp-ipsec-ike #3-4 /ip ipsec peer add address=0.0.0.0/0 generate-policy=port-strict passive=yes policy-template-group=l2tp-ipsec profile=l2tp-ipsec-ike secret=secret-ipsec-pass send-initial-contact=no #5 /ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-128-cbc name=l2tp-ipsec-sa pfs-group=none #6-7 /ip ipsec policy add dst-address=0.0.0.0/0 group=l2tp-ipsec proposal=l2tp-ipsec-sa protocol=udp src-address=0.0.0.0/0 template=yes 

Konfigurasi firewall untuk membuat koneksi L2TP hanya setelah IPSec


 /ip firewall filter # IKE, NAT-T  ipsec-esp add chain=input protocol=17 dst-port=500,4500 action=accept add chain=input protocol=50 action=accept # L2TP,     ipsec    add chain=input protocol=17 dst-port=1701 ipsec-policy=in,ipsec action=accept add chain=input protocol=17 dst-port=1701 action-drop 

IKEv2 VPN


Opsi L2TP populer, tetapi berkat konfigurasi mode, Anda dapat mengonfigurasi server VPN hanya menggunakan IPSec. Ini adalah jenis VPN yang menjanjikan, tetapi sejauh ini jarang digunakan, jadi selain mengkonfigurasi sisi server, saya akan memberikan contoh pengaturan klien StrongSwan di android.


gambar


Tentu saja, tidak semuanya cerah. Sebagian besar sistem operasi "pengguna" (khususnya Windows dan Android) setuju untuk bekerja dengan VPN semacam itu hanya jika mereka disahkan oleh sertifikat atau EAP.


Sertifikat adalah titik kelemahan saya, jika ada yang tahu cara membuat sertifikat yang ditandatangani sendiri dengan benar yang diimpor oleh Windows dan akan digunakan dalam koneksi, tulis di komentar.


Pembuatan sertifikat awal:


 #Root CA   /certificate add name=ca common-name="IKEv2 CA" days-valid=6928 /certificate sign ca ca-crl-host=<IP > #   vpn /certificate add common-name=<IP > subject-alt-name=IP:<IP > key-usage=tls-server name=vpn days-valid=6928 #   /certificate sign vpn ca=ca #   #       ,       #     Revoke   /certificate add common-name=client key-usage=tls-client name=client days-valid=6928 #   /certificate sign client ca=ca 

Konfigurasi Selangkah demi Selangkah oleh IKEv2 VPN:


  1. Kami membuat kumpulan alamat untuk distribusi ke pelanggan
  2. Buat profil konfigurasi mode untuk mendistribusikan parameter IP ke klien
  3. Buat grup untuk menautkan template Sebaya dan kebijakan
  4. Buat Proposal untuk IKE Phase1
  5. Buat profil untuk menghubungkan teman-teman. Otentikasi Sertifikat, Protokol IKEv2, Mode Pasif
  6. Tentukan profil konfigurasi mode, grup 3 langkah dan aktifkan pembuatan kebijakan
  7. Buat Proposal untuk SA
  8. Buat templat untuk menghasilkan kebijakan
  9. Tentukan Proposal untuk SA

Konfigurasikan Mikrotik

gambar


 #1 /ip pool add name=pool-ike ranges=192.168.77.10-192.168.77.20 #2 /ip ipsec mode-config add address-pool=pool-ike address-prefix-length=32 name=ikev2-vpn static-dns=77.88.8.8 system-dns=no #3 /ip ipsec policy group add name=ikev2-vpn #4 /ip ipsec peer profile add enc-algorithm=aes-256,aes-128 hash-algorithm=sha256 name=ikev2-vpn #5-6 /ip ipsec peer add address=0.0.0.0/0 auth-method=rsa-signature certificate=vpn exchange-mode=ike2 generate-policy=port-strict mode-config=ikev2-vpn passive=yes policy-template-group=ikev2-vpn profile=ikev2-vpn send-initial-contact=no #7 /ip ipsec proposal add auth-algorithms=sha256,sha1 enc-algorithms=aes-256-cbc,aes-128-cbc name=ikev2-vpn #8-9 /ip ipsec policy add dst-address=0.0.0.0/0 group=ikev2-vpn proposal=ikev2-vpn src-address= 0.0.0.0/0 template=yes 

Konfigurasi StrongSwan di android.

Pertama, Anda perlu mentransfer sertifikat klien dan ca ke telepon.
https://habrastorage.org/webt/tp/pk/ad/tppkadaifd1k7xi6hf3jxgg7vcs.png


Untuk mata besar: Salib dekat wi-fi berdiri karena sebagian besar aplikasi sistem diblokir oleh AFWall +.


Jika koneksi berhasil, Anda akan melihat: kebijakan dinamis, menulis ke Peer jarak jauh, dan sepasang SA.


gambar


gambar


gambar


Lisensi demo routerOS x86 tidak memiliki batasan pada jumlah terowongan IPSec, termasuk IKEv2 VPN. Anda dapat menggunakan demo RouterOS x86 (jangan bingung dengan RouterOS CHR gratis, semuanya menyedihkan) di VPS dan dapatkan server VPN pribadi dengan upaya administrasi minimal, tanpa membeli lisensi untuk RouterOS atau RouterOS CHR.


Beberapa kata tentang analisis log IPSec


Log in Mikrotik adalah cerita yang terpisah, kadang-kadang mereka cukup rinci untuk menganalisis masalah, tetapi kurangnya fitur dangkal: bersih, salin, temukan kekuatan Anda untuk menginstal server syslog terpisah.


Sedangkan untuk IPSec, berikut adalah opsi analisis log cepat (kami hanya meninggalkan yang diperlukan di tab terpisah):


gambar


 /system logging action add memory-lines=100000 name=ipsec target=memory /system logging add action=ipsec topics=ipsec,error add action=ipsec topics=ipsec,debug,!packet add action=ipsec topics=ipsec,info 

Dan beberapa contoh masalah konfigurasi IPSec yang khas:


Proposal Masalah Konsistensi pada Phase1

gambar


  1. Baca pesan kesalahan. Masalahnya adalah ketika merekonsiliasi Proposal di tahap pertama.
  2. Kami melihat di atas, router itu sendiri menyarankan agar ia mengirim pesta, dan apa yang dikonfigurasi secara lokal

Masalah masalah rekonsiliasi IKE_SA_INIT

Dalam log Anda akan melihat sesuatu seperti berikut ini:



Menganalisis lalu lintas


Dalam permintaan, Anda dapat melihat proposal dari jamuan makan:



Dalam jawaban kita melihat bahwa tidak ada proposal yang cocok ditemukan:



Proposal masalah rekonsiliasi untuk SA


Router meminta tentang kesalahan proposal pada fase2 dan menunjukkan apa yang dikonfigurasikan secara lokal dan apa yang jauh.


Proposal Masalah rekonsiliasi IKE_AUTH


Kami melihat bahwa ada koneksi dan otentikasi rekan, tetapi lebih lanjut kesalahan proposal. Anda tidak akan melihat detail apa pun dalam debug, di wireshark (lalu lintas IKE_AUTH dienkripsi).


Kesalahan Otentikasi PSK

Untuk IKE:



Untuk IKEv2:


Mode IKE salah

gambar
Kita melihat bahwa Phase1 rusak dalam batas waktu, meskipun paket berada di antara rekan-rekan. Tetapi ukuran paket yang masuk jauh lebih besar, jika kita menganalisis melalui wireshark, kita akan melihat bahwa rekan jauh menggunakan mode agresif.



Kami melihat bahwa paket dikirim dari kami ke UDP: 500, dan mereka datang ke UDP: 4500 dan agak besar. Di sini peer jarak jauh memiliki mode IKEv2.


Terakhir, baca bagian pemecahan masalah dari wiki . Dan semua materi tentang IPSec diinginkan untuk berkenalan, saya hanya menjelaskan seperangkat alat dan pengaturan dasar.

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


All Articles