-->
I'm joko purnomo./Cybersecurity Specialist/

I'm joko purnomo./Cybersecurity Specialist/

Hi! My name is Joko Purnomo. I am a Cybersecurity Specialist. I work to design, improve, and install for integrated system (people, material, information, equipment, and energy). Skilled in Cybereason, Group IB, IBM QRadar, and Wazuh to specify, predict, and evaluate optimal system build.

Kunjungi profil

ABOUT ME

Resume

Personal info

Personal info

2

years of experience

3

completed projects

4

Happy customers

1

awards won


My Skills

88%
html
90%
JavaScript
98%
CSS3
68%
React
71%
Java
80%
EDR
75%
SIEM
71%
Ethical Hacking

Certification & Education

  • EC-Council Certified Incident Handler
    2025 - 2028
    EC-Council Certified Incident Handler

    Plan, Record, Triage, Notify, and Contain.

  • Digital Forensics Essentials (DFE) v1
    2023 - 2026
    Digital Forensics Essentials (DFE) v1

    Essential Practices, Principles, and Methodologies.

  • AWS Solution Architect - Associate
    2023 - 2026
    AWS Solution Architect - Associate

    Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization, Sustainability.

  • Enigma Camp
    2024
    Enigma Camp

    Java Programming

  • Purwadhika Digital Technology School
    2021
    Purwadhika Digital Technology School

    Fullstack Web Development

  • Institut Teknologi Indonesia
    2013 - 2017
    Institut Teknologi Indonesia

    Industrial Engineering

my portfolio

Works

get in touch

Contact

Contact Details

Feel free to get in touch with us. we always open to discussing new projects, creative ideas or opportunities to be part of your visions.

my products

Product

Cari Blog Ini

Menggunakan PaaS Elastic Beanstalk Untuk Deploy Reactjs dan Cara Kerja CloudFormation

Dalam dunia komputasi awan dikenal 3 istilah, yaitu infrastructure as a service (IaaS), platform as a service (PaaS), dan software as a service (SaaS). Contoh dari IaaS adalah EC2 instance yang cukup beberapa klik dapat dibuat virtual machine sehingga memungkinkan dikembangkannya aplikasi. Dengan EC2 instance tidak perlu lagi melakukan investasi awal atau capital expenditure dan menunggu server datang, cukup dengan hitungan menit server telah siap. Namun, pada kali ini akan dibahas mengenai platform as a service. Secara pengelolaan PaaS lebih maju dibandingkan IaaS, pada IaaS perlu dilakukan instalasi environment sedangkan di PaaS biasanya sudah tersedia. Salah satu platform as a service yang cukup terkenal adalah Elastic Beanstalk. Nah, dengan Elastic Beanstalk yang telah tersedia environment nodejs maka dimungkinkan melakukan deploy reactjs, perhatikan:

  1. Pastikan sudah memiliki akun AWS
  2. Login
  3. Pada console ketik Elastic Beanstalk dan klik
  4. Buat environment untuk nodejs
  5. Pilih environment yang sudah terbuat
  6. Upload and deploy, pastikan file reactjs dalam .zip
  7. Klik tombol deploy dan tunggu Elastic Beanstalk melakukan proses
  8. Untuk membuka hasil deploy klik URL dari environment tersebut
Elastic Beanstalk sebetulnya adalah membuat arsitektur secara automasi. Tanpa automasi maka diperlukan pembuatan secara manual untuk membangun arsitektur. Ada 4 hal utama yang perlu dilakukan dalam membangun arsitektur seperti konfigurasi storage, membuat routing jaringan, membuat virtual machine, dan membangun database. Itu semua membutuhan waktu dan energi. Padahal waktu tersebut bisa dilakukan untuk lebih fokus pada bisnis. Selain memakan waktu terjadinya kesalahan manusia dalam proses manual juga mungkin terjadi. Risiko lain dalam pembuatan manual seperti tidak mendukung proses berulang secara persis, tidak ada kendali versi, mungkin ada compliance atau kepatuhan yang lupa dilaksanakan, dan data management yang tidak konsisten.

