
Ethan Collins
Pattern Recognition Specialist
Cloudflare adalah salah satu layanan keamanan dan optimasi kinerja web yang paling banyak digunakan, menawarkan perlindungan terhadap serangan DDoS, lalu lintas bot, dan berbagai ancaman otomatis. Di antara banyak langkah keamanannya, TLS fingerprinting memainkan peran penting dalam mengidentifikasi dan memblokir koneksi yang mencurigakan. Teknologi ini menganalisis karakteristik handshake TLS klien untuk menentukan apakah itu berasal dari browser yang sah atau bot.
Bagi penggaruk web, peneliti, dan pengembang yang berurusan dengan penjelajahan otomatis, TLS fingerprinting Cloudflare dapat menjadi hambatan utama. Jika permintaan Anda tidak sesuai dengan permintaan browser nyata, Cloudflare dapat memblokir atau menantang mereka dengan CAPTCHA. Pada artikel ini, kita akan mengeksplorasi bagaimana cara kerja TLS fingerprinting Cloudflare dan metode efektif untuk mengatasinya menggunakan teknik dan implementasi kode tingkat lanjut.
Transport Layer Security (TLS) adalah protokol kriptografi yang mengamankan komunikasi internet. Ketika klien (misalnya, browser, bot, atau klien API) terhubung ke server, ia memulai handshake TLS, di mana kedua pihak menegosiasikan pengaturan enkripsi untuk membangun koneksi yang aman.
Selama proses ini, karakteristik spesifik handshake, termasuk:
TLS_AES_128_GCM_SHA256, didefinisikan dalam RFC 8446 - Spesifikasi TLS 1.3)Digabungkan untuk membentuk sidik jari unik. Karena klien yang berbeda mengimplementasikan TLS sedikit berbeda, sidik jari ini dapat mengidentifikasi perangkat lunak yang membuat permintaan secara andal.
Cloudflare dan penyedia keamanan lainnya menggunakan metode ini untuk mendeteksi klien non-browser, seperti alat otomatisasi dan penggaruk, dengan membandingkan sidik jari TLS mereka dengan sidik jari browser yang dikenal. Jika sidik jari permintaan tidak cocok dengan pola yang diharapkan, permintaan tersebut dapat ditantang atau diblokir.
Cloudflare menggunakan JA3 fingerprinting untuk meningkatkan keamanan dengan menganalisis karakteristik unik handshake TLS klien, yang dikonversi menjadi string hash (hash JA3). Ini memungkinkan Cloudflare untuk membedakan antara browser nyata dan klien non-standar seperti bot atau penggaruk web. Jika skrip Python, misalnya, menggunakan pustaka requests default, sidik jari JA3-nya akan berbeda dari browser, yang menyebabkan pemblokiran atau tantangan.
Handshake TLS melibatkan negosiasi parameter kriptografi (seperti cipher suites), yang bervariasi antar klien. Cloudflare menggunakan variasi ini untuk menghasilkan hash JA3 yang unik. Jika hash tidak cocok dengan sidik jari browser yang khas, permintaan tersebut dapat ditandai sebagai mencurigakan.
Anda dapat memeriksa sidik jari JA3 Anda menggunakan metode berikut:
curl --tlsv1.2 --tls-max 1.2 --ciphers DEFAULT https://ja3er.com/json
import requests
response = requests.get("https://ja3er.com/json")
print(response.json())
Cloudflare dapat memblokir atau menantang permintaan dari klien non-browser berdasarkan sidik jari JA3 mereka. Untuk mengatasi hal ini, penggaruk web mungkin perlu meniru perilaku browser menggunakan alat seperti Selenium, Playwright, atau layanan proxy untuk memutar sidik jari dan menghindari deteksi.
Kesulitan dengan kegagalan berulang untuk sepenuhnya menyelesaikan Cloudflare?
Klaim Kode Bonus Anda untuk solusi captcha teratas - CapSolver: CLOUD. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas
TLS fingerprinting Cloudflare efektif karena:
requests Python, Puppeteer dengan pengaturan default) menggunakan konfigurasi TLS yang tetap atau usang.Cloudflare mengumpulkan sidik jari JA3 dari koneksi masuk dan membandingkannya dengan database sidik jari browser yang dikenal. Jika terjadi ketidakcocokan, Cloudflare dapat:
Jika Anda menjalankan penggaruk web atau alat otomatis, kegagalan untuk meniru sidik jari TLS browser nyata kemungkinan akan memicu pertahanan keamanan Cloudflare.
Alih-alih menggunakan pustaka HTTP dasar seperti requests, beralihlah ke alat otomatisasi browser seperti:
Contoh dengan Playwright:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
context = browser.new_context()
page = context.new_page()
page.goto("https://ja3er.com/json")
print(page.content())
Kerangka kerja ini mewarisi sidik jari TLS browser nyata, sehingga lebih sulit dideteksi dibandingkan dengan permintaan HTTP langsung.
Jika Anda harus menggunakan pustaka HTTP seperti requests Python, modifikasi permintaan Anda agar sesuai dengan sidik jari browser nyata menggunakan:
tls-client atau curl_cffi di Python untuk mengirim permintaan dengan konfigurasi TLS yang realistis.ja3transport.Contoh menggunakan tls-client:
from tls_client import Session
session = Session(client_identifier="chrome_114")
response = session.get("https://targetwebsite.com")
print(response.text)
Cloudflare mungkin mengasosiasikan sidik jari TLS dengan alamat IP, jadi menggunakan:
Dapat mengurangi kemungkinan deteksi, terutama jika dikombinasikan dengan pengaturan TLS yang realistis.
Saat menggunakan browser tanpa kepala (misalnya, Puppeteer, Playwright), pastikan untuk:
Contoh menggunakan Puppeteer Stealth:
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://ja3er.com/json');
console.log(await page.content());
await browser.close();
})();
Layanan seperti CapSolver menyediakan solusi khusus untuk tantangan Cloudflare, termasuk deteksi TLS fingerprinting.
TLS fingerprinting Cloudflare adalah teknik canggih yang digunakan untuk mendeteksi dan memblokir permintaan otomatis dengan menganalisis handshake TLS klien. Namun, dengan memahami cara kerja JA3 fingerprinting dan mengimplementasikan otomatisasi browser, JA3 spoofing, dan rotasi proxy, dimungkinkan untuk mengatasi mekanisme deteksi Cloudflare.
Untuk solusi yang lebih mudah, CapSolver menawarkan layanan khusus untuk menangani tantangan Cloudflare, termasuk TLS fingerprinting, sehingga Anda dapat fokus pada tugas penggarukan Anda dengan lebih mudah.
1. Apa itu TLS, dan mengapa itu penting?
TLS (Transport Layer Security) memastikan komunikasi yang aman dengan mengenkripsi data antara klien dan server, mencegah akses dan manipulasi data yang tidak sah.
2. Bagaimana cara melindungi situs web saya dari serangan DDoS?
Gunakan layanan seperti Cloudflare untuk perlindungan DDoS, terapkan pembatasan kecepatan, gunakan Web Application Firewalls (WAF), dan perbarui perangkat lunak secara berkala.
3. Apa itu CAPTCHA, dan mengapa itu digunakan di situs web?
CAPTCHA adalah tes yang digunakan untuk membedakan manusia dari bot, melindungi situs web dari penyalahgunaan oleh skrip otomatis dan mencegah spam.
4. Bagaimana cara memecahkan masalah kesalahan SSL/TLS Cloudflare?
Periksa instalasi sertifikat SSL, pastikan pengaturan SSL/TLS Cloudflare yang benar, verifikasi dukungan versi TLS, dan singkirkan masalah firewall atau DNS.
5. Bagaimana cara meningkatkan keamanan situs web saya?
Gunakan HTTPS, terapkan WAF, perbarui perangkat lunak secara teratur, aktifkan otentikasi dua faktor, lindungi dari DDoS, dan cadangkan data.
Pahami perbedaan kunci antara Cloudflare Challenge vs Turnstile dan pelajari cara mengidentifikasi mereka untuk otomatisasi web yang sukses. Dapatkan tips ahli dan solver yang direkomendasikan.

Pelajari cara memperbaiki Cloudflare Error 1005 diakses ditolak selama web scraping. Temukan solusi seperti proksi rumah tangga, pemindaian sidik jari peramban, dan CapSolver untuk CAPTCHA. Optimalkan ekstraksi data.
