Langsung ke konten utama

Optimalisasi Keamanan Server dengan Membatasi Akses Nginx Hanya untuk IP Cloudflare

Membatasi Akses Nginx Hanya untuk Alamat IP Cloudflare

Dalam artikel ini, akan dibahas cara membatasi akses ke server Nginx hanya untuk lalu lintas yang berasal dari Cloudflare. Ini bisa berguna untuk meningkatkan keamanan server dengan memastikan bahwa semua lalu lintas yang masuk berasal dari Cloudflare.

Mengatur Nginx

Pertama, perlu mengatur Nginx untuk mengenali alamat IP asli pengguna yang datang melalui Cloudflare. Berikut adalah contoh konfigurasi yang bisa digunakan:

# Daftar alamat IP Cloudflare
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/12;
allow 172.64.0.0/13;
allow 131.0.72.0/22;
allow 2400:cb00::/32;
allow 2606:4700::/32;
allow 2803:f800::/32;
allow 2405:b500::/32;
allow 2405:8100::/32;
allow 2a06:98c0::/29;
allow 2c0f:f248::/32;

# Menggunakan header X-Forwarded-For dari Cloudflare
deny all;

Konfigurasi di atas memungkinkan Nginx untuk mengenali alamat IP asli pengguna yang datang melalui Cloudflare. Perlu diingat bahwa daftar alamat IP Cloudflare bisa berubah, jadi pastikan untuk memperbarui daftar tersebut secara berkala.

Untuk menggunakan config diatas, tambahkan configurasi diatas dengan configurasi nginx yang di inginkan untuk pembatasan akses. Dengan cara menambahkan script berikut di konfi:

include /etc/nginx/conf.d/cloudflare.conf;

Membuat Skrip untuk Memperbarui IP Cloudflare Secara Otomatis

Untuk memperbarui alamat IP Cloudflare secara otomatis, bisa membuat skrip shell. Berikut adalah contoh skrip yang bisa digunakan:

#!/bin/bash

# Lokasi file konfigurasi Nginx
NGINX_CONFIG="/etc/nginx/conf.d/cloudflare.conf"

# Membuat/membersihkan file konfigurasi
echo "" > $NGINX_CONFIG

# Mengambil daftar alamat IP Cloudflare
CLOUDFLARE_IP_RANGES=$(curl -H "Authorization: Bearer Test" -H "Content-Type:application/json" https://api.cloudflare.com/client/v4/ips | jq -r '.result.ipv4_cidrs[], .result.ipv6_cidrs[]')

# Menulis alamat IP ke file konfigurasi
for ip in $CLOUDFLARE_IP_RANGES; do
    echo "allow $ip;" >> $NGINX_CONFIG
done

# Menambahkan header X-Forwarded-For
echo "deny all;" >> $NGINX_CONFIG

# Restart Nginx
service nginx restart

Skrip di atas akan mengambil daftar alamat IP Cloudflare secara dinamis dari https://api.cloudflare.com/client/v4/ips dan menulisnya ke file konfigurasi Nginx. Kemudian, skrip akan me-restart Nginx. Skrip ini bisa dijalankan secara berkala menggunakan cron.

Mendapatkan Informasi IP Cloudflare Terbaru

Untuk mendapatkan informasi terbaru tentang alamat IP Cloudflare, bisa mengunjungi halaman IP Ranges di situs web Cloudflare. Halaman ini dimaksudkan untuk menjadi sumber definitif dari rentang IP Cloudflare saat ini.

Selain itu, juga bisa menggunakan layanan seperti Cloudflare Radar untuk informasi IP lebih lanjut.

Perlu diingat bahwa daftar alamat IP Cloudflare bisa berubah, jadi pastikan untuk memperbarui daftar tersebut secara berkala.

Mendapatkan Token dari Cloudflare

Untuk mendapatkan token dari Cloudflare, bisa mengikuti langkah-langkah berikut:

  1. Buka profil Cloudflare.
  2. Pilih API Tokens di bawah My Profile.
  3. Klik Create Token.
  4. Pilih template dari template token API yang tersedia atau buat token kustom.
  5. Tambahkan atau edit nama token untuk menjelaskan mengapa atau bagaimana token digunakan.
  6. Modifikasi izin token.
  7. Pilih sumber daya mana yang diizinkan token untuk diakses.
  8. (Opsional) Batasi bagaimana token digunakan dalam bidang Client IP Address Filtering dan TTL (time to live).
  9. Klik Continue to summary.
  10. Tinjau ringkasan token.
  11. Klik Create Token untuk menghasilkan rahasia token.
  12. Salin rahasia ke tempat yang aman. Peringatan: Rahasia token hanya ditunjukkan sekali. Jangan simpan rahasia dalam teks biasa di mana orang lain dapat mengaksesnya.

Setelah mendapatkan token, bisa menggunakan token tersebut untuk melakukan permintaan ke API Cloudflare. Misalnya, bisa menggunakan perintah berikut untuk menguji token:

curl "https://api.cloudflare.com/client/v4/user/tokens/verify" \
-H "Authorization: Bearer <API_TOKEN>"

Perintah di atas akan mengembalikan status token saat ini. Dengan ini, telah berhasil membuat token API dan dapat mulai bekerja dengan API Cloudflare.

Kesimpulan

Dengan membatasi akses ke server Nginx hanya untuk alamat IP Cloudflare, bisa meningkatkan keamanan server. Selain itu, dengan membuat skrip untuk memperbarui alamat IP Cloudflare secara otomatis, bisa memastikan bahwa server selalu up-to-date dengan alamat IP Cloudflare terbaru. 

Komentar

Postingan populer dari blog ini

Fungsi lain tombol penerima panggilan di headset

Kegunaan tombol yang berada di headset utamanya adalah untuk menerima panggilan dan pause panggilan. Dan headset itu sendiri, kadang juga digunakan untuk mendengarkan music, digunakan bersama saat main game, supaya suara yang dikeluarkan oleh gadget tidak terlalu keras sehingga mengurangi beban gadget. Dengan mengurangi beban gadget, ada beberapa yang beranggapan kalau itu akan menghemat batere.

Apa itu index file seperti index.html, index.php kegunaannya dan bagaimana membuat custom nya

Index file adalah file yang berfungsi sebagai halaman utama atau tampilan pertama dari sebuah website. File ini memiliki nama default yang bervariasi, tergantung pada jenis server dan konfigurasinya, namun beberapa nama default yang umum digunakan adalah index.html, index.php, index.jsp, atau index.asp.

Membersihkan cache dan dalvik-cache menggunakan link2sd

Mungkin banyak yang menanyakan kenapa internalnya selalu berkurang free space nya. Padahal tidak menginstall applikasi baru. Hanya melakukan aktifitas normal. Dan sampai pada waktunya, internal memory low dan tidak bisa menambah aplikasi baru lagi.  Ada kemungkinan file cache dari sebuah aplikasi atau dalvik yang dibuat oleh OS android sudah  mulai membengkak. Sehingga perlu di bersihkan secara manual supaya tersedia penyimpanan kosong yang banyak. Sebelum mengetahui cara membersihkan cache dan dalvik cache, kita kupas sekilas apa itu cache dan dalvik cache. Cache adalah sebuah data file sementara yang di hasilkan oleh sebuah applikasi guna mempercepat pemrosesan dimasa yang akan datang (Cache Wikipedia) .  Dalvik-cache adalah ruang kosong sementara yang di pake oleh java virtual machine untuk menjalankan aplikasi android (Dalvik Wikipedia) .