Kami mengenkripsi menurut Gost: panduan untuk menyiapkan perutean lalu lintas dinamis

Kami mengenkripsi menurut Gost: panduan untuk menyiapkan perutean lalu lintas dinamis
Jika perusahaan Anda mengirimkan atau menerima data pribadi dan informasi rahasia lainnya melalui jaringan yang dilindungi sesuai dengan undang-undang, maka diperlukan penggunaan enkripsi GOST. Hari ini kami akan memberi tahu Anda bagaimana kami menerapkan enkripsi tersebut berdasarkan gateway kripto (CS) S-Terra di salah satu pelanggan. Kisah ini akan menarik bagi spesialis keamanan informasi, serta insinyur, desainer, dan arsitek. Kami tidak akan mendalami nuansa konfigurasi teknis dalam postingan ini; kami akan fokus pada poin-poin penting dari pengaturan dasar. Dokumentasi dalam jumlah besar tentang pengaturan daemon OS Linux, yang menjadi dasar S-Terra CS, tersedia secara gratis di Internet. Dokumentasi untuk menyiapkan perangkat lunak S-Terra berpemilik juga tersedia untuk umum di portal pabrikan.

Beberapa kata tentang proyek ini

Topologi jaringan pelanggan standar – full mesh antara pusat dan cabang. Penting untuk memperkenalkan enkripsi saluran pertukaran informasi antara semua situs, yang ada 8 situs.

Biasanya dalam proyek seperti itu semuanya statis: rute statis ke jaringan lokal situs diatur pada gateway kripto (CG), daftar alamat IP (ACL) untuk enkripsi didaftarkan. Namun, dalam kasus ini, situs tidak memiliki kontrol terpusat, dan apa pun dapat terjadi di dalam jaringan lokalnya: jaringan dapat ditambahkan, dihapus, dan dimodifikasi dengan segala cara yang memungkinkan. Untuk menghindari konfigurasi ulang perutean dan ACL pada KS ketika mengubah pengalamatan jaringan lokal di situs, diputuskan untuk menggunakan terowongan GRE dan perutean dinamis OSPF, yang mencakup semua KS dan sebagian besar router di tingkat inti jaringan di situs ( di beberapa lokasi, administrator infrastruktur lebih suka menggunakan SNAT dibandingkan KS pada router kernel).

Penerowongan GRE memungkinkan kami memecahkan dua masalah:
1. Gunakan alamat IP antarmuka eksternal CS untuk enkripsi di ACL, yang merangkum semua lalu lintas yang dikirim ke situs lain.
2. Atur terowongan ptp antar CS, yang memungkinkan Anda mengonfigurasi perutean dinamis (dalam kasus kami, MPLS L3VPN penyedia diatur antar situs).

Klien memerintahkan penerapan enkripsi sebagai layanan. Jika tidak, dia tidak hanya harus memelihara gateway kripto atau melakukan outsourcing ke beberapa organisasi, tetapi juga secara mandiri memantau siklus hidup sertifikat enkripsi, memperbaruinya tepat waktu, dan memasang yang baru.
Kami mengenkripsi menurut Gost: panduan untuk menyiapkan perutean lalu lintas dinamis
Dan sekarang memo sebenarnya - bagaimana dan apa yang kami konfigurasikan

Catatan untuk subjek CII: menyiapkan gateway kripto

Pengaturan jaringan dasar

Pertama-tama, kami meluncurkan CS baru dan masuk ke konsol administrasi. Anda harus mulai dengan mengubah kata sandi administrator bawaan - perintah ubah kata sandi pengguna administrator. Maka Anda perlu melakukan prosedur inisialisasi (perintah menginisialisasi) di mana data lisensi dimasukkan dan sensor angka acak (RNS) diinisialisasi.

