Cara Terbaik dalam Menggunakan Elasticsearch snapshots

Elastic Search merupakan sebuah aplikasi open source yan dikhususkan untuk menyimpan sekaligus mengolah data secara masif. Yang menjadi isu utama ketika memiliki big data adalah model pencariannya, apalagi data tersebut memiliki struktur yang cukup kompleks. Dibekali dengan search engine yang dibangun dari Apache lucen membuat elastic search memiliki perfoma tinggi, pencarian teks secara penuh dan toleransi kesalahan yang cukup miniim, skalabilitas tinggi dan mudah digunakan.

Selain itu, Elastic Search dapat digunakan untuk menyimpan dan melakukan pencarian data dengan berbagai macam jenis, mulai dari angka, kata, kalimat tanggal dan geospasial. Juga elastic search ini cukup terkenal digunakan sebagai analisa data seperti visualisasi data dan agregasi.

Berikut kegunaan lain yang populer, elastic search diaplikasikan sebagai:
  • Log Management. Berguna untuk mengumpulkan sekaligus mengalasi log dari aplikasi atau infrastruktur yang sedang dibangun. Dengan cari ini, anda bisa mengenali dan menangani masalah yang ada pada sistem.
  • Monitoring. Tndak lanjut dari log management adalah melakukan pengawasan secara rutin sehingga dapan dilakukan pencegahan sebelum sebuah insiden terjadi
  • Pencarian. Data masif yang terkumpul justru akan sulit dikenali bila tidak dibekali dengan kemampuan  pencarian handal.  Elastic search sudah memiliki fitur pencarian data masif.
  • Analitik. Pada pengolahan data masif, tentu saja dibutuhkan juga metode untuk melakukan analisa. Setidaknya elastic search dapat membantu anda melakukan perbandingan pada data-data tertentu sehingga anda dapat membuat keputusan yang lebih bagus. 
Hal paling krusial ketika memiliki database adalah menjamin integritas data melalui metode pencadangan (backup). Insiden-insiden yang melibatkan kehilangan data sering terjadi. Apabila hal tersebut terjadi, maka para devops tidak perlu khawatir karena dapat mengembalikan data seperti sedia kala.


BAGAIMANA CARA MELAKUKAN PENCADANGAN PADA ELASTICSEARCH

Saya asumsikan bahwa anda sudah memiliki konfigurasi elasticsearch sekaligus cluster-nya menggunakan  docker

Hal-hal yang perlu diperhatikan ketika menggunakan fitur snapshot melalui docker:
  • Apabila anda memiliki beberapa node, anda harus mem-bind lokasi direktori snapshot di dalam kontainer pada direktori host dengan lokasi yang sama. Sehingga setiap node dapat mengakses file snapshot yang sama. Node 1 dapat mengakses file snapshot yang dihasilkan oleh node2, atau sebaliknya.
  • Definisikan lokasi repositori pada environment sehingga elasticsearch dapat mencari kemana harus menyimpan repository tersebut. Anda dapat menyisipkan environtment path.repo: diikuti dengan lokasi repository-nya
Perhatikan gambar berikut ini. Saya akan menampilkan konfigurasi 2 dari 8 node elasticsearch:









 

Segera Update RouterOS anda Untuk Menghidari Celah Berbahaya (CVE-2023-30799)

Baru-baru ini telah ditemukan sebuah masalah celah hak akses pada MikroTik RouterOS versi 6.46.x hingga 7.10.x. Celah ini memungkinkan administrator yang memiliki hak akses "policy" mengirim perintah konfigurasi yang dibuat khusus yang biasanya ditolak saat dikirim oleh pengguna biasa (pengguna yang tidak memiliki hak akses "policy"). Celah ini dapat digunakan sebagai jalan pintas untuk mengeksekusi kode arbitrer di router, memungkinkan pengguna yang terhubung untuk mengambil alih sistem operasi dasar RouterOS.



Celah ini disebabkan oleh kesalahan dalam cara RouterOS menangani perintah konfigurasi yang dikirim melalui API. Saat pengguna mengirim perintah konfigurasi, RouterOS memeriksa izin pengguna untuk melihat apakah mereka diizinkan untuk mengeksekusi perintah tersebut. Namun, jika pengguna memiliki izin "policy", mereka dapat melewati pemeriksaan ini dan mengirim perintah konfigurasi apa pun yang mereka inginkan.

