Tutorial

Iptables: Pengertian, Fungsi dan Cara Menggunakannya

Anda khawatir server Anda akan mendapat serangan kejahatan online? Jika iya, cobalah menggunakan iptables firewall untuk meningkatkan keamanan server tersebut.

Namun, Anda belum tahu bagaimana cara menggunakan iptables?

Tenang, Anda berada di halaman yang tepat! Artikel ini akan menjelaskan apa itu iptables dan fungsi iptables untuk server Anda, termasuk cara menggunakan iptables.

Yuk, simak pembahasan lengkapnya bawah ini!

Apa Itu Iptables?

Iptables adalah salah satu tools firewall pada sistem operasi Linux. Fungsi iptables adalah mengamankan jaringan dengan melakukan penyaringan trafik pada server.

Dengan iptables, Anda dapat mengatur lalu lintas jaringan, termasuk mengizinkan atau memblokir koneksi yang masuk, keluar, atau sekedar melewati server.

Pada iptables, Anda bisa membuat aturan pada server untuk mengelola jenis paket yang dapat diterima, mengatur trafik berdasarkan asal dan tujuan data, mengelola port, dan lainnya.

iptables bekerja dengan membandingkan lalu lintas jaringan dengan serangkaian aturan yang telah dibuat. Jadi, semua paket dalam lalu lintas jaringan akan dicek.

Dalam pengaturan paket, iptables memiliki beberapa tabel yang berfungsi untuk menentukan arah putaran data. Setiap tabel tersebut memiliki rules atau kumpulan aturan yang disebut chain

Pertama, tabel FILTER. Tabel ini digunakan untuk menyaring paket yang masuk, keluar, ataupun yang hanya lewat. Caranya. dengan menggunakan beberapa aturan, yaitu:

  • ACCEPT : Menerima paket yang masuk
  • REJECT : Menolak/Memblokir paket yang masuk
  • DROP : Memutuskan koneksi paket
  • LOG : Mencatat paket

Tabel FILTER memiliki tiga chain, yaitu:

  • INPUT : Chain ini menangani semua paket yang masuk ke server.
  • OUTPUT : Chain ini menangani semua paket yang keluar dari server.
  • FORWARD : Chain ini menangani paket yang diteruskan melalui server.

Kedua, tabel NAT (Network Address Translation). Tabel ini digunakan untuk mengubah alamat asal tujuan dari sebuah paket. Ada dua chain pada tabel NAT:

  • PRE-ROUTING (dstnat) : Mengubah destination address pada sebuah paket data.
  • POST-ROUTING (srcnat) : Mengubah source address dari sebuah paket data.

Ketiga, tabel MANGLE. Tabel ini digunakan untuk melakukan penghalusan pada proses pengaturan paket, dan memiliki kemampuan untuk menggunakan semua chain yang ada pada IPTABLES di atas.

Setelah mengetahui apa itu iptables dan fungsinya, saatnya untuk mengamankan firewall dengan iptables.

Baca Juga : Konfigurasi Dasar VPS

Cara Menggunakan iptables dalam 3 Langkah

Sebelum mengikuti tutorial cara menggunakan iptables, pastikan Anda memiliki akses root ke server Anda. Jika sudah siap, Anda dapat langsung mengikuti tiga langkah berikut ini, yaitu:

  1. Melakukan Instalasi iptables
  2. Membuat Rules iptables
  3. Menyimpan Konfigurasi iptables secara Permanen

Nah, berikut ini merupakan penjelasan lengkapnya:

1. Melakukan Instalasi iptables

Untuk mengecek versi iptables yang terinstall pada Linux, Anda perlu melakukan koneksi ke server melalui SSH terlebih dulu.

Caranya, login dengan username dan password yang dapat Anda temukan pada detail SSH di panel VPS. Kemudian, jalankan perintah berikut:

sudo iptables -V

Jika perintah tersebut menampilkan output versi iptables seperti gambar di bawah ini, maka iptables memang sudah terinstall pada Linux. 

Maka, Anda dapat langsung melanjutkan panduan ini ke langkah selanjutnya.

Namun,  jika outputnya berupa command not found, artinya iptables belum terinstall. Jadi, jalankan perintah berikut ini untuk menginstal iptables:

sudo apt-get update
sudo apt-get install iptables

Tunggu beberapa saat hingga proses instalasi iptables selesai dilakukan. Jika sudah berhasil, cek status konfigurasi dengan menjalankan perintah: 

sudo iptables -L -v

Command -L pada perintah diatas digunakan untuk melihat list semua aturan yang ada. Sedangkan command -v digunakan untuk menunjukkan informasi list aturan tersebut secara detail. Contoh outputnya seperti ini:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in out   source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in out   source destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in out   source destination