Perhatikan! Ketika S-Terra CC diinisialisasi, kebijakan keamanan dibuat di mana antarmuka gateway keamanan tidak mengizinkan paket melewatinya. Anda harus membuat kebijakan Anda sendiri atau menggunakan perintah jalankan csconf_mgr aktifkan mengaktifkan kebijakan izin yang telah ditentukan sebelumnya.
Selanjutnya, Anda perlu mengkonfigurasi pengalamatan antarmuka eksternal dan internal, serta rute default. Lebih baik bekerja dengan konfigurasi jaringan CS dan mengkonfigurasi enkripsi melalui konsol mirip Cisco. Konsol ini dirancang untuk memasukkan perintah yang mirip dengan perintah Cisco IOS. Konfigurasi yang dihasilkan menggunakan konsol mirip Cisco, pada gilirannya, diubah menjadi file konfigurasi yang sesuai dengan daemon OS yang berfungsi. Anda dapat membuka konsol mirip Cisco dari konsol administrasi dengan perintah mengkonfigurasi.

Ubah kata sandi untuk cscons pengguna bawaan dan aktifkan:

> aktifkan
Kata sandi: csp (sudah diinstal)
#konfigurasi terminal
#namapengguna hak istimewa cscons 15 rahasia 0 #aktifkan rahasia 0 Menyiapkan konfigurasi jaringan dasar:

#antarmuka GigabitEthernet0/0
#alamat ip 10.111.21.3 255.255.255.0
#tidak ada penutupan
#antarmuka GigabitEthernet0/1
#alamat ip 192.168.2.5 255.255.255.252
#tidak ada penutupan
#ip rute 0.0.0.0 0.0.0.0 10.111.21.254

GRE

Keluar dari konsol mirip Cisco dan buka shell debian dengan perintah sistem. Tetapkan kata sandi Anda sendiri untuk pengguna akar tim passwd.
Di setiap ruang kendali, terowongan terpisah dikonfigurasi untuk setiap lokasi. Antarmuka terowongan dikonfigurasi dalam file / etc / network / interfaces. Utilitas terowongan IP, yang disertakan dalam set iproute2 yang sudah diinstal sebelumnya, bertanggung jawab untuk membuat antarmuka itu sendiri. Perintah pembuatan antarmuka ditulis ke dalam opsi pra-up.

Contoh konfigurasi antarmuka terowongan tipikal:
situs otomatis1
iface situs1 inet statis
alamat 192.168.1.4
netmask 255.255.255.254
terowongan ip pra-up tambahkan mode situs1 gre lokal 10.111.21.3 jarak jauh 10.111.22.3 kunci hfLYEg^vCh6p

Perhatikan! Perlu dicatat bahwa pengaturan antarmuka terowongan harus ditempatkan di luar bagian

###netifcfg-mulai###
*****
###netifcfg-akhir###

Jika tidak, pengaturan ini akan ditimpa ketika mengubah pengaturan jaringan antarmuka fisik melalui konsol mirip Cisco.

Perutean dinamis

Di S-Terra, perutean dinamis diimplementasikan menggunakan paket perangkat lunak Quagga. Untuk mengkonfigurasi OSPF kita perlu mengaktifkan dan mengkonfigurasi daemon zebra ΠΈ ospfd. Daemon zebra bertanggung jawab untuk komunikasi antara daemon perutean dan OS. Daemon ospfd, seperti namanya, bertanggung jawab untuk mengimplementasikan protokol OSPF.
OSPF dikonfigurasi melalui konsol daemon atau langsung melalui file konfigurasi /etc/quagga/ospfd.conf. Semua antarmuka fisik dan terowongan yang berpartisipasi dalam perutean dinamis ditambahkan ke file, dan jaringan yang akan diiklankan dan menerima pengumuman juga dideklarasikan.

Contoh konfigurasi yang perlu ditambahkan ospfd.conf:
antarmuka eth0
!
antarmuka eth1
!
situs antarmuka1
!
situs antarmuka2
router osp
ospf router-id 192.168.2.21
jaringan 192.168.1.4/31 wilayah 0.0.0.0
jaringan 192.168.1.16/31 wilayah 0.0.0.0
jaringan 192.168.2.4/30 wilayah 0.0.0.0

Dalam hal ini, alamat 192.168.1.x/31 dicadangkan untuk jaringan terowongan ptp antar situs, alamat 192.168.2.x/30 dialokasikan untuk jaringan transit antara CS dan router kernel.