Penyerang yang dapat mengeksploitasi kerentanan ini dapat mengirim perintah konfigurasi yang dibuat khusus yang akan memungkinkan mereka untuk mengeksekusi kode arbitrer di router. Hal ini dapat menyebabkan penyerang untuk mengambil alih router dan sistem operasi dasarnya.

Celah ini telah diidentifikasi sebagai CVE-2023-30799. MikroTik telah merilis pembaruan keamanan yang mengatasi kerentanan ini. Pengguna disarankan untuk memperbarui instalasi RouterOS mereka ke versi terbaru sesegera mungkin.


PROOF OF CONCEPT (POC)

PoC adalah sepotong kode kecil yang menunjukkan bagaimana kerentanan dapat dieksploitasi. PoC bukan eksploit lengkap, tetapi dapat digunakan untuk membantu peneliti keamanan dan pengembang memahami kerentanan dan mengembangkan mitigasi yang efektif.

PoC dapat ditemukan di situs web ExploitDB. Berikut adalah link ke PoC: <https://www.exploit-db.com/exploits/51236>

Tulis kode berikut ini pada lembar kerja baru


PoC ini digunakan untuk mengirimkan perintah konfirgurasi yang dibuat khusus di perangkat Mikrotik RouterOS  pada IP dan port tertentu. Jika celah tersebut ada, maka perintah tersebut akan dieksekusi dan file /etc/passwd akan di tulis ulang dengan yang baru.

Untuk menjalankan PoC ini kita harus meng-install python versi 3. Kemudian simpan file diatas dengan nama poc.py selanjutnya jalankan dengan perintah:

python3 poc.py

Jika PoC sukses makan akan ditampilkan PoC success! sedangankan apabila gagal akan ditampilkan PoC failed!


MITIGASI

Ada beberapa langkah yang dapat diambil untuk mengurangi risiko kerentanan ini:

  • Perbarui instalasi RouterOS Anda ke versi terbaru.
  • Nonaktifkan izin "policy" untuk semua pengguna kecuali administrator tepercaya.
  • Konfigurasikan firewall Anda untuk memblokir semua koneksi masuk ke API RouterOS.


Berikut adalah dokumentasi dan sumber daya lainnya:

  • MikroTik blog post: https://blog.mikrotik.com/security/cve-2023-30799.html
  • NVD CVE entry: https://nvd.nist.gov/vuln/detail/CVE-2023-30799
  • ExploitDB PoC: https://www.exploit-db.com/exploits/51236
  • VulnCheck blog post: https://vulncheck.com/blog/mikrotik-foisted-revisited

Hasil Tes YABS VPS RackNerd: Performa Luar Biasa di Semua Bidang

 


Saya baru-baru ini menjalankan tes YABS pada VPS yang disediakan oleh RackNerd.com. Hasilnya sangat mengesankan, menunjukkan bahwa VPS memiliki performa yang sangat baik dalam hal CPU, memori, disk, dan kecepatan jaringan.

CPU-nya adalah Intel Xeon E5-2680 v2, yang merupakan prosesor quad-core dengan clock dasar 2,80GHz. Hasil tes YABS menunjukkan bahwa CPU dapat mempertahankan beban CPU maksimum 100% tanpa throttling. Ini berarti bahwa VPS mampu menangani bahkan aplikasi yang paling menuntut.

VPS memiliki 4,3GB RAM, yang lebih dari cukup untuk sebagian besar pengguna. Hasil tes YABS menunjukkan bahwa RAM mampu menangani bahkan aplikasi yang paling intensif memori tanpa masalah.

VPS memiliki SSD 93,9GB, yang menyediakan banyak ruang penyimpanan untuk sebagian besar pengguna. Hasil tes YABS menunjukkan bahwa SSD dapat membaca dan menulis data dengan kecepatan sangat cepat.

VPS memiliki koneksi jaringan 10Gbps, yang memberikan performa jaringan yang sangat baik. Hasil tes YABS menunjukkan bahwa VPS mampu mencapai kecepatan unduh hingga 848Mbps dan kecepatan unggah hingga 554Mbps.