Selain Elastic Beanstalk yang dapat digunakan untuk mempersiapkan sumber daya secara otomatis, lebih maju lagi menggunakan CloudFormation yang merupakan IaC atau infrastructure as code. Langkah sederhana dari penggunaan CloudFormation yaitu pertama menentukan sumber daya yang dibutuhkan dalam sebuah template, kemudian upload template ke CloudFormation, ketiga jalankan untuk membuat sebuah stack, dan akhiri untuk mengendalikan sumber daya sepert update stack, detect drift, atau delete stack. Keunggulan lain dari CloudFormation adalah kemampuan untuk rollback dan change set. Rollback adalah kemampuan untuk menghapus secara keseluruhan sumber daya yang sudah diimplementasikan, sedangkan change set adalah kemampuan untuk meninjau perubahan sebelum diimplementasikan. Perhatikan cakupan dari template:

  • Frontend services: tampilan web, akses mobile, papan analisis
  • Backend services: pencarian, pembayaran, peninjauan, rekomendasi
  • Shared services: database pengelolaaan relasi pelanggan, pemantauan, peringatan, subnet dan security group
  • Network: VPC, internet gateway, VPN, dan NAT
  • Security: IAM policies, IAM users, IAM groups, dan IAM roles
Automasi dalam teknologi komputasi awan memiliki kemiripan dengan developer, yaitu kemampuan untuk CRUD atau create, read, update, dan delete. Hanya saya objek CRUD bagi ahli teknologi komputasi awan adalah stack. Berbeda dengan seorang developer murni yang biasanya perlu menguasai beberapa bahasa pemrograman seperti PHP dan JavaScript, bagi developer teknologi komputasi awan untuk membangun automasi cukup memahami JSON atau YAML. Biasanya pengembang teknologi komputas awan akan menggunakan YAML yang merupakan turunan dari JSON, hal tersebut terjadi karena di syntax YAML lebih sederhana. Walaupun YAML lebih sederhana, JSON tetap memiliki keunggulan untuk digunakan pada berbagai sistem komputer. Secara sederhana ada 3 bagian dari sebuah template, yaitu:
  • Parameters: spesifikasi nilai apa yang bisa diatur pada runtime ketika membuat stack, misalnya region-spesific settings dan key pair
  • Resources: menentukan apa kebutuhan yang akan dibuat, misalnya membuat seluruh komponen VPC di sebuah region dan buat EC2 instance
  • Outputs: spesifikasi nilai kembalian setelah stack dibuat, misalnya menampilkan instance id atau alamat publik IP dari EC2 instance setelah proses
