Sabtu, 19 Februari 2022

Cloudflare Firewall Test - Tokodistributor.com

  Pada kesempatan ini saya akan coba sedikit share hasil pengalaman team kami dalam mencoba firewall yang tersedia dari cloudflare.com. Sedikitnya kami telah mencoba buat firewall self managed tapi nyatanya bot yang mencoba menyerang berubah-rubah secara IP Address dan juga User Agent.

Dalam kesempatan ini pula kami menggunakan NGINX sebagai web server dan custom gateway sendiri yang dibuat dengan bahasa pemograman Golang.


Di kasus ini pula kami tidak hanya menggunakan satu layer security tapi beberapa layer security. Dan yang terpenting melihat pola kerja bot.


1. Rate Limit dengan Internal Service

Sekali lagi saat kami mencoba membatasi IP yang masuk dan juga request terhadap service yang ada nyatanya ip tersebut berubah-ubah dan sulitnya bot tersebut tidak melakukan spamming yang begitu besar terhadap suatu endpoint. Bisa dilihat langsung dari gambar di bawah ini.




2. Ban User Agent?
Jawabannya tentu sangat tidak di rekomendasikan, dengan menggunakan ini setidaknya ada yang di korbankan. Beberapa diantara tentu saja dengan User Agent yang bisa jadi di kondisi sama tetapi user 'normal' maka akan merugikan user tersebut.


3. Anti Fraud Service

Tentu saja ini yang paling mendasar dari sebuah service yang kami buat, artinya kami mulai memperbaharui beberapa service kami, dan betul memang ini layer yang paling ampuh.


Tapi sekali lagi itu tidak mempengaruhi bot tersebut untuk tetap melancarkan aksinya. Sampai pada akhirnya untuk layer yang satu ini kami menggunakan cloudflare. Konsep sederhanannya DNS management kami yang memang menggunakan cloudflare dan mengaktifkan proxy dari cloudflare untuk sekaligus mengaktifkan beberapa fitur cloudflare.

Dan betul saja setelah saya coba seharian untuk melihat datanya, ini ampuh untuk filter layering dari tingkatan DNS service. Sekali lagi gambaran hanya berisikan konten yang berisikan pentingnya sisi firewall dari tingkatan sebuah service atau ops.



Dalam satu hari kurang, semenjak kita aktifkan (bisa dilihat pukul 18.00 sampai dengan 15.00 keesekokan harinya) setidaknya cloudflare sudah berhasil menghadang 2210 request dari bot yang coba menyerang. 



Berikut pula data yang disajikan dari cloudflare dari segi IP Address, User Agent, Geo Location IP, dan tentunya Provider Internet dari si bot berasal.


Dari sini pula kami dapat melihat lebih detail dari setiap serangan bot tersebut.


Jadi kesimpulan yang kami dapat, untuk firewall dari sisi proxy dns dari cloudflare ini sangat membantu kami dalam menghalau segala bentuk tindakan yang dapat merugikan.
Akhir kata saya mengucapkan terima kasih kepada team yang telah bekerja keras untuk kasus ini.


Best Regards,



M. Irfan Maulana

Co Founder Tokodistributor.com

Rabu, 20 September 2017

Sudah tahu Git-ftp?

Buat rekan-rekan yang terbiasa menggunakan git sebagai version control system codenya, dan biasanya terkendala dengan shared hosting yang terkendala fasilitas ini.
Langsung saja, untuk menggunakan ini yang kita butuhkan pastinya protokla ftp. Saya yakin shared hosting hampir semua memberikan fasilitas ini.

sudo apt-get install git-ftp

Setelah beres langsung saja kita konfigurasi dalam project yang pastinya sudah di iniasiasi git nya.

# Setup
git config git-ftp.url "ftp://ftp.example.net:21/public_html"
git config git-ftp.user "ftp-user"
git config git-ftp.password "secr3t"

Setelah di configurasi sekarang tinggal jalankan
# Upload all files
git ftp init

untuk selanjutnya biasanya hanya tinggal git add dan git commit
# add and commit
git add .
# commit
git commit -m "test"

Dan terakhir di push
# push
git ftp push
Terlihat sederhana dan yang pastinya kita lebih leluasa menambahkan atau mengurangi code pada aplikasi yang telah di berada di host.

Semoga berguna.

Salam,



Ref: https://github.com/git-ftp/git-ftp

Selasa, 04 Juli 2017

speed up postgresql: pg_restore

Untuk rekan-rekan yang mau restore data yang cukup besar, bisa menggunakan cara berikut ini:
  1. Open postgresql.conf
  2. Set shared_buffers (misal 512MB)
  3. Set maintenance_work_mem (misal 256MB)
  4. Set full_page_writes jadi off
  5. Set wal_buffers (misal 16MB)
  6. Set autovacuum jadi off
  7. Restart postgresql
Nb: Hanya untuk pg_restore