Secara keseluruhan, hasil tes YABS menunjukkan bahwa VPS yang disediakan oleh RackNerd.com adalah VPS yang sangat powerful dan capable. Memiliki performa yang sangat baik dalam hal CPU, memori, disk, dan kecepatan jaringan. Ini menjadikannya pilihan yang tepat bagi pengguna yang membutuhkan VPS untuk aplikasi yang menuntut.

Berikut adalah beberapa detail tambahan dari hasil tes YABS:

  • VPS berlokasi di pusat data Atlanta, Georgia.
  • VPS menjalankan Ubuntu 22.04.2 LTS.
  • VPS memiliki AES-NI dan VM-x/AMD-V diaktifkan.


Kesimpulan

Hasil tes YABS menunjukkan bahwa VPS yang disediakan oleh RackNerd.com adalah VPS yang sangat powerful dan capable. Memiliki performa yang sangat baik dalam hal CPU, memori, disk, dan kecepatan jaringan. Ini menjadikannya pilihan yang tepat bagi pengguna yang membutuhkan VPS untuk aplikasi yang menuntut.


Jika Anda mencari VPS yang powerful dan reliable, saya sangat merekomendasikan untuk memeriksa RackNerd.com.

Modul GD dengan Dukungan JPEG dan FreeType

Pada beberapa kasus, terkadang kita membutuhkan PHP dengan modul GD yang mengharuskan dapat membproses file dengan mimetype atau ekstensi JPEG sekaligus FreeType. Modul GD sendiri merupakan sebuah bagian dari PHP yang digunakan untuk memproses grafik.

Kali ini studi kasus saya merupakan aplikasi terbuka Senayan Library Management System (SLiMS). Aplikasi ini membutuhkan modul GD dengan dukungan FreeType yang digunakan untuk membuat kode batang (barcode).



Pada dasarnya PHP telah menyediakan script compiler pada saat docker build yang digunakan untuk memasang GD modul pada package utamanya, hanya saja setelah saya telusuri dukungan terhadap FreeType dibatasi, sehingga terjadi error seperti diatas. Error diatas disebabkan karena sebenarnya GD telah berhasil terpasang namun belum bisa menggunakan FreeType. Untuk itulah dibutuhkan konfigurasi ulang sesaat sebelum melakukan install GD. Barulah ketika sudah mengaktifkan FreeType kita dapat mengintegrasikan GD pada PHP. PHP melakukan ini untuk menjaga agar image nya tetap pada kondisi minimalis dan maintainable, sehingga konsep efesiensi dapat tercapai.

Berikut dasar dari Dockerfile yang selalu saya gunakan untuk mengerjakan project.



Kemudian, berikut adalah Dockerfile yang telah mendapatkan perbaikan aktivasi GD FreeType



Hal paling mendasar untuk mengaktifkan gd dengan dukungan FreeType adalah melakukan kompilasi terhadap binary gd sembari memberikan flag --enable-gd --with-freetype --with-jpeg --with-webp.

Pada baris setelah instalasi yaz saya membuat sebuah variable environtment untuk menyimpan nilai konfigurasi GD yang dipanggil dibaris bawahnya.  Selanjutnya saya copy library GD pada directory yang seharusnya.

Perlu diingat bahwa sebelum melakukan meng-copy extention gd pada direktori extention maka perlu untuk mengetahui lokasi aslinya. Kita dapat melakukan ls terhadap direktori /usr/local/lib/php/extensions/ di dalam kontainer yang aktif.

Hasilnya pada aplikasi SLiMS tidak muncul lagi error yang intinya keterbatasan dukungan GD terhadap FreeType.




Sumber:

“PHP 7.4 - Problems on Gd with JPEG and Freetype Support · ISSUE #926 · Docker-Library/PHP.” GitHub, Paulocoutinhox, 19 Dec. 2019, github.com/docker-library/php/issues/926#issuecomment-567201468. Accessed 27 July 2023.

Review Jujur Biznet Gio VPS: Performa Memadai dengan Kecepatan Jaringan yang Terbatas