Agar lebih memahami mengenai drift detection yang ada di CloudFormation maka perhatikan contoh, misalnya sebuah lingkungan aplikasi dibuat dengan CloudFormation stack, lalu seseorang secara manual mengubah security group yaitu membuka port baru untuk inbound, maka secara otomatis drift detection akan mendeteksi perubahan tersebut dengan menampilkan seluruh sumber daya kecuali security group berstatus IN_SYNC, sedangkan security group akan berstatus MODIFIED dengan detailnya. AWS CloudFormation kebanyakan dibuat oleh AWS solutions architects, beberapa template dari CloudFormation bisa didapatkan di AWS Quick Starts. CloudFormation biasanya berkolaborasi dengan layanan automasi lain seperti Systems Manager dan OpsWork. Sebagai catatan bahwa tidak semua sumber daya komputasi awan dapat dibuat dengan CloudFormation, oleh sebab itu perlu diperhatikan dokumentasi. Perhatikan cara menggunakan CloudFormation:
  1. Pada Management Console ketik CloudFormation dan pilih
  2. Klik tombol Create stack
  3. Pada halaman Create stack
    • Step 1
      • Prerequisite - Prepare template
        • Template is ready: jika sudah memiliki template
          • Specify template
            • Amazon S3 URL: ditarik dari template yang ada di S3
            • Upload a template file: file dengan format JSON atau YAML
        • Use a sample template
          • Simple
            • LAMP Stack
            • Ruby on Rails Stack
            • WordPress blog
          • Multi_AZ_Simple
            • LAMP Stack
            • Ruby on Rails Stack
            • WordPress blog
          • Windows
            • Windows features and roles
            • Windows Active Directory
        • Create template in Designer

      • sumber: aws.amazon.com

      • Klik tombol Next
    • Step 2
      • Stack name: nama dari stack atau tumpukan yang akan dibuat
      • Parameters: ini bergantung apakah template mengandung parameter

      • sumber: aws.amazon.com

      • Klik tombol Next
    • Step 3
      • Configure stack options
        • Tags: ini untuk memudahkan policy dan filtering
        • Permissions: untuk memberikan IAM role

          • sumber: aws.amazon.com

        • Stack failure options: apa yang dilakukan ketika stack gagal dilakukan
          • Roll back all stack resources: menarik kembali
          • Preserve successfully provisioned resources: biarkan sumber daya yang berhasil dibangun

          • sumber: aws.amazon.com

      • Advanced options
        • Stack policy: kebijakan untuk stack
          • No stack policy: tanpa ada kebijakan
          • Enter stack policy: ketik secara langsung
          • Upload a file: unggah file yang berisi kebijakan

          • sumber: aws.amazon.com

        • Rollback configuration: konfigurasi untuk menarik kembali sumber daya
          • Monitoring time: waktu setelah operasi selesai
          • CloudWatch alarms: jika ingin diberikan peringatan dari CloudWatch

          • sumber: aws.amazon.com

        • Notification options: menggunakan SNS

          • sumber: aws.amazon.com

        • Stack creation options: opsi dalam membuat stack atau tumpukan
          • Timeout: waktu maksimal pengerjaan stack
          • Termination protection: untuk menghindari kejadian penghapusan

          • sumber: aws.amazon.com

      • Klik tombol Next
    • Step 4
      • Review: tinjau kembali stack yang akan dibuat, jika diperlukan bisa klik tombol Edit
      • Klik tombol Submit
  4. Untuk memonitor stack yang berhasil dibuat maka pilih tab Resources
  5. Untuk memonitor stack yang sedang dibuat maka pilih tab Events
  6. Untuk melihat outputs atau nilai kembalian dari stack maka pilih tab Outputs
  7. Untuk meninjau kembali file stack upload maka pilih tab Template
  8. Lakukan hal yang sama untuk membuat stack application atau stack lainnya
  9. Untuk melakukan update
    • Update dokumen dari stack yang berformat .yaml sebelumnya
    • Pilih stack yang akan di-update
    • Klik tombol Update
    • Pada halaman Update stack
      • Step 1
        • Prepare template
        • Replace current template
        • Edit template in designer
        • Klik tombol Next

        • sumber: aws.amazon.com

      • Step 2
        • Parameters: bergantung pada template yang diupload
        • Klik tombol Next
      • Step 3
        • Configure stack options
          • Tags
          • Permissions
          • Stack failure options
        • Advanced options
          • Stack policy during update
          • Rollback configuration
          • Notification options
        • Klik tombol Next
      • Step 4
        • Review: tinjau kembali apakah konfigurasi sudah tepat
        • Klik tombol Submit
  10. Melihat stack secara visual
    • Pada panel sebelah kiri pilih Designer
    • Pada halaman Designer ada icon file di pojok kiri atas
    • Pilih icon file, kemudian pilih open, dan pilih file yang akan ditampilkan secara visual
    • Maka akan tampil bangunan secara visual
Automasi akan mempercepat proses deploy sehingga bisa lebih fokus pada pengembangan bisnis daripada berpikir bagaimana mempersiapkan sumber daya komputasi awan.




ref:
aws.amazon.com

Skema Identity and Access Management

