
Untuk perusahaan mana pun yang sangat bergantung pada penjualan dan transaksi online, meningkatnya jumlah serangan siber yang menargetkan situs web e-niaga menjadi perhatian yang semakin besar.
Situs web e-niaga rentan terhadap serangan seperti penolakan layanan terdistribusi (DDoS) dan kasar serangan, yang dapat menyebabkan hilangnya lalu lintas bisnis yang berharga dari pelanggan yang sah atau informasi sensitif pengguna Anda disusupi.
Untungnya, Anda bisa mendapatkan lapisan perlindungan lain dari jarak jauh setiap kali server Anda menggunakan terowongan enkapsulasi perutean generik (GRE). Terowongan semacam itu membantu membangun koneksi pribadi antara server atau jaringan Anda dan pusat scrubbing.
Ini memungkinkan penyedia perlindungan untuk memindai semua lalu lintas masuk Anda untuk aktivitas berbahaya dan memblokir potensi ancaman apa pun sebelum mereka dapat mencapai server Anda.
Setelah lalu lintas masuk Anda dipindai, semua lalu lintas aman diteruskan ke jaringan atau server Anda untuk diproses melalui terowongan GRE. Respons server Anda dikirim melalui terowongan GRE ke pusat scrubbing dan ke pelanggan.
Bersama dengan Gcore, penyedia keamanan global, kami akan menjelaskan apa itu terowongan GRE dan bagaimana mereka membantu menjaga keamanan data Anda. Ini kemudian akan memandu Anda tentang cara mengonfigurasi router dan host di pusat data Anda untuk membuat koneksi yang aman dan mulus ke pusat scrubbing Gcore melalui terowongan GRE.
Secara khusus, artikel ini akan menjelaskan cara menyiapkan antarmuka terowongan GRE untuk berkomunikasi melalui internet pada router Cisco atau host Linux.
Apa itu Terowongan GRE dan Bagaimana Cara Kerjanya?
Terowongan enkapsulasi perutean generik (GRE) adalah koneksi jaringan yang menggunakan protokol GRE untuk merangkum berbagai protokol lapisan jaringan di dalam tautan titik-ke-titik virtual melalui jaringan Protokol Internet (IP). Ini memungkinkan situs jarak jauh terhubung ke satu jaringan seolah-olah keduanya terhubung langsung satu sama lain atau ke infrastruktur jaringan fisik yang sama.
GRE sering digunakan untuk memperluas jaringan pribadi melalui internet publik, yang memungkinkan pengguna jarak jauh mengakses sumber daya dengan aman di jaringan pribadi.
Mungkin terdengar seperti terowongan GRE dan VPN adalah sama. Namun, terowongan GRE dapat mengangkut atau meneruskan lalu lintas multicast, yang penting untuk tindakan seperti iklan protokol perutean dan untuk aplikasi konferensi video, sementara VPN hanya dapat mengangkut lalu lintas unicast.
Selain itu, lalu lintas melalui terowongan GRE tidak dienkripsi secara default, tetapi VPN menyediakan metode enkripsi yang berbeda melalui rangkaian protokol IPsec, dan lalu lintasnya dapat dienkripsi dari ujung ke ujung.
Semua sama, lalu lintas yang ditransmisikan di sebagian besar situs menggunakan standar enkripsi seperti TLS/SSL untuk semua komunikasi.
Anda dapat menganggap terowongan GRE sebagai “terowongan” atau “kereta bawah tanah” yang menghubungkan dua jaringan berbeda (misalnya, jaringan pribadi perusahaan Anda dan jaringan pusat scrubbing Gcore). Sama seperti bagaimana terowongan kereta bawah tanah memungkinkan orang untuk melakukan perjalanan di antara stasiun yang berbeda, terowongan GRE memungkinkan data untuk melakukan perjalanan di antara jaringan yang berbeda.
“Kereta” dalam analogi ini adalah paket data yang dikirim melalui terowongan. Paket-paket ini “dienkapsulasi” atau dibungkus dengan header GRE, yang memberi tahu jaringan dari mana paket berasal dan ke mana tujuan mereka, mirip dengan bagaimana kereta bawah tanah memiliki tujuan di depan dan belakang.
Setelah paket mencapai “stasiun tujuan”, header GRE dihapus dan paket asli dikirim ke tujuan yang dituju. Dengan cara ini, data dapat melakukan perjalanan dengan aman dan pribadi melalui internet publik seolah-olah berada di jaringan pribadi.
Mengonfigurasi Host Jaringan Anda untuk Tunneling GRE
Sekarang setelah Anda memahami apa itu terowongan GRE, beberapa bagian berikutnya akan menunjukkan cara mengatur antarmuka terowongan pada router Cisco dan pada server Linux di dalam pusat data Anda. Anda juga akan diperlihatkan cara mengonfigurasi alamat IP pribadi pada antarmuka terowongan ini dan menguji koneksinya.
Mengkonfigurasi Terowongan GRE pada Router Cisco
Pertama, Anda akan mengatur router Cisco Anda untuk membuat koneksi ke pusat scrubbing Gcore melalui terowongan GRE melalui internet publik, seperti yang terlihat pada diagram di bawah ini:
Pada diagram di atas, kedua router memiliki IP publik fisik yang dapat mereka gunakan untuk langsung terhubung dan berinteraksi di internet melalui ISP masing-masing. Ada juga jaringan pribadi di belakang router di kedua ujungnya dan IP pribadi untuk antarmuka terowongan (192.168.1.1 untuk router klien dan 192.168.1.2 untuk router scrubbing center).
Melalui koneksi publik melalui internet, koneksi pribadi dibuat menggunakan IP pribadi pada antarmuka terowongan seolah-olah dua antarmuka terowongan pada setiap perangkat secara fisik terhubung langsung ke jaringan yang sama.
Pertama, sambungkan ke router Anda, baik melalui kabel konsol secara langsung atau melalui SSH jika Anda telah mengonfigurasinya, dan masuk ke mode konfigurasi global dengan perintah berikut:
bash
CR1# configure terminal
Anda sekarang dapat membuat antarmuka terowongan virtual. Antarmuka terowongan dapat berupa nomor apa pun yang Anda inginkan. Contoh berikut menggunakan 77 dan juga menempatkan Anda dalam mode konfigurasi antarmuka:
CR1(config)# interface tunnel 77
Selanjutnya, konfigurasikan antarmuka terowongan yang baru saja Anda buat dengan alamat IP pribadi untuk router CR1:
CR1(config if)# ip address 192.168.1.1 255.255.255.0
Setel sumber terowongan, atau antarmuka tempat terowongan membuat koneksi dari router Anda. Dalam contoh berikut, sumbernya adalah IP publik dari router klien, 3.3.3.1:
CR1(config if)# tunnel source 3.3.3.1
Anda juga perlu mengonfigurasi tujuan terowongan—dalam hal ini, alamat IP publik dari router pusat scrubbing, tempat Anda terhubung ke antarmuka terowongan pribadi router tersebut:
CR1(config if)# tunnel destination 4.4.4.1
Seperti yang Anda ketahui, GRE menambahkan header ekstra dengan informasi ke paket asli. Ini mengubah ukuran paket sebesar 24 byte di atas standar [MTU limit](https://en.wikipedia.org/wiki/Maximum\_transmission\_unit) sebesar 1.500 byte, yang dapat menyebabkan paket turun. Anda dapat mengatasi ini dengan mengurangi MTU sebesar 24 byte menjadi 1.476, sehingga MTU ditambah header tambahan tidak akan melebihi 1.500:
CR1(config if)# ip mtu 1476
Oleh karena itu, Anda harus mengubah [MSS](https://en.wikipedia.org/wiki/Maximum_segment_size) menjadi 40 byte lebih rendah dari MTU sebesar 1.436:
CR1(config if)# ip tcp adjust-mss 1436
Sekarang, keluar ke mode EXEC istimewa dan periksa konfigurasi IP di router Anda:
CR1(config if)# end
CR1# show IP interfaces brief
Anda seharusnya memiliki keluaran yang serupa dengan yang berikut, menampilkan antarmuka terowongan dengan IP yang Anda konfigurasikan untuknya:
CR1# show IP interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 3.3.3.1 YES manual up up
GigabitEthernet0/1 unassigned YES NVRAM down down
GigabitEthernet0/2 unassigned YES NVRAM administratively down down
GigabitEthernet0/3 unassigned YES NVRAM administratively down down
Tunnel77 192.168.1.1 YES manual up up
Uji koneksi ke router jarak jauh, SCR1, menggunakan alamat IP terowongan pribadi 192.168.1.2:
CR1# ping 192.168.1.2
Output Anda harus serupa dengan gambar di bawah ini, mengonfirmasi koneksi yang berhasil:
Terakhir, simpan konfigurasi Anda yang sedang berjalan:
CR1# copy running-config startup-config
Anda telah berhasil mengonfigurasi router Anda untuk membuat koneksi melalui terowongan GRE.
Mengkonfigurasi Terowongan GRE di Server Linux
Bagian ini membahas cara menyiapkan antarmuka terowongan dan membuat koneksi melalui terowongan GRE ke server jarak jauh. Pengaturan khusus ini menggunakan sistem operasi Ubuntu 20 LTS.
Di bawah ini adalah diagram yang mengilustrasikan konfigurasi untuk berbagai aspek penyiapan ini:
Buat terowongan baru menggunakan protokol GRE dari alamat IP publik server Anda ke IP server jarak jauh, dalam hal ini masing-masing 13.51.172.192 dan 196.43.196.101:
bash
# ip tunnel add tunnel0 mode gre local 13.51.172.192 remote 196.43.196.101 ttl 255
Jika Anda menggunakan instans Amazon EC2 atau VPC serupa di belakang firewall aplikasi atau jaringan, maka Anda perlu mendapatkan IP privat instans karena lalu lintas IP publik hanya dirutekan ke dan dari VPC melalui IP privat.
Seperti yang dapat Anda lihat dari output perintah berikut, IP pribadi instance diberi tanda penghubung dalam nama host VPC Anda yang memenuhi syarat:
bash
# hostname -f
ip-172-31-38-152.eu-north-1.compute.internal
Sekarang Anda dapat membuat terowongan dengan mengganti IP publik lokal 13.51.172.192 dengan IP pribadi 172.31.38.152 yang baru saja Anda dapatkan, seperti yang terlihat di bawah ini. Ini tidak diperlukan jika Anda melakukan ini di server fisik.
bash
# ip tunnel add tunnel0 mode gre local 172.31.38.152 remote 196.43.196.101 ttl 255
Selanjutnya, Anda perlu menambahkan subnet pribadi untuk digunakan di terowongan, yaitu 192.168.0.2/30 dalam contoh ini:
bash
# ip addr add 192.168.0.2/30 dev tunnel0
Setelah selesai, Anda sekarang dapat membuka tautan terowongan menggunakan perintah berikut:
bash
# ip link set tunnel0 up
Terakhir, uji apakah server jarak jauh dapat dijangkau melalui terowongan dengan mem-ping alamat IP terowongannya, seperti yang terlihat pada output di bawah ini, yang menandakan koneksi berhasil melalui terowongan GRE:
bash
# ping 192.168.0.1 -c4
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=275 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=275 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=275 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=281 ms
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 274.661/276.239/280.724/ ms
as
Pada titik ini, Anda harus memastikan semua lalu lintas yang mencapai Anda melalui terowongan memiliki respons yang dialihkan kembali melalui terowongan dengan menambahkan beberapa aturan ke tabel perutean Anda. Gunakan perintah di bawah ini:
bash
// Create the routing table
# echo '100 GRE' >> /etc/iproute2/rt_tables
// Respect the rules for the private subnet via that table
# ip rule add from 192.168.0.0/30 table GRE
// Set the default route to make sure all traffic goes via the tunnel remote server
# ip route add default via 192.168.0.1 table GRE
Itu dia! Anda telah berhasil mengatur koneksi dari server Anda melalui terowongan GRE ke pusat scrubbing.
Kesimpulan
Dalam artikel ini, Anda mempelajari apa itu terowongan GRE dan cara kerjanya. Kami menyentuh bagaimana terowongan GRE dapat melindungi server Anda dari serangan dunia maya, seperti serangan denial-of-service, dengan merutekan lalu lintas jaringan yang masuk melalui pusat scrubbing Gcore.
Kami kemudian memandu Anda tentang cara menyiapkan koneksi terowongan GRE menggunakan router Cisco atau server Linux Anda.
Kami menyiapkan artikel ini bekerja sama dengan Gcore — penyedia perlindungan web dan server yang tangguh dengan kapasitas pemfilteran multi-Tbps di semua benua kecuali Antartika.
Gcore dapat melindungi server di pusat datanya serta server di pusat data klien menggunakan terowongan GRE. Kedua cara tersebut memberi pelanggan perlindungan dari serangan bervolume tinggi dengan latensi kurang dari 1 md.
Disponsori dan ditulis oleh Gcore