Perhatikan! Untuk mengurangi tabel perutean dalam instalasi besar, Anda dapat memfilter iklan jaringan transit itu sendiri menggunakan konstruksinya tidak ada distribusi ulang yang terhubung ΠΈΠ»ΠΈ mendistribusikan kembali peta rute yang terhubung.

Setelah mengonfigurasi daemon, Anda perlu mengubah status permulaan daemon di /etc/quagga/daemons. Dalam opsi zebra ΠΈ ospfd tidak ada perubahan menjadi ya. Jalankan daemon quagga dan atur ke autorun saat Anda memulai perintah KS update-rc.d quagga aktifkan.

Jika konfigurasi terowongan GRE dan OSPF dilakukan dengan benar, maka rute di jaringan situs lain akan muncul di KSh dan router inti dan, dengan demikian, konektivitas jaringan antar jaringan lokal muncul.

Kami mengenkripsi lalu lintas yang dikirimkan

Seperti yang telah ditulis, biasanya saat mengenkripsi antar situs, kami menentukan rentang alamat IP (ACL) di mana lalu lintas dienkripsi: jika alamat sumber dan tujuan berada dalam rentang ini, maka lalu lintas di antara keduanya akan dienkripsi. Namun, dalam proyek ini strukturnya dinamis dan alamat dapat berubah. Karena kita telah mengonfigurasi terowongan GRE, kita dapat menentukan alamat KS eksternal sebagai alamat sumber dan tujuan untuk mengenkripsi lalu lintas - lagipula, lalu lintas yang sudah dienkapsulasi oleh protokol GRE tiba untuk enkripsi. Dengan kata lain, segala sesuatu yang masuk ke CS dari jaringan lokal satu situs menuju jaringan yang diumumkan situs lain dienkripsi. Dan di dalam masing-masing situs, pengalihan apa pun dapat dilakukan. Jadi, jika ada perubahan di jaringan lokal, administrator hanya perlu mengubah pengumuman yang datang dari jaringannya ke jaringan, dan itu akan tersedia untuk situs lain.

Enkripsi di S-Terra CS dilakukan menggunakan protokol IPSec. Kami menggunakan algoritma "Belalang" sesuai dengan Gost R 34.12-2015, dan untuk kompatibilitas dengan versi lama Anda dapat menggunakan gost 28147-89. Otentikasi secara teknis dapat dilakukan pada kunci yang telah ditentukan sebelumnya (PSK) dan sertifikat. Namun, dalam operasi industri perlu menggunakan sertifikat yang diterbitkan sesuai dengan GOST R 34.10-2012.

Bekerja dengan sertifikat, kontainer, dan CRL dilakukan menggunakan utilitas sertifikat_mgr. Pertama-tama, menggunakan perintah cert_mgr buat Anda perlu membuat wadah kunci pribadi dan permintaan sertifikat, yang akan dikirim ke Pusat Manajemen Sertifikat. Setelah menerima sertifikat, harus diimpor bersama dengan sertifikat root CA dan CRL (jika digunakan) dengan perintah impor cert_mgr. Anda dapat memastikan bahwa semua sertifikat dan CRL diinstal dengan perintah pertunjukan cert_mgr.

Setelah berhasil menginstal sertifikat, buka konsol mirip Cisco untuk mengkonfigurasi IPSec.
Kami membuat kebijakan IKE yang menentukan algoritme dan parameter saluran aman yang diinginkan yang sedang dibuat, yang akan ditawarkan kepada mitra untuk disetujui.

#kebijakan isakmp crypto 1000
#encr gost341215k
#hash gost341112-512-tc26
#tanda otentikasi
#grup vko2
#seumur hidup 3600

Kebijakan ini diterapkan ketika membangun IPSec tahap pertama. Hasil dari keberhasilan penyelesaian tahap pertama adalah pembentukan SA (Security Association).
Selanjutnya, kita perlu menentukan daftar alamat IP sumber dan tujuan (ACL) untuk enkripsi, menghasilkan set transformasi, membuat peta kriptografi (crypto map) dan mengikatnya ke antarmuka eksternal CS.

Atur ACL:
#daftar akses ip situs diperluas1
#izinkan host gre 10.111.21.3 host 10.111.22.3