Sedikitnya ada 2 issue yang menyelimuti teknologi komputasi awan, yaitu biaya dan keamanan. Sebagian menyatakan bahwa dengan menggunakan komputasi awan sangat menghemat pengeluaran sumber daya teknologi informasi, namun ada juga sebagian yang berpendapat bahwa teknologi komputasi awan sangatlah mahal. Pendapat hemat dan mahal ini sangat subjektif sekali. Pada dasarnya setiap perusahaan berusaha menghindari kerugian dan cara untuk menghindari kerugian adalah memahami penerapan teknologi yang akan digunakan. Sejujurnya tidak semua kasus perusahaan akan berdampak tepat jika menerapkan teknologi komputasi awan. Artinya penerapan teknologi komputasi awan bergantung dari bisnis yang dijalankan. Akhirnya penggunaan komputasi awan yang tepat akan dapat menghemat dan akhirnya meningkatkan keuntungan perusahaan. Pada sisi keamanan ada 2 hal yaitu akses dari sumber daya yang ada di komputasi awan dan data yang dititipkan di komputasi awan. Rekomendasi terbaik untuk mengamankan data adalah enkripsi in-transit, at-rest, dan letter of agreement.

Setiap akun AWS akan memiliki root user yang memiliki hak istimewa tertinggi yaitu mengkases seluruh sumber daya komputasi awan. Praktek terbaik adalah menghindari penggunaan root user untuk kebutuhan sehari-hari. Caranya dengan membuat IAM user dan tetap menjaga kredensial dari root user tetap berada di lokasi yang aman. Dengan IAM user maka dimungkinkan melakukan pengelolaan tugas. Secara bawaan IAM user tidak memiliki ijin apapun pada sumber daya sehingga root user perlu memberikan ijin terlebih dahulu untuk dapat melakukan pengelolaan tugas. Komponen IAM ada 4, yaitu:

  1. IAM user
    • seorang petugas atau aplikasi yang akan mengakses sumber daya komputasi awan, IAM user bisa membuat panggilan API, di setiap akun AWS setiap user harus memiliki nama yang unik dan tanpa spasi
  2. IAM group
    • merupakan kumpulan dari IAM user yang bisa digunakan untuk menyederhanakan permission ke banyak user
  3. IAM policy
    • sebuah dokumen yang mendefinisikan permission apa yang bisa dilakukan oleh user dan apa yang tidak bisa dilakukan user, ditulis dalam bentuk JSON, ada 2 tipe yaitu identity-based (ditempelkan ke user, group, atau role) dan resource-based (ditempelkan ke sumber daya komputasi misalnya EC2 dan S3), hal yang perlu diperhatikan dari policy adalah ARN atau Amazon Resource Name dan wildcard (*)
      • effect: bisa allow atau deny
      • action: tipe akses yang akan di allow atau di deny
      • resource: sumber daya komputasi yang menjadi objek
      • condition: kondisi yang sesuai dengan aturan

      • sumber: aws.amazon.com

  4. IAM role
    • digunakan untuk memberikan akses sementara pada sumber daya komputasi awan spesifik

Melalui AWS CloudTrail dapat diketahui siapa yang mengakses akun, kapan dan darimana serta aksi apa yang dilakukan. AWS CloudTrail biasanya disimpan dalam S3. Setiap policy yang sudah dibuat dapat di attach ke IAM group, misalnya ada IAM group developer, IAM group test, dan IAM group admin. Apabila ada karyawan baru dari developer, cukup dengan membuat IAM user dan ditambahkan di IAM group developer maka secara otomatis karyawan baru tersebut memiliki policy yang ada di IAM group developer. Selanjutnya jika karyawan baru dari developer tersebut mendapatkan hak khusus untuk mengakses sumber daya maka bisa dibuat IAM role. Karakteristik dari IAM role adalah memberikan keamanan kredensial secara temporer, tidak secara unik berasosiasi dengan 1 orang, dapat diasumsikan dengan orang, aplikasi atau layanan, dan biasanya digunakan untuk akses delegasi tertentu.