Iptables yang baru saja diinstall belum memiliki aturan apapun. Sehingga semua paket yang masuk akan diterima tanpa filter. Tentu saja hal ini masih sangat tidak aman, kan? 

Tapi tenang saja, kami akan menjelaskan bagaimana cara membuat rules pada iptables di langkah berikutnya.

2. Membuat Rules iptables

Rules iptables merupakan aturan untuk mengelola lalu lintas jaringan pada server. Rules ini akan ditambahkan pada suatu chain tertentu. 

Iptables menggunakan perintah -A (Append) sebagai tanda bahwa ada rules yang ditambahkan:

sudo iptables -A

Namun, perintah di atas belum bisa dijalankan karena perintah Append tidak bisa berdiri sendiri. Perintah -A membutuhkan argumen pendukung untuk membuat suatu rules. 

Berikut ini merupakan argumen yang bisa Anda gunakan untuk membuat rules:

  • -i : Interface merupakan antarmuka jaringan yang akan Anda filter, seperti eth0, lo, dll.
  • -p : Protocol adalah protokol jaringan yang akan di cek dalam suatu rule. Misalnya tcp, udp, icmp, dll.
  • -s : Source adalah alamat trafik berasal (IP address atau hostname)
  • -dport : Destination Port merupakan nomor port suatu protokol, seperti 22 untuk SSH dan 80 untuk HTTP.
  • -j : Jump merupakan nama target (ACCEPT, DROP, RETURN ) yang dituju ketika membuat rule yang baru.

Argumen di atas tidak harus digunakan satu persatu. Sesuaikan saja dengan kebutuhan Anda. Namun, kalau perlu digunakan semua, urutannya harus seperti ini:

sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.>  -j <target>

Nah, sekarang mari coba membuat rules iptables dengan syntax di atas. 

Sebagai contoh, di tutorial kali ini kami akan menambahkan rules pada chain INPUT untuk memfilter koneksi yang masuk dan mencegah koneksi yang dapat membahayakan server

Rules iptables yang akan kami gunakan sebagai contoh adalah:

  1. Mengaktifkan Trafik pada Localhost
  2. Mengaktifkan Koneksi pada Port HTTP, HTTPS dan SSH
  3. Memfilter Koneksi Berdasarkan Sumber Paket
  4. Memutus Koneksi Trafik Lainnya
  5. Menghapus Rules

Mengaktifkan Trafik pada Localhost

Untuk mengizinkan trafik pada localhost, jalankan perintah berikut ini:

sudo iptables -A INPUT -i lo -j ACCEPT

Perintah di atas memastikan koneksi antara database dan aplikasi web pada localhost bisa berjalan dengan baik.

Mengaktifkan Koneksi pada Port HTTP, HTTPS dan SSH

Untuk memberikan izin akses ke port HTTP (80), HTTPS (443)  dan SSH (22), jalankan perintah di bawah ini:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Jika sudah, Anda dapat mengecek rules yang baru saja Anda buat dengan perintah:

sudo iptables -L -v

Perintah tersebut akan menghasilkan output seperti gambar berikut:

Gambar di atas menunjukkan bahwa iptables akan menerima semua koneksi TCP dari port HTTP, HTTPS dan SSH.

Memfilter Koneksi berdasarkan Sumber Paket

Untuk menyaring koneksi yang masuk berdasarkan IP address atau range IP address tertentu, tambahkan IP sumber paket berasal setelah perintah -s seperti ini:

sudo iptables -A INPUT -s 192.168.1.2 -j ACCEPT

Sebaliknya, untuk memutus koneksi IP tertentu, Anda bisa menjalankan perintah DROP berikut ini:

sudo iptables -A INPUT -s 192.168.1.2 -j DROP

Anda juga bisa memutus koneksi dari suatu range IP address dengan menambahkan perintah -m dan modul iprange. Kemudian, masukkan range IP address setelah perintah --src-range

Jangan lupa gunakan tanda pisah tanpa spasi (-) untuk memisahkan range IP Address. Untuk lebih lengkapnya, silakan lihat perintah berikut:

sudo iptables -A INPUT -m iprange --src-range 192.168.1.130-192.168.1.180 -j DROP

Perintah di atas akan memutus koneksi dari range IP address 192.168.130 hingga 192.168.1.180

Memutus Koneksi Trafik Lainnya

Setelah mengizinkan koneksi masuk dari port tertentu, bagaimana cara memutus semua paket dari trafik diluar rules yang telah Anda buat? Sebab, penting untuk mencegah koneksi asing mengakses server Anda melalui port yang terbuka, kan?

Caranya, jalankan perintah berikut ini:

sudo iptables -A INPUT -j DROP

Nah, sekarang semua trafik dari luar port yang ditentukan pada rules telah terputus.