Dalam mencari penyedia Virtual Private Server (VPS) yang tepat, penting untuk mendapatkan gambaran yang jujur tentang performa dan kecepatan jaringan yang ditawarkan. Dalam ulasan ini, kita akan mengevaluasi Biznet Gio berdasarkan hasil YABS yang terbaru yang telah dilakukan, memberikan pandangan objektif tentang layanan yang mereka tawarkan.

Hasil YABS menunjukkan bahwa performa disk Biznet Gio terbatas. Dalam uji coba dengan ukuran blok 4k, kecepatan baca sebesar 1,95 MB/s (dengan 489 IOPS) dan kecepatan tulis sebesar 1,98 MB/s (dengan 495 IOPS) mencerminkan performa yang rendah. Meskipun performa meningkat saat ukuran blok ditingkatkan, dengan kecepatan baca maksimum sebesar 244,71 MB/s (dengan 477 IOPS) dan kecepatan tulis sebesar 257,71 MB/s (dengan 503 IOPS) untuk ukuran blok 512k, performa tetap terbatas dibandingkan dengan standar yang lebih tinggi yang ditawarkan oleh beberapa penyedia VPS lainnya.

Hasil uji kecepatan jaringan menggunakan iperf3 menunjukkan variasi dalam kecepatan jaringan Biznet Gio di berbagai lokasi. Sementara Biznet Gio menunjukkan kecepatan yang baik di beberapa lokasi, seperti North Holland, dengan kecepatan pengiriman sebesar 316 Mbits/detik dan kecepatan penerimaan sebesar 378 Mbits/detik, ada beberapa lokasi di mana kecepatan terbatas atau sibuk. Misalnya, di Paris, kecepatan penerimaan hanya mencapai 121 Mbits/detik, sedangkan di New York City, kecepatan pengiriman hanya mencapai 182 Mbits/detik. Variasi ini dalam kecepatan jaringan dapat mempengaruhi kinerja dan responsifitas aplikasi atau sistem yang dihosting di Biznet Gio.

Hasil pengujian Geekbench menunjukkan bahwa Biznet Gio menggunakan prosesor dengan skor yang cukup tinggi. Dalam pengujian Anda, skor single-core mencapai 1229 dan skor multi-core mencapai 2517. Hal ini menunjukkan bahwa Biznet Gio menggunakan prosesor yang mampu menangani tugas-tugas yang lebih berat dengan baik.

Berdasarkan hasil YABS yang Anda berikan, Biznet Gio menunjukkan performa disk yang terbatas dengan kecepatan baca/tulis yang rendah pada ukuran blok 4k. Sementara performa meningkat saat ukuran blok ditingkatkan, tetap terbatas dibandingkan dengan penyedia VPS lainnya. Selain itu, kecepatan jaringan Biznet Gio bervariasi di berbagai lokasi, dengan beberapa lokasi menunjukkan kecepatan terbatas atau sibuk. Namun, prosesor

Meskipun informasi yang disediakan tidak memberikan wawasan yang lengkap tentang keandalan dan skalabilitas Biznet Gio, ada beberapa keunggulan layanan yang dapat disoroti. Biznet Gio menawarkan fleksibilitas dan skalabilitas dalam memenuhi kebutuhan bisnis yang berkembang. Dengan kemampuan untuk mengalokasikan sumber daya secara dinamis dan meningkatkan kapasitas server sesuai permintaan, Biznet Gio dapat menyesuaikan diri dengan pertumbuhan bisnis Anda. Fitur-fitur seperti otomatisasi dan manajemen yang canggih juga dapat membantu dalam mempermudah pengelolaan dan pengembangan infrastruktur Anda.

Selain itu, Biznet Gio juga menawarkan layanan berkualitas dalam hal keamanan dan dukungan teknis. Dengan perlindungan yang kokoh terhadap serangan dan kebijakan keamanan yang ketat, Biznet Gio berkomitmen untuk menjaga integritas dan kerahasiaan data Anda. Tim dukungan teknis yang kompeten dan responsif siap membantu Anda dalam mengatasi masalah dan menjawab pertanyaan Anda, memberikan pengalaman yang lebih baik dalam penggunaan layanan mereka.