Agar orang, aplikasi atau layanan dapat diassume sebuah role maka grant permission harus diubah ke role. Pengubahan grant permission ke role dapat melalui Amazon Security Token Service. Ada 2 istilah pendekatan untuk membuat akses kendali yaitu RBAC (role-based access control) dan ABAC (attribute-based access control). Cara melakukan akses kendali dengan RBAC yaitu:

  1. Buat spesifik permission ke user berdasarkan fungsi pekerjaan
  2. Buat sebuah IAM role yang berbeda untuk setiap kombinasi permission
  3. Lakukan pembaruan permission dengan menambah akses ke setiap sumber daya yang baru
Penerapan RBAC sangat baik untuk akes kendali fine-grained atau akses yang detail, sayangnya RBAC akan memakan waktu untuk melakukan pembaruan permission dari sumber daya. Berbeda dengan ABAC yang memanfaatkan tagging yaitu key-value. Dengan tag akan lebih mudah dilakukan pencarian dan filtering sumber daya. Jadi dengan ABAC permission akan secara otomatis ter-apply berdasarkan attributes dan granular permission atau ijin terperinci mungkin dilakukan tanpa memperbarui permission. Namun, dalam pendekatan ABAC harus hati-hati dalam memberikan tag, artinya penulisan tag harus betul-betul sama setiap hurufnya. Cara melakukan akses kendali dengan ABAC yaitu:
  1. Atur akses kendali atribute di identitas
  2. Penuhi syarat atribute pada sumber daya baru
  3. Konfigurasi permission berdasarkan atribut
  4. Uji dengan membuat sumber daya baru dan verifikasi permission otomatis berjalan
Salah satu tujuan dari IAM adalah memungkinkan pembuatan user federasi. Pilihan untuk melakukan federasi user dapat menggunakan AWS Security Token Service, security assertion markup language (SAML), dan amazon cognito. Federasi identitas dengan broker identitas akan melewati langkah user mengakses broker, kemudian identitas broker akan meminta autentikasi ke corporate identity store, jika berhasil didapatkan maka identity broker akan meminta security credentials ke AWS STS lalu mengirim kembali ke user, sesampainya di user security credentials tersebut digunakan untuk mengakses submer daya. Agak panjang langkah yang dilewati identity broker. Jika federasi identitas denga SAML maka user akan meminta SAML assertion dari identity store, lalu masuk ke portal IdP dan SAML assertion berhasil didapatkan oleh user, selanjutnya SAML assertion tersebut akan digunakan untuk masuk ke dalam AWS STS dan mendapatkan role atau policy sedemikian sehingga dilanjutkan ke console dari AWS.

Cara paling sederhana untuk membuat identity federation adalah dengan Amazon Cognito. Cara kerjanya pertama user akan memberikan autentikasi ke amazon Cognito user pool, lalu amazon Cognito user pool akan melanjutkan ke IdP federasi sehingga didapatkan IdP token untuk user, selanjutnya IdP token tersebut digunakan untuk meminta ke amazon Cognito identity pool berupa AWS credentials, dan dengan AWS credentials tersebut sumber daya komputasi AWS akan didapatkan. Setelah mengetahui identity federation maka akan ada 2 pola dari organisasi yaitu satu account dengan banyak VPC dan banyak account dengan VPC setiap akun. Kebanyakan organisasi menggunakan banyak akun. Keuntungan dari pola banyak akun dengan setiap akun ada VPC adalah unit bisnis yang terisolasi, membedakan antara development-test-production, isolasi proses audit atau perbaikan data, lebih mudah membagi beban kerja, dan lebih mudah memicu peringatan biaya untuk setiap konsumsi unit bisnis. Untuk memudahkan banyak akun tersebut maka bisa digunakan layanan AWS Organizations. Di AWS Organization untuk membuat kebijakan digunakan SCP atau service control policies yang bersifat spesialis. Jika dalam suatu jaringan hanya ada SCP pada root maka secara otomatis seluruh OU akan mengikuti kebijakan SCP di root tersebut, namun ketika suatu OU memiliki SCP sendiri maka otomatis SCP yang dari root diabaikan dan menggunakan SCP yang lebih spesial ke OU tersebut.