Satu set transformasi (sama seperti pada tahap pertama, kami menggunakan algoritma enkripsi "Belalang" menggunakan mode pembuatan penyisipan simulasi):

#crypto ipsec transform-set Gost esp-gost341215k-mac

Kami membuat peta kripto, menentukan ACL, mengubah set dan alamat rekan:

#crypto map UTAMA 100 ipsec-isakmp
#cocokkan alamat situs1
#set transformasi-set gost
#set rekan 10.111.22.3

Kami mengikat kartu kripto ke antarmuka eksternal mesin kasir:

#antarmuka GigabitEthernet0/0
#alamat ip 10.111.21.3 255.255.255.0
#peta kripto UTAMA

Untuk mengenkripsi saluran dengan situs lain, Anda harus mengulangi prosedur membuat ACL dan kartu kripto, mengubah nama ACL, alamat IP, dan nomor kartu kripto.

Perhatikan! Jika verifikasi sertifikat dengan CRL tidak digunakan, hal ini harus ditentukan secara eksplisit:

#crypto pki trustpoint s-terra_technological_trustpoint
#pencabutan-periksa tidak ada

Pada titik ini, penyiapan dapat dianggap selesai. Dalam keluaran perintah konsol seperti Cisco tampilkan kripto isakmp sa ΠΈ tampilkan kripto IPSec sa Fase pertama dan kedua IPSec yang dibangun harus direfleksikan. Informasi yang sama dapat diperoleh dengan menggunakan perintah pertunjukan sa_mgr, dieksekusi dari shell debian. Dalam keluaran perintah pertunjukan cert_mgr Sertifikat situs jarak jauh akan muncul. Status sertifikat tersebut adalah terpencil. Jika terowongan tidak dibangun, Anda perlu melihat log layanan VPN, yang disimpan dalam file /var/log/cspvpngate.log. Daftar lengkap file log dengan deskripsi isinya tersedia di dokumentasi.

Memantau β€œkesehatan” sistem

S-Terra CC menggunakan daemon snmpd standar untuk pemantauan. Selain parameter khas Linux, S-Terra mendukung penerbitan data tentang terowongan IPSec sesuai dengan CISCO-IPSEC-FLOW-MONITOR-MIB, yang kami gunakan saat memantau status terowongan IPSec. Fungsionalitas OID khusus yang menampilkan hasil eksekusi skrip sebagai nilai juga didukung. Fitur ini memungkinkan kami melacak tanggal kedaluwarsa sertifikat. Skrip tertulis mem-parsing output perintah pertunjukan cert_mgr dan sebagai hasilnya memberikan jumlah hari hingga sertifikat lokal dan root kedaluwarsa. Teknik ini sangat diperlukan ketika mengelola CABG dalam jumlah besar.
Kami mengenkripsi menurut Gost: panduan untuk menyiapkan perutean lalu lintas dinamis

Apa manfaat enkripsi tersebut?

Semua fungsi yang dijelaskan di atas didukung langsung oleh S-Terra KSh. Artinya, tidak perlu memasang modul tambahan apa pun yang dapat memengaruhi sertifikasi gateway kripto dan sertifikasi keseluruhan sistem informasi. Bisa ada saluran apa saja antar situs, bahkan melalui Internet.

Karena kenyataan bahwa ketika infrastruktur internal berubah, tidak perlu mengkonfigurasi ulang gateway kripto, sistem bekerja sebagai layanan, yang sangat nyaman bagi pelanggan: ia dapat menempatkan layanannya (klien dan server) di alamat mana pun, dan semua perubahan akan ditransfer secara dinamis antar peralatan enkripsi.

Tentu saja enkripsi karena biaya overhead (overhead) mempengaruhi kecepatan transfer data, tetapi hanya sedikit - throughput saluran dapat menurun maksimal 5-10%. Pada saat yang sama, teknologi tersebut telah diuji dan menunjukkan hasil yang baik bahkan pada saluran satelit, yang cukup tidak stabil dan memiliki bandwidth yang rendah.

Igor Vinokhodov, insinyur lini ke-2 administrasi Rostelecom-Solar

Sumber: www.habr.com

Tambah komentar