Kesimpulan:

Secara keseluruhan, Biznet Gio menawarkan fleksibilitas dan skalabilitas dalam memenuhi kebutuhan bisnis yang berkembang. Meskipun performa disk terbatas dengan kecepatan baca/tulis yang rendah pada ukuran blok yang lebih kecil, Biznet Gio dapat menjadi pilihan yang baik jika Anda membutuhkan kemampuan untuk mengalokasikan sumber daya secara dinamis dan meningkatkan kapasitas server sesuai permintaan. Dalam hal keamanan dan dukungan teknis, Biznet Gio juga menonjol dengan perlindungan yang kokoh dan tim dukungan yang responsif.


Namun, perlu diperhatikan bahwa variasi dalam kecepatan jaringan di berbagai lokasi dapat mempengaruhi kinerja dan responsifitas aplikasi atau sistem Anda. Oleh karena itu, penting untuk mempertimbangkan kecepatan jaringan yang konsisten dalam memilih penyedia VPS yang sesuai dengan kebutuhan Anda.

Docker Error Saat Build Apt Update - Hindari OS Base Jessie

Beberapa hari ini ada tugas untuk deploy webapps menggunakan stack PHP 5.4 dan MySQL 5.5. Kedua image tersebut pada dasarnya telah tersedia secara official, hanya saja untuk PHP 5.4 tidak di-compile sepenuhnya dengan extension yang dibutuhkan alias kita harus pull base image-nya dan melakukan compile ulang.

Untuk tahap pull base image aman lah ya. Nah, saat melakukan compile ulang menggunakan extension yang dibutuhkan ada aktifitas apt-update. Sejauh yang kita tau, bahwa PHP 5.4 menggunakan distro Debian Jessie. Dikutip dari milist dan situs resminya bahwasanya Debian Jessie telah mencapai siklus hidup nya alias EOL. Hal ini membuat seluruh repository Debian Jessie sudah tidak lagi aktif dan bahkan beberapa mirror yang diketahui di Indoneisa pun juga tidak dapat digunakan.

Debrick Xiaomi 4C Router

Prerequisite:

1. Kabel LAN (bisa menggunakan bawaan dari router)

2. PC / laptop

3. Software debrick (Google Drive | Mirror) - ekstrak sehingga seluruh berkas dapat terlihat

Proses:

1. Matikan seluruh network interface kecuali ethernet yang akan digunakan untuk proses debricking. Masukkan ujung kabel UTP pada laptop (ujung lainnya biarkan terlebih dahulu)

2. Rubah IP address pada interface tersebut menjadi:
 IP address: 192.168.31.2
 Subnetmask: 255.255.255.0
 Gateway: 192.168.31.1

3. Matikan (cabut) power MI 4C Router. Pada saat kondisi mati, tahan tombol reset mengunakan kawat/tusuk gigi atau benda lain yang kecil dan tipis .Sangat disarankan sekali menggunakan sim ejector milik handphone dan hindari menggunakan jarum karena dapat merusak tombol reset. Saat anda menekan tombol terserbut, nyalakan (masukkan) power MI 4C Router dan tunggu hingga indikator power berwarna kuning berkedip cepat.

4. Masukkan ujung kabel UTP pada MI 4C Router di port LAN 1 (port warna abu-abu yang ada label titik berjumlah 1)

5. Setelah kabel UTP masuk, interface network pada windows akan menyala. Buka aplikasi pxesrv.exe yang telah diunduh. Anda tidak perlu melakukan konfigurasi karena pada arsip tersebut telah disediakan juga berkas konfigurasi. Tekan tombol online pada bagian atas dan tunggu hingga proses selesai.

6. Proses selesai ditandai dengan lampu indikator power berwarna biru.

7. MI 4C Router sudah dapat digunakan lagi.



Sumber:
https://hoddysguides.com/xiaomi-debrick-tools-all/ 

Mencari Selisih Jumlah Hari Antara Dua Tanggal pada Bash Scripting

Beberapa waktu lalu lagi bikin projek yang melibatkan protokol HTTPS. Seperti yang kita tahu bahwa HTTPS merupakan protokol yang melindungi ...