Pengungkapan kami yang relevan dalam konteks ini: kami adalah Geonode dan kami menjual proxy forward. Proxy forward seperti yang kami jual bukanlah produk keamanan, dan Anda tidak boleh membelinya sebagai alat pertahanan jaringan. Proxy ini tidak memeriksa lalu lintas untuk mendeteksi ancaman, tidak menerapkan kebijakan di jaringan Anda, dan tidak melindungi apa pun. Proxy ini mengubah asal tampaknya permintaan Anda, yang berguna untuk pengumpulan data, pengujian geografis, dan melewati filter jaringan — dan sama sekali bukan hal yang sama dengan keamanan. Jika Anda berada di sini karena sedang memutuskan apa yang akan dipasang di perbatasan jaringan Anda, jawabannya adalah firewall, dan artikel ini seharusnya membantu Anda memahami mengapa keduanya sering kali disalahartikan.
Perbedaan dalam Satu Kalimat
Firewall adalah sebuah filter. Lalu lintas data masuk, firewall memeriksa seperangkat aturan, lalu mengizinkan atau menolak lalu lintas tersebut. Firewall adalah sebuah gerbang.
Proxy adalah perantara. Anda meminta sesuatu kepada proxy, proxy mengambilnya, dan mengembalikannya kepada Anda. Proxy adalah perantara.
Alasan mengapa keduanya sering disamakan adalah karena perantara berada dalam posisi yang sangat baik untuk menjadi gerbang. Jika segala sesuatu harus melewati Anda, Anda mungkin juga memeriksanya. Oleh karena itu, kedua kategori ini telah menyatu dalam produk-produk, meskipun fungsinya tetap berbeda.
Perbedaan yang tetap ada meskipun terjadi penyatuan ini: tujuan firewall adalah untuk memutuskan, sedangkan tujuan proxy adalah untuk bertindak atas nama Anda. Produk yang melakukan keduanya sebenarnya melakukan dua hal yang berbeda, dan artikel ini bertujuan untuk membantu Anda menentukan mana yang Anda butuhkan.
Fungsi Firewall, Menurut Definisi NIST
Publikasi Khusus NIST 800-41 Revisi 1 memberikan definisi yang layak digunakan:
Firewall adalah perangkat atau program yang mengontrol aliran lalu lintas jaringan antara jaringan atau host yang menerapkan kebijakan keamanan yang berbeda.
Ada dua bagian penting dalam definisi tersebut. "Mengontrol aliran" — tugasnya adalah mengizinkan dan menolak, bukan mengambil. Dan "tingkat keamanan yang berbeda" — firewall berada di batas antara zona dengan tingkat kepercayaan yang berbeda. Antara jaringan Anda dan internet, antara DMZ dan sistem internal, antara satu segmen dan segmen lainnya.
NIST juga membuat pengamatan yang menjelaskan sebagian besar perkembangan produk keamanan selama dua puluh tahun terakhir:
Ancaman secara bertahap telah bergeser dari lapisan bawah lalu lintas jaringan ke lapisan aplikasi, yang telah mengurangi efektivitas umum firewall dalam menghentikan ancaman yang dibawa oleh komunikasi jaringan.
Pergeseran tersebut — dari paket ke aplikasi — adalah alasan mengapa firewall sederhana menjadi tidak memadai dan mengapa fitur-fitur berbentuk proxy ditambahkan ke dalamnya.
Tiga Generasi Teknologi Firewall
Taksonomi NIST merupakan cara paling jelas untuk memahami bagaimana firewall berkembang dalam tumpukan teknologi.
Penyaringan paket. Yang tertua dan paling sederhana. NIST menggambarkan firewall penyaring paket awal sebagai "pada dasarnya perangkat perutean yang menyediakan fungsi kontrol akses untuk alamat host dan sesi komunikasi", dan mencatat bahwa firewall ini "juga dikenal sebagai firewall inspeksi tanpa status" yang "tidak melacak status setiap aliran lalu lintas". Yang penting: "filter paket tidak memperhatikan isi paket."
Cepat, murah, dan hanya melihat alamat serta port. NIST mencatat bahwa teknologi ini tetap "menjadi inti dari sebagian besar firewall modern", namun "hanya sedikit firewall yang dijual saat ini yang hanya melakukan penyaringan paket tanpa status."
Pemeriksaan berstatus (stateful inspection). Peningkatan yang membuat firewall menjadi praktis. NIST: sistem ini "meningkatkan fungsi penyaring paket dengan melacak status koneksi dan memblokir paket yang menyimpang dari status yang diharapkan", yang dicapai "dengan memasukkan pemahaman yang lebih mendalam tentang lapisan transportasi". Firewall ini menyimpan tabel status yang biasanya mencakup "alamat IP sumber, alamat IP tujuan, nomor port, dan informasi status koneksi".
Dampaknya secara praktis adalah bahwa lalu lintas balik untuk koneksi yang Anda inisiasi diizinkan secara otomatis, sedangkan lalu lintas yang tidak diminta tidak diizinkan. Itulah perilaku yang dimaksud kebanyakan orang ketika mereka menyebut "firewall".
Firewall aplikasi. Firewall ini memeriksa konten. Contoh yang diberikan NIST sangat konkret: firewall aplikasi "dapat menentukan apakah sebuah pesan email berisi jenis lampiran yang tidak diizinkan oleh organisasi", atau mendeteksi "apakah pesan instan (IM) sedang digunakan melalui port 80 (yang biasanya digunakan untuk HTTP)". Firewall ini dapat memblokir operasi tertentu seperti perintah FTP put, menyaring halaman yang berisi konten aktif tertentu, dan mengidentifikasi “urutan perintah yang tidak terduga”.
Contoh IM melalui port 80 tersebut merupakan argumen utama untuk menelusuri tumpukan (stack). Sebuah filter paket melihat port 80 dan menganggapnya sebagai "lalu lintas web". Hanya sesuatu yang membaca kontennya yang tahu kenyataannya.
Apa yang Dilakukan oleh Proxy
Proxy memutus koneksi Anda dan membuat koneksinya sendiri.
Anda terhubung ke proxy dan meminta suatu sumber daya. Proxy tersebut terhubung ke tujuan, mengambil sumber daya tersebut, dan mengembalikannya kepada Anda. Ada dua koneksi di tempat yang mungkin Anda duga hanya ada satu, dan struktur inilah yang menghasilkan semua sifat yang dimiliki oleh proxy.
NIST menjelaskan mekanisme ini secara tepat dalam konteks gateway aplikasi-proksi: setiap koneksi "mengakibatkan terciptanya dua koneksi terpisah—satu antara klien dan server proxy, dan satu lagi antara server proxy dan tujuan sebenarnya", dengan proxy "dimaksudkan agar transparan bagi kedua host—dari sudut pandang mereka, terdapat koneksi langsung". Dan konsekuensinya: "Karena host eksternal hanya berkomunikasi dengan agen proxy, alamat IP internal tidak terlihat oleh dunia luar."
Ada dua jenis yang perlu dibedakan:
Proxy forward bertindak atas nama klien. Permintaan Anda dikirim melalui proxy tersebut, sehingga tujuan melihat alamat proxy, bukan alamat Anda. Inilah yang kami tawarkan, dan mencakup web scraping, pengujian geografis, penyaringan lalu lintas keluar perusahaan, dan caching. NIST mencatat bahwa "Sebagian besar server proxy yang digunakan saat ini adalah server proxy keluar, dengan yang paling umum adalah proxy HTTP."
Proxy balik bertindak untuk server. Permintaan klien tiba di sana dan diteruskan ke server backend; inilah cara kerja load balancing, terminasi TLS, dan jaringan pengiriman konten. Dari sisi klien, proxy terbalik adalah situs web itu sendiri.
NIST juga memberikan catatan jujur mengenai kasus inbound yang sering diabaikan dalam penjelasan lain: "Dalam beberapa tahun terakhir, penggunaan server proxy masuk telah menurun drastis", karena "server proxy masuk harus meniru kemampuan server asli yang dilindunginya, yang menjadi hampir mustahil saat melindungi server dengan banyak fitur", dan pencatatan serta kontrol akses yang disediakan oleh proxy semacam itu "biasanya sudah terintegrasi ke dalam server asli" saat ini.
Titik Tumpang Tindih: Gerbang Proksi Aplikasi
Titik tumpang tindih ini merupakan kategori produk yang nyata, dan NIST dengan cermat membedakannya dari sesuatu yang memiliki nama serupa yang dapat membingungkan:
Gerbang proksi aplikasi sangat berbeda dengan firewall aplikasi.
Gerbang proxy aplikasi adalah "fitur dari firewall canggih yang menggabungkan kontrol akses lapisan bawah dengan fungsionalitas lapisan atas", yang berisi "agen proxy yang bertindak sebagai perantara antara dua host yang ingin berkomunikasi satu sama lain, dan tidak pernah mengizinkan koneksi langsung di antara keduanya."
Keuntungan yang disebutkan NIST: mencegah koneksi langsung antar-host, memeriksa konten untuk pelanggaran kebijakan, dan — untuk beberapa implementasi — "kemampuan untuk mendekripsi paket (misalnya, muatan yang dilindungi SSL), memeriksanya, dan mengenkripsinya kembali sebelum mengirimkannya ke host tujuan", dengan data yang tidak dapat didekripsi diteruskan begitu saja.
Kekurangannya juga sama spesifiknya. Gerbang proxy aplikasi “cenderung terbatas dalam hal dukungan terhadap aplikasi dan protokol jaringan baru”, karena “diperlukan agen proxy khusus aplikasi tersendiri untuk setiap jenis lalu lintas jaringan yang perlu melewati firewall”. Vendor menyediakan agen generik untuk menutupi celah tersebut, tetapi NIST mencatat bahwa agen-agen ini “cenderung menghilangkan banyak keunggulan arsitektur gerbang proxy aplikasi karena mereka hanya memungkinkan lalu lintas untuk ‘menembus’ melalui firewall.”
Itulah trade-off sejati dari seluruh kategori ini: penggunaan proxy memberikan inspeksi mendalam, dengan konsekuensi harus memahami setiap protokol yang diangkut, dan celah untuk protokol yang tidak dipahami menghilangkan manfaat tersebut.
NIST juga membedakan server proxy khusus, yang “tetap mempertahankan kontrol proxy atas lalu lintas” tetapi “biasanya memiliki kemampuan firewall yang jauh lebih terbatas”, dan “umumnya digunakan untuk mengurangi beban kerja firewall serta melakukan penyaringan dan pencatatan khusus yang mungkin sulit dilakukan pada firewall itu sendiri.”
Arah Lebih Penting Daripada yang Disadari Orang
Hal ini sering menimbulkan kebingungan, sehingga perlu dijelaskan secara eksplisit.
Firewall biasanya mengatur kedua arah, tetapi umumnya dipandang sebagai pelindung lalu lintas masuk. Model pemikiran yang umum adalah mencegah hal-hal masuk — meskipun dalam praktiknya, penyaringan lalu lintas keluar seringkali lebih penting, karena membatasi ke mana saja host internal yang telah disusupi dapat mengakses.
Proksi maju hanya menangani lalu lintas keluar. Proksi ini mencegah tujuan mengetahui keberadaan Anda, dan memungkinkan organisasi mengontrol serta mencatat apa yang keluar. Proksi ini bukan pertahanan terhadap apa pun yang masuk.
Proksi terbalik hanya menangani lalu lintas masuk. Proksi ini melindungi server asal dengan bertindak sebagai lapisan depan, dan di sinilah fungsi penyeimbangan beban, penyimpanan cache, serta penghentian TLS berlangsung.
Firewall aplikasi web ditempatkan di sisi masuk di depan server web. NIST mendeskripsikannya sebagai "firewall aplikasi khusus... yang berada di depan server web", ditambahkan karena HTTP "telah dieksploitasi oleh penyerang dengan berbagai cara". Karena firewall ini berada di depan server web alih-alih di perbatasan jaringan, NIST mencatat "mereka sering dianggap sangat berbeda dari firewall tradisional."
Akibatnya: bertanya "haruskah saya menggunakan proxy atau firewall" tanpa menentukan arahnya berarti mengajukan pertanyaan yang tidak lengkap. Proxy keluar dan firewall masuk tidak saling bersaing; keduanya bahkan tidak menghadap ke arah yang sama.
Berdampingan
| Firewall | Proksi maju | Proksi balik | |
|---|---|---|---|
| Fungsi utama | Mengizinkan atau menolak lalu lintas | Mengambil data atas nama klien | Antarmuka depan untuk server |
| Arah | Keduanya, berorientasi batas | Keluar | Masuk |
| Model koneksi | Melewatkan atau memblokir paket | Mengakhiri dan memulai ulang koneksi | Mengakhiri dan memulai ulang koneksi |
| Melihat konten? | Tergantung pada generasinya | Ya, untuk lalu lintas yang tidak terenkripsi | Ya, karena mengakhiri koneksi TLS |
| Menyembunyikan alamat klien | Tidak | Ya, dari tujuan | Tidak |
| Menyembunyikan alamat server | Terkadang, melalui NAT | Tidak | Ya, dari klien |
| Penyimpanan cache | Tidak | Umumnya | Umumnya |
| Penyeimbangan beban | Tidak | Tidak | Ya |
| Tujuan utama | Keamanan | Akses, anonimitas, kontrol | Kinerja, skalabilitas, perlindungan |
Baris yang menjawab sebagian besar pertanyaan praktis adalah baris terakhir. Firewall ada untuk menegakkan batas keamanan. Proksi forward ada untuk mengubah cara dan dari mana Anda mengakses sesuatu. Keduanya saling melengkapi, bukan saling menggantikan.
Apakah Anda Membutuhkan Salah Satu, yang Lain, atau Keduanya?
Setiap orang membutuhkan firewall. Setiap sistem operasi sudah dilengkapi dengan firewall, setiap router memiliki firewall, dan setiap penyedia layanan cloud menyediakan grup keamanan. Ini bukanlah hal opsional dan pada skala kecil, ini bukanlah keputusan pembelian — melainkan keputusan konfigurasi. Jika pertanyaan Anda adalah "apakah saya perlu memiliki firewall", jawabannya adalah Anda sudah memilikinya dan firewall tersebut perlu dikonfigurasi.
Anda memerlukan proxy forward jika: Anda mengumpulkan data dalam jumlah besar dan perlu mendistribusikan permintaan ke berbagai alamat; Anda perlu mengakses konten yang spesifik untuk wilayah tertentu; Anda perlu mengakses sesuatu yang diblokir oleh jaringan; atau Anda mengelola organisasi dan perlu mengontrol serta mencatat akses web keluar. Tiga hal pertama adalah bidang keahlian kami. Yang keempat biasanya merupakan fitur dari firewall atau secure web gateway yang sudah ada, bukan pembelian terpisah.
Anda memerlukan reverse proxy jika Anda menjalankan layanan web publik dalam skala apa pun. Load balancing, terminasi TLS, caching, dan pembatasan laju semuanya terdapat di sini, dan ini merupakan arsitektur standar, bukan tambahan.
Anda memerlukan firewall aplikasi web jika Anda mengoperasikan aplikasi web publik yang menangani data sensitif apa pun. Ini adalah produk yang berbeda dari firewall jaringan dan memiliki fungsi yang berbeda, serta memiliki salah satunya tidak berarti Anda memiliki yang lain.
Satu kombinasi yang patut ditandai sebagai kesalahan: membeli layanan proxy forward untuk keamanan. Layanan tersebut tidak menawarkan keamanan apa pun. Proxy perumahan dan pusat data yang kami dan pihak lain jual hanya mengubah alamat asal permintaan Anda. Proxy tersebut tidak memeriksa lalu lintas, memblokir ancaman, menerapkan kebijakan, atau melindungi titik akhir. Jika vendor menyiratkan sebaliknya, itu hanyalah taktik pemasaran.
Pertanyaan Lainnya
Apakah proxy sama dengan firewall?
Tidak. Firewall mengontrol lalu lintas apa saja yang diizinkan antara jaringan dengan tingkat keamanan yang berbeda. Proxy melakukan permintaan atas nama pihak lain, memutus satu koneksi dan memulai koneksi lainnya. Beberapa produk firewall menyertakan fungsi proxy — NIST menyebutnya sebagai gerbang proxy aplikasi — namun fungsinya berbeda.
Apakah proxy dapat menggantikan firewall?
Tidak. Proxy forward menangani permintaan keluar dan tidak menawarkan perlindungan terhadap lalu lintas masuk, tidak menerapkan kebijakan di jaringan Anda, serta tidak melakukan inspeksi ancaman. Bahkan jika proxy memeriksa konten, ia hanya melihat lalu lintas yang dialihkan melaluinya, sedangkan firewall mengatur batas jaringan itu sendiri.
Mana yang lebih aman, proxy atau firewall?
Keduanya tidak dapat dibandingkan dalam hal tersebut. Firewall adalah kontrol keamanan; sedangkan proxy forward umumnya bukan. Gerbang proxy aplikasi dalam firewall memang menyediakan pemeriksaan yang kuat karena mencegah koneksi langsung dan dapat memeriksa konten, tetapi itu adalah fitur firewall, bukan sifat umum dari proxy.
Di lapisan mana masing-masing beroperasi?
Firewall penyaring paket beroperasi di lapisan jaringan pada alamat dan port. Pemeriksaan berstatus (stateful inspection) menambahkan kesadaran terhadap lapisan transportasi dengan tabel status koneksi. Firewall aplikasi dan proxy beroperasi di lapisan aplikasi, di mana mereka dapat membaca konten protokol. NIST mencatat bahwa ancaman telah bergeser ke lapisan yang lebih tinggi seiring waktu, itulah sebabnya pendekatan pada lapisan yang lebih tinggi menjadi diperlukan.
Apa perbedaan antara proxy forward dan proxy reverse?
Proxy forward bertindak atas nama klien, sehingga tujuan melihat proxy tersebut, bukan Anda. Proksi terbalik bertindak atas nama server, sehingga klien menghubungi proksi tersebut alih-alih server asal. Arah yang berlawanan, pihak yang diuntungkan berbeda, namun mekanisme dasarnya sama: mengakhiri satu koneksi dan membuat koneksi baru.
Apakah saya memerlukan proksi dan firewall sekaligus?
Anda tetap memerlukan firewall — Anda sudah memiliki beberapa. Anda hanya memerlukan proxy forward untuk tugas-tugas tertentu: pengumpulan data dalam jumlah besar, pengujian khusus wilayah, atau pengendalian organisasi terhadap akses web keluar. Anda memerlukan proxy reverse jika Anda menjalankan layanan web publik. Pertanyaan yang berbeda dengan jawaban yang berbeda.
Apakah proxy menyembunyikan alamat IP saya dari semua orang?
Hanya dari pihak tujuan. Penyedia layanan internet (ISP) Anda tetap melihat Anda terhubung ke proxy, operator proxy melihat kedua ujung koneksi, dan apa pun yang Anda akses akan mengidentifikasi Anda terlepas dari itu. Kerangka kerja NIST — bahwa host eksternal hanya berkomunikasi dengan agen proxy, sehingga alamat internal tidak terlihat oleh dunia luar — akurat dan lebih sempit daripada istilah "anonim".
Apa itu firewall aplikasi web?
Sebuah firewall aplikasi khusus yang ditempatkan tepat di depan server web untuk mendeteksi eksploitasi terhadap HTTP. NIST membedakannya dari firewall tradisional justru karena firewall ini melindungi server, bukan batas jaringan. Ini adalah produk yang terpisah dari firewall jaringan, dan memiliki salah satunya tidak dapat menggantikan yang lain.
Kesimpulan
Cara yang tepat untuk memahaminya: firewall yang memutuskan, proxy yang bertindak atas nama Anda. Segala hal lainnya merupakan konsekuensi dari kedua tindakan tersebut.
Kebingungan ini bersifat nyata, bukan sekadar kelalaian, karena kedua kategori tersebut saling beririsan. Sebuah perantara yang mengakhiri setiap koneksi berada dalam posisi ideal untuk memeriksanya, sehingga firewall mengembangkan fitur proxy, dan gerbang aplikasi-proxy NIST adalah hibrida tersebut — dengan keunggulan nyata dalam kedalaman pemeriksaan dan biaya nyata karena memerlukan agen khusus per protokol.
Yang belum menyatu adalah tujuannya. Firewall ada untuk menegakkan batas antara zona dengan tingkat kepercayaan yang berbeda. Proksi forward ada untuk mengubah asal permintaan Anda dan memungkinkan seseorang mengontrol apa yang keluar. Jika Anda memilih apa yang akan ditempatkan di perbatasan Anda, itu adalah pertanyaan tentang firewall. Jika Anda memilih cara untuk terhubung ke dunia luar, itu adalah masalah proxy. Keduanya hanya tampak seperti alternatif jika dilihat dari jarak yang cukup jauh sehingga arah pergerakan tidak lagi terlihat.