ref:
aws.amazon.com

Jokourno

Jokourno is focus for providing efficient and fair solutions for all

Dasar Arsitektur Teknologi Informasi

Dahulu untuk seseorang bertemu dengan keluarganya di tempat yang jauh maka diperlukan perjalanan yang panjang, bahkan melewati lautan dan padang pasir. Selanjutnya ada kemudahan karena munculnya teknologi seperti kendaraan bermotor dan pesawat. Namun itu semua masih membutuhkan waktu yang seringkali menjadi penghambat. Dewasa ini dengan perkembangan teknologi informasi seseorang dapat langsung bertukar informasi secara real-time melalui video conference. Dengan adanya kemajuan tersebut membuat setiap perkumpulan berlomba-lomba membuat sistem teknologi informasi yang memanjakan pelanggannya. Sayangnya terkadang pembuatan sistem teknologi informasi tersebut mengabaikan arsitektur yang dipersyaratkan. sumber: https://pixabay.com/illustrations/video-conference-webinar-5352757/ Untuk membuat sistem informasi yang baik diperlukan pemahaman setidaknya 2 hal yaitu software dan hardware. Keduanya tentu saja memiliki arsitektur tersendiri seperti object oriented programming, functional progr...

Perancangan Machine Learning

Pemrograman dibuat untuk menyelesaikan permasalahan. Dalam pemrograman konvensional akan dibuat deretan kode yang memecah masalah tersebut menjadi solusi yang lebih kecil. Sayangnya ketika masalah itu begitu kompleks maka deretan kode yang diperlukan akan sangat banyak. Pada kondisi inilah machine learning dimungkinkan sebagai solusi. Alih-alih membuat deretan kode yang sangat banyak dari suatu permasalahan konteks, machine learning akan membuat penyelesaian lebih sederhana. Tipe machine learning sendiri ada 4, yaitu supervised, unsupervised, semi-supervised, dan reinforcement. Pada tipe reinforcement, mesin menggunakan teknik pengambilan keputusan terbaik, secara berurutan, untuk memaksimalkan ukuran sukses kehidupan nyata. Ada 4 komponen utama pada mesin tipe reinforcement, yaitu action, agent, environment, dan rewards. Semua itu menggambarkan Marcove Decision Process (MDP). sumber: https://magnitt.com/news/world%E2%80%99s-most-valuable-resource-no-longer-oil-data-21035 Sebagaimana d...

Minuman Cayenne Pepper

source: https://favpng.com/png_view/chilli-with-chicken-cayenne-pepper-chili-pepper-peppers-food-bell-pepper-png/xiXNdS3r Cayenne pepper (Capsicum annuum) adalah jenis cabai yang berasal dari keluarga solanaceae, yang dikenal dengan rasa pedasnya yang kuat. Cabai ini biasanya digunakan sebagai bahan bumbu dalam masakan untuk memberikan rasa pedas dan sedikit rasa manis. Cayenne pepper memiliki bentuk panjang dan tipis dengan warna merah cerah saat matang, namun pada umumnya dapat ditemukan dalam bentuk bubuk yang lebih praktis digunakan dalam masakan sehari-hari. Cayenne pepper mengandung senyawa aktif yang disebut capsaicin, yang memberikan rasa pedas dan memiliki berbagai manfaat kesehatan. Capsaicin diketahui dapat merangsang metabolisme, meningkatkan pembakaran lemak, serta memiliki sifat antiinflamasi dan analgesik. Oleh karena itu, cayenne pepper sering digunakan dalam pengobatan tradisional untuk membantu mengatasi masalah pencernaan, meredakan nyeri otot, dan meningkatkan p...