Menghapus Rules

Ada kalanya Anda ingin menghapus semua rules untuk kembali membuat rules dari awal lagi. Untuk melakukannya, jalankan perintah Flush berikut ini:

sudo iptables -F

Anda juga bisa menghapus suatu rule secara spesifik dengan menggunakan perintah Delete atau -D.  Namun, Anda perlu tahu dulu nomor line dari rule yang akan Anda hapus. Jadi, jalankan perintah di bawah ini:

sudo iptables -L --line-numbers

Setelah dijalankan, Anda akan mendapat output yang mirip seperti ini:

Pilih rule yang akan dihapus, kemudian ingatlah chain serta nomornya. Masukkan chain beserta nomor rule pada perintah delete sebagai berikut:

sudo iptables -D [chain] [nomor rule]

Sebagai contoh, Anda ingin menghapus rule nomor 2 pada chain INPUT. Maka, perintahnya adalah:

sudo iptables -D INPUT 2

3. Menyimpan Konfigurasi iptables secara Permanen

Rules iptables yang telah dibuat di atas akan hilang ketika server direstart. Jadi, pastikan  Anda menyimpan konfigurasi iptables secara permanen dengan perintah di bawah ini:

sudo /sbin/iptables-save

Jangan lupa jalankan perintah tersebut ketika ada perubahan pada rules iptables.

Misalnya, ketika Anda ingin menghapus semua rules iptables, maka Anda perlu menjalankan dua perintah berikut ini:

sudo iptables -F
sudo /sbin/iptables-save

Output yang akan dihasilkan adalah:

Baca Juga : Panduan Melakukan Reset Firewall dari SSH

Kesimpulan

Iptables bisa membantu Anda mengamankan server VPS. Cara menggunakan iptables juga cukup mudah. Asalkan Anda paham dengan basic syntaxnya, Anda sudah bisa membuat aturan atau rules iptables untuk keamanan server.

Namun, peningkatan keamanan menggunakan iptables saja tentu tidak cukup. Anda perlu menggunakan server VPS yang mumpuni dan memberikan perlindungan keamanan yang baik. 

Layanan Cloud VPS Niagahoster dapat menjadi salah satu pilihannya. Dengan tambahan fitur keamanan seperti DDoS Detection, Mod Security dan konfigurasi Firewall di VPS, Anda tidak perlu khawatir lagi dengan ancaman dari luar sistem.

Cloud VPS Niagahoster juga memungkinkan Anda untuk memilih beragam sistem operasi Linux untuk menginstall iptables di server Anda. Selain itu, dengan Full Root Access yang diberikan, Anda mempunyai kontrol penuh terhadap server dan konfigurasinya.

Menariknya, Anda dapat menikmati fitur tersebut dengan harga mulai dari Rp104rb/bulan saja, loh. Sangat menarik, bukan? Yuk, mulai berlangganan Cloud VPS Niagahoster!

Demikianlah artikel cara mengamankan firewall dengan iptables. Semoga artikel ini bermanfaat bagi Anda, ya 🙂

Nida Regita F

SEO Technical Writer at Niagahoster. An aquarius girl who loves music, watching movies and of course writing.

Share
Published by
Nida Regita F
Tags: iptablesvps

Recent Posts

Panduan Install Nginx SSL di Ubuntu 20.04

Anda ingin menginstall SSL pada VPS dengan web server Nginx? Inilah artikel yang tepat untuk Anda. Kami akan menjelaskan cara…

8 hours ago

15+ Contoh Program Python Sederhana yang Bisa Anda Coba

Salah satu cara paling cepat untuk belajar Python adalah mencoba membuat program Python sendiri. Langkah ini bisa melatih kemampuan logika…

21 hours ago

Cara Membuat Linktree Gratis dengan Mudah [Terbaru]

Pernah melihat URL Linktree tersemat di bio beberapa akun Instagram atau toko online? Lalu, Anda ingin tahu cara membuat LinkTree…

2 days ago

Anda Pengguna WP Fastest Cache? Segera Update Agar Aman!

Gawat nih, tim security research dari Jetpack menemukan dua celah keamanan di plugin WP Fastest Cache. Hal itu bisa membuat…

3 days ago

Mengenal File Default .htaccess di CodeIgniter dan Cara Membuatnya

Pada website CodeIgniter, setiap file punya fungsi manfaatnya masing-masing, termasuk file default .htaccess. Bahkan, file tanpa ekstensi ini sangat vital…

4 days ago

Cara Membuat Website di WordPress (Tutorial Lengkap)

Membuat website sangatlah mudah. Apalagi jika Anda menggunakan platform yang tepat. Nah, di artikel ini kami akan menjelaskan secara lengkap…

5 days ago