Category: IT

  • Tips SSH Tanpa Password dari Windows ke Server

    Tips SSH Tanpa Password dari Windows ke Server

    Awalnya saya sering SSH ke beberapa server dan harus ketik password terus. Kelihatannya sepele, tapi kalau dilakukan berkali-kali itu cukup mengganggu—apalagi kalau lagi troubleshooting cepat.

    Akhirnya saya coba setup SSH tanpa password (key-based authentication) langsung dari Windows. Tujuannya simpel: sekali setup, setelah itu tinggal login tanpa input password lagi.

    Selain itu, tidak perlu install aplikasi tambahan karena Windows sekarang sudah punya SSH bawaan.


    Teori Sedikit untuk SSH Tanpa Password

    Secara sederhana, SSH tanpa password menggunakan:

    • Private key (di laptop kita)
    • Public key (disimpan di server)

    Saat login:

    • Server akan mencocokkan key
    • Kalau cocok → langsung masuk tanpa password

    Lebih cepat dan sebenarnya lebih aman dibanding password (kalau dikelola dengan benar).


    Contoh

    Saya punya 3 server contoh di lokal:

    • 192.168.14.21
    • 192.168.14.22
    • 192.168.14.23

    Semua pakai:

    • User: root
    • Port: 22

    Target:
    SSH ke ketiga server tanpa password


    Step 1 — Generate SSH Key di Windows

    Buka CMD atau PowerShell:

    ssh-keygen

    Tekan Enter terus (default saja).

    Output:

    👉 Artinya:

    • id_rsa = private key (JANGAN dibagikan)
    • id_rsa.pub = public key (boleh dikirim ke server)

    Step 2 — Kirim Public Key ke Server

    Seharusnya bisa menggunakan ssh-copy-id jika sesama linux, namun tidak tersedia di Windows, maka dari itu alternatif nya:

    type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@192.168.14.21 "cat >> ~/.ssh/authorized_keys"

    Output:

    Tidak ada output error

    Artinya key berhasil ditambahkan.


    Step 3 — Coba SSH Tanpa Password

    Sekarang tes:

    ssh root@192.168.14.21

    Output:

    
    
    
    
    
    
    
    
    

    Tidak diminta password lagi 🎉

    Dan coba juga untuk server lain

    ssh root@192.168.14.22
    ssh root@192.168.14.23

    Penjelasan Singkat

    • Server menyimpan key di:
    ~/.ssh/authorized_keys
    • Saat login:
      • SSH kirim identitas dari private key
      • Server cek ke authorized_keys
      • Jika cocok → langsung login

    Manfaatnya

    Dari pengalaman saya:

    1. Lebih cepat

    2. Lebih praktis

    3. Tidak perlu aplikasi tambahan


    ⚠️ Catatan

    Meskipun enak, setup ini tidak selalu direkomendasikan.

    Karena kalau:

    • Laptop hilang
    • Laptop dicuri

    Maka orang lain dapat:

    • Akses SSH ke semua server kalian
    • Tanpa password

    🔐 Tips Keamanan

    Kalau tetap mau pakai, minimal lakukan ini:

    1. Gunakan passphrase saat generate key

    ssh-keygen

    Walaupun jadi seperti pakai password, passphrase tidak perlu sekompleks password


    2. Batasi akses root (opsional)

    Edit:

    /etc/ssh/sshd_config
    PermitRootLogin prohibit-password

    3. Backup & proteksi laptop

    • Pakai password / fingerprint
    • Encrypt disk (BitLocker)

    Kesimpulan

    Dari pengalaman saya:

    • SSH tanpa password itu super praktis
    • Sangat membantu saat manage banyak server
    • Tidak perlu aplikasi tambahan di Windows

    Tapi… Harus dipakai dengan bijak karena ada risiko keamanan kalau device kita tidak aman.

  • Instalasi dan Konfigurasi Qemu Guest Agent di VM Alpine

    Instalasi dan Konfigurasi Qemu Guest Agent di VM Alpine

    Hari ini saya ingin mencoba belajar dan praktik Qemu Guest Agent di VM Alpine yang saya jalankan di Proxmox. Sebenarnya ini masih tahap percobaan, jadi saya ingin mencatat semua langkah, kendala yang mungkin muncul, dan penjelasannya, supaya bisa jadi catatan pribadi sekaligus berbagi pengetahuan bagi pembaca.

    Dari teori yang saya baca, Qemu Guest Agent itu semacam “jembatan” antara VM dengan host Proxmox. Fungsinya untuk membuat Proxmox bisa membaca status VM lebih lengkap, shutdown VM lebih rapi, dan bahkan membaca IP guest langsung dari host. Saya penasaran seberapa berguna ini untuk VM Alpine yang ringan dan minimalis.


    Apa itu Qemu Guest Agent?

    Secara singkat, ini adalah service yang berjalan di dalam VM supaya Proxmox bisa “ngobrol” langsung dengan sistem operasi di dalam VM. Beberapa hal yang biasanya bisa dilakukan dengan agent ini:

    • Menampilkan IP VM langsung di Proxmox
    • Shutdown VM lebih rapi tanpa paksa
    • Mendukung snapshot konsisten
    • Memperbaiki integrasi monitoring

    Kalau saya analogikan, agent ini seperti “penerjemah” antara host dan guest VM. Tanpa agent, Proxmox hanya tahu VM jalan atau mati, tapi tidak tahu kondisi di dalamnya.


    Percobaan di Alpine Linux

    Alpine itu ringan, namun karena minimalis, banyak service standar tidak aktif. Jadi saya ingin lihat apakah dengan memasang Qemu Guest Agent, integrasinya bisa lebih rapi. Tujuan saya:

    • Belajar instalasi dan konfigurasi agent
    • Mengetahui bagaimana host Proxmox membaca status Alpine
    • Mencatat langkah-langkahnya sebagai catatan pribadi dan referensi pembaca

    Langkah-langkah yang akan dicoba

    Sebelum praktik, saya siapkan beberapa hal:

    • VM Alpine sudah berjalan di Proxmox
    • Bisa login ke shell Alpine
    • Repository Alpine aktif
    • Mengetahui VM ID di Proxmox

    1. Update repository

    Langkah pertama yang ingin dicoba adalah update daftar package supaya terbaru:

    apk update

    2. Install Qemu Guest Agent

    Setelah itu, install package utama:

    apk add qemu-guest-agent

    Catatan: Ini package yang membuat VM bisa berkomunikasi dengan Proxmox. Nanti kita bisa lihat info IP guest, shutdown rapi, dan snapshot lebih stabil.


    3. Aktifkan agar service jalan otomatis

    Supaya agent jalan otomatis saat VM boot:

    rc-update add qemu-guest-agent

    Output:

    Catatan: Ini supaya tidak perlu start manual setiap kali VM di restart.


    4. Jalankan service sekarang

    service qemu-guest-agent start

    Output:

    Catatan: Service sedang berjalan


    5. Cek status service

    service qemu-guest-agent status

    Output:

    Catatan: Kalau sudah started, berarti agent aktif dan siap berkomunikasi dengan Proxmox.


    6. Aktivasi di Proxmox

    Selain di VM, agent juga perlu diaktifkan di sisi Proxmox:

    Lewat GUI

    • Masuk ke VM → Options → Qemu Guest Agent → Enable

    Lewat CLI

    qm set <VMID> --agent enabled=1

    Contoh:

    qm set 100 --agent enabled=1

    Output:

    Catatan: Ini memastikan Proxmox tahu kalau VM ini sudah punya guest agent.


    7. Verifikasi

    Setelah aktif, saya bisa cek di Proxmox:

    qm config 100

    Output:

    Catatan: Kalau ada agent: enabled=1, berarti Proxmox siap membaca data guest dari VM.

    Kalau dicek di Web Proxmox

    Catatan: Jika belum familiar dengan Alpine Linux, disarankan membaca dokumentasinya terlebih dahulu agar tidak seperti saya tergocek oleh Alpine Linux 😀

  • Cara Mengatasi File Terekspos Publik di WordPress

    Cara Mengatasi File Terekspos Publik di WordPress

    Beberapa hari lalu, saya membuka dashboard Wordfence di situs saya dan menemukan notifikasi dengan label Critical yang langsung bikin saya agak panik:

    Publicly accessible config, backup, or log file found: .user.ini

    Jujur, awalnya saya tidak tahu file .user.ini itu apa. Yang saya tahu, label “Critical” di Wordfence bukan sesuatu yang bisa diabaikan begitu saja. Maka saya langsung lakukan troubleshoot peringatan ini. Pertama-tama kita cari tahu dan dalami file ini.


    Apa Itu File .user.ini?

    File .user.ini adalah file konfigurasi PHP yang bekerja di level direktori. Fungsinya mirip seperti php.ini, tapi hanya berlaku untuk folder tempat file itu berada, dalam hal ini, folder root WordPress.

    File ini bukan file bawaan WordPress. Dalam kasus saya, file ini dibuat secara otomatis oleh plugin Wordfence sendiri saat mengaktifkan fitur Web Application Firewall (WAF).


    Isi File .user.ini Saya

    Setelah saya buka file tersebut, isinya hanya ini:

    ; Wordfence WAF
    auto_prepend_file = '/var/www/xxxxx/wordfence-waf.php'
    ; END Wordfence WAF

    Penjelasan singkat:

    Baris auto_prepend_file memerintahkan PHP untuk menjalankan file wordfence-waf.php sebelum file PHP manapun dieksekusi. Inilah cara Wordfence WAF “mencegat” request berbahaya sebelum sampai ke WordPress.


    Apa Bahayanya Jika File Ini Bisa Diakses Publik?

    Meski isi file saya tidak mengandung password atau kredensial, ada dua informasi yang tidak seharusnya diketahui orang lain:

    1. Path direktori server terekspos

    /var/www/xxxxx/

    Penyerang bisa mengetahui struktur folder server saya. Informasi ini berguna untuk serangan seperti path traversal atau local file inclusion.

    2. Plugin keamanan yang digunakan diketahui

    Penyerang tahu saya menggunakan Wordfence. Dengan informasi ini, mereka bisa mencari exploit atau teknik bypass yang spesifik menargetkan Wordfence.

    File ini tidak boleh bisa diakses publik, meskipun isinya tidak terlalu berbahaya.


    Cara Mengatasinya

    Solusinya adalah memblokir akses publik ke file .user.ini. File ini tidak perlu dihapus karena masih dibutuhkan oleh Wordfence WAF. Cara pemblokirannya berbeda tergantung web server yang kamu gunakan, pada kasus saya, saya menggunakan web server Nginx.


    Langkah 1 — Masuk ke konfigurasi Nginx

    Akses via SSH:

    # nano /etc/nginx/sites-available/fileconfanda.conf

    Langkah 2 — Tambahkan rule berikut di dalam blok server {}

    // Blokir akses ke file konfigurasi sensitif
    location ~ /\.(user\.ini|htaccess|htpasswd|git) {
        deny all;
        return 404;
    }

    Penjelasan:

    BagianKeterangan
    location ~Mencocokkan URL menggunakan regex (case-sensitive)
    /\.Menargetkan semua file yang diawali titik (dotfiles)
    deny allMenolak semua request ke file tersebut
    return 404Mengembalikan 404 agar penyerang tidak tahu file itu ada

    Saya gunakan return 404 bukan return 403, ini teknik agar penyerang tidak bisa memastikan apakah file tersebut benar-benar ada di server.

    Langkah 3 — Test konfigurasi Nginx

    Sebelum reload, selalu test dulu untuk memastikan tidak ada syntax error:

    # nginx -t

    Jika ada error, troubleshoot dulu sebelum lanjut ke langkah berikutnya.

    Langkah 4 — Reload Nginx

    # systemctl reload nginx

    Langkah 5 — Verifikasi dari browser

    Akses langsung dari browser:

    https://rafiharlianto.web.id/.user.ini

    Kalau sudah muncul 404, berarti file sudah berhasil disembunyikan dari publik.

    Langkah 6 – Verifikasi di Wordfence

    Setelah memblokir file, saya kembali ke dashboard Wordfence dan menjalankan ulang scan:

    Wordfence → Scan → Start New Scan

    Hasilnya? No new issues have been found.


    Akhir Kata Rafi…

    Rutin cek Wordfence Scanner, banyak masalah keamanan yang tidak terlihat secara kasat mata tapi bisa ditemukan lewat scanner.

    File yang dibuat plugin pun bisa jadi celah, kesalahan terbesar kasus ini adalah file yang bocor justru dibuat oleh plugin keamanan saya sendiri.

    Blokir akses ke file konfigurasi sejak awal, jangan tunggu ada temuan baru menambahkan proteksi di konfigurasi Nginx.

    Tidak semua temuan “Critical” berbahaya, tapi tetap harus ditangani sesegera mungkin.

    Semoga artikel ini membantu, apalagi kalau kamu menemukan temuan serupa di Wordfence Scanner pada situsmu. Jika ada pertanyaan, tulis di kolom komentar ya!

  • Optimasi Nginx dan PHP untuk Gambar

    Optimasi Nginx dan PHP untuk Gambar

    Pada artikel kali ini saya ingin membagikan pengalaman saya dalam optimasi server dan website. Website ini berisi banyak gambar karena saya membagi pengalaman saya melalui screenshot, sehingga yang membaca lebih memahami dan melihat ilustrasi yang sedang saya jelaskan. Saya kira ini karena WordPress belum install plugin untuk caching gambar, namun setelah saya install plugin malah tambah berat untuk VPS mini ini, ternyata bottleneck justru ada di:

    • Nginx
    • PHP

    Masalah yang saya temui:

    • Load lambat saat buka halaman
    • Server terasa berat
    • Kadang spike CPU saat banyak request gambar

    Setelah saya optimasi di level Nginx dan PHP, hasilnya cukup signifikan. Sebenarnya ini tidak hanya untuk kasus WordPress, bisa untuk kasus apapun yang melibatkan gambar


    Teori Singkat

    Saat user buka halaman:

    1. Browser request HTML
    2. Lalu request gambar
    3. Server harus handle request tersebut

    Kalau tidak dioptimasi:

    • Request jadi berat
    • Response lama
    • Server cepat overload

    Fokus optimasi yang saya lakukan:

    • caching (Nginx)
    • handling request (Nginx)
    • resource limit (PHP)

    1. Optimasi Nginx untuk Gambar

    Edit config:

    # nano /etc/nginx/nginx.conf

    Aktifkan sendfile dan tcp optimization

    Tambahkan / pastikan ada:

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;


    Penjelasan

    • sendfile → kirim file langsung dari disk (lebih cepat)
    • tcp_nopush → optimasi pengiriman data besar
    • tcp_nodelay → kurangi delay kecil

    2. Aktifkan Gzip Compression

    Tambahkan atau uncomment:

    gzip on;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_types
         text/plain
         text/css
         application/json
         application/javascript
         text/xml
         application/xml
         image/svg+xml;


    Penjelasan

    • Tidak semua gambar dikompres (JPG/PNG sudah compressed)
    • Tapi SVG, CSS, JS tetap penting

    3. Browser Cache (Wajib)

    Edit config site:

    nano /etc/nginx/sites-available/(wordpress)

    catatan: ganti (wordpress) dengan direktori yang kalian punya

    Tambahkan:

    location ~* \.(jpg|jpeg|png|gif|webp|svg)$ {
        expires 30d;
        add_header Cache-Control "public, max-age=2592000";
        access_log off;
    }


    Penjelasan

    • File gambar disimpan di browser 30 hari
    • Mengurangi request ke server
    • access_log off → hemat disk I/O

    4. Limit Request untuk Gambar

    Masih di config nginx:

    limit_req_zone $binary_remote_addr zone=imglimit:10m rate=10r/s;
    
    server {
        location ~* \.(jpg|jpeg|png|gif|webp)$ {
            limit_req zone=imglimit burst=20;
        }
    }

    Penjelasan

    • Mencegah spam request gambar
    • Berguna untuk anti abuse / bot

    5. Test dan Reload Nginx

    nginx -t

    Output:


    Kemudian reload nginx:

    # systemctl reload nginx

    6. Optimasi PHP untuk WordPress

    Walaupun gambar dilayani oleh Nginx, PHP tetap berperan saat:

    • upload gambar
    • generate thumbnail
    • processing media

    Edit php.ini

    nano /etc/php/8.3/fpm/php.ini

    Ubah:

    memory_limit = 128M
    upload_max_filesize = 2M
    post_max_size = 12M
    max_execution_time = 120

    Penjelasan

    • memory_limit → penting saat generate thumbnail
    • upload_max_filesize → batasi upload user
    • max_execution_time → hindari timeout saat proses gambar

    7. Optimasi PHP-FPM Pool

    Edit:

    nano /etc/php/8.3/fpm/pool.d/www.conf

    Ubah:

    pm = dynamic
    pm.max_children = 10
    pm.start_servers = 3
    pm.min_spare_servers = 2
    pm.max_spare_servers = 5

    Penjelasan

    • Menyesuaikan dengan RAM 1GB
    • Mencegah over usage

    Restart PHP

    systemctl restart php8.3-fpm

    8. Hasilnya Setelah Optimasi

    • Load gambar lebih cepat
    • Server lebih stabil
    • CPU tidak mudah spike

    Tips Tambahan

    • Jangan log request gambar terlalu detail
    • Gunakan cache semaksimal mungkin
    • Hindari proses berat di PHP untuk gambar

    Kesimpulan

    Optimasi gambar bukan hanya soal file, tapi juga server.

    Nginx:

    • handle request
    • caching
    • limit traffic

    PHP:

    • handle upload
    • processing
    • resource control

    Kalau dua ini dioptimasi, performa WordPress bisa naik signifikan tanpa upgrade server.


    Akhir kata Rafi

    Sering kali orang fokus ke plugin WordPress, padahal bottleneck ada di server. Dengan tuning sederhana di Nginx dan PHP, performa bisa jauh lebih stabil dan cepat.

    Bisa dikembangkan lagi:

    • tuning worker_process nginx
    • setup fastcgi cache
    • integrasi CDN

  • Menambahkan Plugin Wordfence di WordPress

    Menambahkan Plugin Wordfence di WordPress

    Pada artikel atau blog kali ini, saya ingin berbagi langkah-langkah install dan setup plugin Wordfence (versi gratis) sebagai salah satu solusi untuk menambahkan keamanan di WordPress. Dengan langkah-langkah ini, harapannya instalasi bisa dilakukan dengan benar tanpa kendala, sekaligus membantu website memiliki perlindungan dasar dari serangan umum.

    Selain itu, penggunaan Wordfence juga memberikan beberapa manfaat yang cukup terasa, seperti membantu mengamankan halaman login dari percobaan login berulang, mendeteksi file yang berubah atau mencurigakan, memblokir traffic yang tidak wajar, serta memberikan notifikasi jika ada aktivitas yang perlu diperhatikan. Dengan setup yang tepat, WordPress bisa menjadi jauh lebih aman dan lebih mudah untuk dimonitor.


    Apa itu Wordfence?

    Wordfence Security plugin adalah plugin keamanan WordPress yang berfungsi sebagai perlindungan utama pada website.

    Wordfence menyediakan beberapa fitur utama, antara lain:

    • Web Application Firewall (WAF) untuk memblokir serangan
    • Malware scanner untuk mendeteksi file berbahaya
    • Proteksi login (brute force protection)
    • Monitoring traffic dan aktivitas mencurigakan
    • Notifikasi keamanan melalui email

    Dengan menggunakan Wordfence, website WordPress menjadi lebih aman tanpa perlu konfigurasi yang terlalu kompleks.


    Tahapan Install Wordfence di WordPress

    Berikut adalah langkah-langkah yang saya lakukan saat menginstall Wordfence:


    1. Install Plugin Wordfence

    Masuk ke dashboard WordPress, kemudian:

    • Pilih menu Plugins → Add New
    • Cari plugin Wordfence Security
    • Klik Install Now
    • Setelah itu klik Activate

    2. Plugin Berhasil Terinstall

    Setelah aktivasi, akan muncul notifikasi bahwa Wordfence berhasil diinstall dan diminta untuk mendapatkan license.


    3. Pilih Versi

    Karena saya menggunakan versi gratis, akan muncul pertanyaan:

    • Delayed Protection (Free Version)

    Klik opsi “I’m OK waiting 30 days for protection from new threats“

    Delayed Protection artinya Wordfence tetap melindungi website, tetapi update keamanan seperti firewall dan database malware tidak didapat secara real-time (± 30 hari). Versi gratis masih bisa digunakan dengan baik untuk kebutuhan dasar, hanya saja update proteksinya sedikit lebih lambat dibanding versi premium.


    4. Masukkan Email

    Masukkan email yang akan digunakan untuk:

    • Menerima license Wordfence
    • Mendapatkan notifikasi keamanan

    5. Cek Email

    Setelah memasukkan email, Wordfence akan mengirimkan link aktivasi ke email kalian.


    6. Klik Link Aktivasi

    Buka email tersebut, lalu klik tombol:

    • Install My License Automatically

    7. Install Lisensi Wordfence

    Kemudian kalian akan diarahkan kembali ke dashboard WordPress dengan:

    • Email sudah terisi
    • License key otomatis terisi

    Klik tombol:

    • Install License

    8. License Berhasil Terpasang

    Jika berhasil, akan muncul notifikasi bahwa:

    • Free license berhasil diinstall

    Kemudian klik:

    • Go to Dashboard

    9. Wordfence Siap Digunakan

    Sekarang kalian sudah mengaktifkan dan berada di halaman dashboard Wordfence.

    Artinya:

    • Plugin sudah aktif
    • License sudah terpasang

    Hal Penting Setelah Install Wordfence

    Setelah instalasi selesai, ada beberapa hal yang sebaiknya langsung dilakukan:

    • Aktifkan firewall (Optimize Firewall)
    • Jalankan scan pertama
    • Aktifkan login security (2FA jika perlu)
    • Atur limit login attempts
    • Pastikan email notifikasi aktif

    Akhir Kata…

    Wordfence merupakan solusi keamanan yang cukup lengkap untuk WordPress, bahkan dalam versi gratis. Dengan proses instalasi yang relatif mudah, website sudah bisa mendapatkan perlindungan dasar dari berbagai ancaman umum.

    Namun, instalasi saja tidak cukup. Diperlukan konfigurasi lanjutan agar fitur yang tersedia dapat bekerja secara maksimal. Dengan kombinasi antara plugin security, konfigurasi server, dan kebiasaan maintenance yang baik, keamanan website dapat ditingkatkan secara signifikan.

  • Menggabungkan Domain dengan Cloudflare

    Menggabungkan Domain dengan Cloudflare

    Setelah Lebaran dan merayakan Idul Fitri di kampung halaman orang tua, ada beberapa hal baru yang terjadi. Salah satunya adalah saya mulai pindah menulis di website pribadi. Sebelumnya saya lebih sering menulis hal-hal tentang IT di Blogspot, sekarang saya coba pindah untuk membuat dokumentasi sendiri di web pribadi. Sekalian juga saya share pengalaman seputar IT, biar kalau nanti lupa bisa dibaca lagi, dan siapa tahu juga bermanfaat buat yang lain.

    Untuk ke depannya, website ini akan menjadi portofolio pribadi saya. Saya juga akan rutin menulis di blog ini, serta sedikit demi sedikit memindahkan tulisan yang sebelumnya ada di https://rafiharlianto.blogspot.com/ ke sini.

    Di tulisan kali ini, saya mau bahas salah satu step penting yang saya lakukan, yaitu menggabungkan domain dengan Cloudflare. Ini bukan cuma soal “biar bisa diakses”, tapi juga soal keamanan dan performa server.


    Apa itu Cloudflare?

    Cloudflare adalah layanan yang berfungsi sebagai:

    • CDN (Content Delivery Network)
    • DNS manager
    • Firewall / proteksi website

    Secara sederhana, Cloudflare itu jadi “perantara” antara user dan server kita.

    Sebelum pakai Cloudflare:

    User → VPS langsung

    Setelah pakai Cloudflare:

    User → Cloudflare → VPS

    Artinya:

    • IP asli server kita jadi tersembunyi
    • Request difilter dulu (anti bot, anti DDoS)
    • Website bisa lebih cepat karena caching global

    Buat VPS kecil seperti yang saya pakai (1 core, 1GB RAM), ini sangat membantu.


    Kenapa Pakai Cloudflare?

    Alasan saya cukup simpel:

    • 🔒 Keamanan → banyak bot scan (sudah kelihatan di log)
    • ⚡ Performa → beban server berkurang
    • 🌐 Stabilitas → request difilter sebelum masuk ke server

    Tahapan Menggabungkan Domain ke Cloudflare

    Saya jelaskan sesuai yang saya lakukan, step-by-step.


    1. Tambahkan Domain ke Cloudflare

    rafiharlianto.my.id
    • Pilih Free Plan

    👉 Untuk kebutuhan pribadi / WordPress, free sudah lebih dari cukup.


    2. Cek dan Atur DNS Record

    Setelah domain ditambahkan, Cloudflare akan scan DNS.

    Yang saya pastikan:

    A Record (utama)

    Type: A
    Name: @
    IP: xxx.xxx.xxx.xxx (ip server kalian)

    WWW

    Type: CNAME
    Name: www
    Target: rafiharlianto.my.id
    Proxy: ON

    3. Ganti Nameserver di Domain

    Ini bagian yang sering bikin bingung kalau pertama kali.

    Cloudflare akan kasih 2 nameserver, misalnya:

    ns1.cloudflare.com
    ns2.cloudflare.com

    Lalu:

    • Masuk ke pengaturan domain kalian.
    • Ganti nameserver lama → ke nameserver Cloudflare

    👉 Setelah ini, Cloudflare resmi jadi “pengatur domain” kita.


    4. Tunggu Propagasi

    Biasanya:

    • 5 menit sampai 1–2 jam

    Kalau sudah berhasil:

    • Status di Cloudflare jadi Active

    5. Setting SSL

    Masuk ke:

    SSL/TLS → Overview

    Pilih:

    Full (strict)

    Kenapa harus Full (Strict)?

    • Karena saya sudah pakai SSL dari server (Certbot)
    • Jadi koneksi:
      • Cloudflare ↔ server tetap aman

    6. Aktifkan Security Dasar

    Di menu Security Cloudflare:

    • Block AI Bots: Block on all pages
    • Bot Fight Mode: ON

    8. Amankan Akses Langsung ke IP (on-going)

    Ini hal yang sedang saya ingin lakukan.

    Tanpa ini:
    👉 Masih bisa akses server lewat IP langsung

    Solusi yang akan saya pakai:

    • Nginx dikonfigurasi untuk menolak akses IP
    • Firewall hanya mengizinkan Cloudflare

    Hasilnya:

    Akses lewat domain → normal
    Akses lewat IP → ditolak/redirect lewat domain

    Hasilnya

    Setelah semua setup:

    • Website tetap normal ✅
    • Server lebih ringan ✅
    • Log “bersih” dari bot✅
    • IP server tidak terekspos langsung ✅

    IPv4 dan IPv6 diatas merupakan IP dari Cloudflare


    Akhir Kata

    Menggabungkan domain dengan Cloudflare itu bukan “opsional”, tapi menurut saya cukup penting.

    Terutama kalau:

    • Resource server kecil
    • Menghadapi bot / serangan

    Dengan setup ini:

    • Performa meningkat
    • Keamanan meningkat
    • Lebih “future-proof”

    Sekian dan terima kasih sudah membaca tulisan saya. Kemungkinan saya akan me-RAPI-kan blog pribadi khususnya mempelajari tentang wordpress ini dan nanti saya lanjut optimasi (cache WordPress, WAF rule, dll) 😄