CrowdSec v.1.0.0 - alternatif lokal untuk Fail2Ban





Hei. Kami, tim proyek CrowdSec, dengan bangga mengumumkan perilisan CrowdSec 1.0.0. Rilis ini sangat penting karena selain menambahkan beberapa fitur baru, keseluruhan proyek telah mengalami perubahan arsitektur besar menjadi lebih cepat, lebih tinggi, dan lebih kuat.



Pertama-tama, kami dengan senang hati mempersembahkan perubahan utama pada tambalan ini - pengenalan REST API lokal. Berkat dia, keseluruhan proyek telah mengubah arsitekturnya secara serius untuk menyederhanakan dan memfasilitasi interaksi komponen di tingkat lokal. Namun, kemudahan penggunaan secara keseluruhan tidak terganggu - menggunakan CrowdSec masih mudah dan menyenangkan.



Bagi mereka yang tidak tahu tentang CrowdSec atau bertanya-tanya bagaimana startup Prancis berakhir di Habré, mari buat sedikit penyimpangan:
, , , Fail2Ban: «CrowdSec — Fail2Ban ».



, , IT-. . , — .



, . , , . 1.0.0 :)


Bagaimana itu dan bagaimana jadinya



Hal utama yang terjadi dengan rilis versi 1.0 adalah pengenalan perubahan pada arsitektur, yang terjadi karena pengenalan REST API lokal ke dalam pekerjaan. Dari sudut pandang arsitektur, sistem kami terdiri dari tiga komponen utama:



  • layanan CrowdSec yang terus berjalan yang memantau log, serangan, dll.;

  • baris perintah, antarmuka untuk berinteraksi dengan layanan;

  • modul integrasi (bouncer) untuk memastikan pemblokiran alamat yang menyerang.


Di bawah ini adalah diagram cara kerja CrowdSec sebelumnya:







Seperti yang Anda lihat dari diagram, setidaknya tiga elemen sistem terus-menerus mengakses database secara langsung. Dalam diagram, arah ini ditandai dengan lingkaran merah (cwcli-DB, output plugins-DB, Bouncers-DB). Pada saat yang sama, "Bouncer" berarti setidaknya lima modul yang terus berkomunikasi antara database reputasi dan database alamat IP yang dilarang.



Saat Anda mengembangkan proyek dari awal, kruk ini adalah cara yang mudah, cepat, dan murah untuk membuat prototipe yang berfungsi dari suatu sistem. Namun, jika kita berbicara tentang stabilitas dan kecepatan kerja, begitu banyak titik akses ke database bukanlah solusi terbaik. Arsitektur proyek ini menyebabkan munculnya sejumlah batasan yang kami temui pada tahap pengembangan lebih lanjut dari CrowdSec. Oleh karena itu, kami ingin menyingkirkannya secepat mungkin.



Setelah mendesain ulang proyek di tingkat arsitektur, kami sampai pada keputusan bahwa opsi terbaik adalah REST API lokal, yang akan digunakan untuk komunikasi komponen di atas dan database.



Hasilnya, kami mendapatkan arsitektur berikut:







Sekarang semua modul internal berkomunikasi satu sama lain dan dengan database secara eksklusif melalui REST API.



Keuntungan utama API dibandingkan implementasi lama adalah penyederhanaan modul (Bouncer) dibandingkan dengan versi CrowdSec yang lama. Jika sebelumnya bouncer mengakses berbagai database secara langsung, sekarang, berkat kerja keras melalui REST API, dia hanya membutuhkan satu permintaan HTTP-get dengan token API. Semua pekerjaan lain terjadi di sisi API.



Skema cloud CrowdSec



Dalam tampilan klasik, diasumsikan bahwa salah satu mesin akan memiliki bagian server CrowdSec yang diterapkan, yang, melalui API baru, akan dapat mengelola modul di mesin lain dalam jaringan yang ditentukan oleh administrator. Jika diinginkan, pengguna dapat menggunakan database miliknya sendiri dari alamat yang dilarang, atau mengakses database kami secara berbayar. Namun, membuat satu titik komunikasi antara REST API lokal dan API kita sendiri menciptakan peluang baru: pengoperasian CrowdSec pada model yang dekat dengan SaaS cloud.



Sekarang administrator tidak perlu menerapkan bagian server CrowdSec yang lengkap dengan REST API lokal di komputernya. Sebagai gantinya, ia dapat menggunakan API CrowdSec pusat eksternal kami dan hanya menggunakan bouncer untuk mengamankan jaringan.



Selain itu



Bagi mereka yang telah menggunakan CrowdSec sebelumnya, kami menyarankan Anda untuk memeriksa daftar lengkap perubahan di versi 1.0.0 relatif terhadap versi 0.3.x di GitHub .



Pengguna baru disarankan untuk merujuk ke informasi dari repositori kami di GitHub .



Kami ingin menunjukkan bahwa CrowdSec adalah alat open source yang dirilis di bawah lisensi MIT gratis. Jadi, siapa pun dapat menggunakannya secara gratis. Proyek ini belum dimonetisasi , kami sedang mengembangkan daftar larangan dan rencana tarif kami sendiri. Di situs web kami hub.crowdsec.net khusus untuk pengguna baru, koleksi, konfigurasi, dan penjaga siap pakai dikumpulkan untuk memfasilitasi pengaturan dan mulai menggunakan CrowdSec.






Anda dapat mengajukan pertanyaan tentang proyek kami di sini di komentar. Menggunakan bahasa Inggris akan mempermudah komunikasi - kami tidak harus menggunakan Google. Terjemahkan atau minta teman berbahasa Rusia untuk menerjemahkan pesan Anda untuk kami.



All Articles