VPS

Meningkatkan Keamanan Server VPS dengan Linux Farewell

Pengenalan

Iptables Linux firewall digunakan untuk memantau traffic dari dan ke server dan menyaringnya berdasarkan rule yang dibuat pengguna untuk mencegah siapa pun sehingga tidak bisa mengakses sistem guna meningkatkan keamanan server. Dengan Iptables, Anda dapat membuat rule yang memperbolehkan hanya traffic tertentu saja yang masuk dan keluar dari server Anda. Di tutorial Iptables ini, Anda akan mempelajari cara mengamankan aplikasi web menggunakan Iptables.

Catatan: Untuk pengguna RHEL/CentOS, ada layanan yang dinamakan firewallD yang sudah terinstall di dalam sistem operasi. Jika ingin menggunakan Iptables, maka Anda harus menonaktifkan firewallD terlebih dulu.

Yang Anda Butuhkan

Sebelum memulai tutorial Iptables ini, Anda membutuhkan:

Jika Anda ingin mengetahui lebih lanjut tentang SSH dan command SSH, bacalah tutorialnya di sini.

Pengertian Iptables

Semua data dikirimkan dalam bentuk paket melalui internet. Kernel Linux menyediakan software antarmuka untuk menyaring baik paket traffic yang masuk maupun keluar dari sistem menggunakan tabel filter paket. Iptables merupakan aplikasi baris perintah dan firewall Linux yang dapat Anda gunakan untuk mengatur, merawat, dan memeriksa tabel tersebut. Banyak tabel yang dapat dibuat. Setiap tabel memiliki beberapa chain. Chain tidak lain adalah seperangkat rule. Jika suatu rule cocok dengan suatu paket, maka tiap rule akan menentukan apa yang harus dilakukan terhadap paket tersebut. Apabila paketnya cocok, maka akan diberikan TARGET. Target bisa saja merupakan chain lain yang cocok dengan paket atau merupakan salah satu value khusus berikut ini:

  • ACCEPT: Suatu paket diperbolehkan untuk lewat.
  • DROP: Suatu paket tidak diperbolehkan untuk lewat.
  • RETURN: Melewatkan chain saat ini dan kembali ke rule berikutnya dari chain yang dipanggilnya.

Untuk tutorial iptables ini, kami akan menggunakan salah satu tabel standar, yaitu filter. Tabel filter memiliki tiga chain (seperangkat rule).

  • INPUT – Chain ini digunakan untuk mengontrol paket yang masuk ke server. Anda bisa memblokir/memperbolehkan koneksi berdasarkan alamat port, protokol, atau IP source.
  • FORWARD – Chain ini digunakan untuk memfilter paket yang masuk ke server, tapi kemudian diteruskan ke tempat lain.
  • OUTPUT – Chain ini digunakan untuk memfilter paket yang keluar dari server Anda.

Tutorial Iptables - tabel filter

Langkah 1 – Menginstall Iptables Linux Firewall

1. Menginstall Iptables

Iptables telah terinstall di hampir semua distribusi Linux. Namun, apabila Anda menggunakan sistem Ubuntu/Debian di mana tidak terinstall Iptables di dalamnya, maka gunakan:

2. Mengecek Status Iptables Saat Ini

Dengan command ini, Anda dapat mengecek status dari konfigurasi iptables Anda saat ini. Opsi -L digunakan untuk membuat daftar semua rule, sedangkan opsi -v digunakan untuk membuat daftar yang berulang-ulang. Perlu diingat bahwa kedua opsi ini bersifat sensitif.

Contoh output:

Ini merupakan output dari command di atas. Ketiga chain tersebut diatur ke pengaturan standar ACCEPT. Untuk saat ini, tidak ada rule untuk setiap chain tersebut.

Agar tutorial Iptables ini mudah dimengerti, kami akan memodifikasi chain INPUT untuk memfilter traffic yang masuk.

Langkah 2 – Membuat Rule Chain

Membuat rule berarti menambahkannya ke daftar (chain). Berikut ini command Iptable yang diformat dengan opsi biasa. Kami tidak harus membuat semuanya.

-A di sini menunjukkan tambahan (append). Chain merujuk pada chain yang ingin kami tambahkan di rule kami. Interface merupakan jaringan antarmuka di mana Anda ingin memfilter traffic. Protocol merujuk pada protokol jaringan paket yang ingin Anda filter. Anda juga dapat membuat port, no of dari port yang ingin Ada filter traffic-nya.

Untuk informasi lebih rinci tentang command Iptables dan opsinya, Anda bisa mengecek halaman utama Iptables.

1. Mengaktifkan Traffic di Localhost

Kami ingin semua aplikasi antara aplikasi dan database pada server agar berlanjut seperti biasa.

Contoh output:

Opsi -A digunakan untuk menambahkan (append) rule ke chain INPUT, lalu menerima semua koneksi di antarmuka lo. lo adalah loopback antarmuka. lo digunakan untuk semua komunikasi di localhost, seperti komunikasi antara database dan aplikasi web di jaringan yang sama.

2. Mengaktifkan Koneksi di HTTP, SSH, dan Port SSL

Kami ingin koneksi regular HTTP (port 80), https (port 443), ssh (port 22) agar berlanjut seperti biasanya. Masukkan command berikut ini untuk mengaktifkan koneksi tersebut. Pada command di bawah ini, kami telah membuat protokol dengan opsi -p dan port yang sesuai untuk setiap protokol dengan opsi -dport (port tujuan).

Sekarang semua koneksi protokol TCP dengan port yang telah ditentukan akan diterima.

3. Memfilter Paket Berdasarkan Source

Bilamana Anda ingin menerima atau menolak paket berdasarkan alamat source IP atau range alamat IP, maka Anda dapat melakukannya dengan opsi -s. Contoh di bawah ini untuk menerima paket dari alamat 192.168.1.3 –

Anda dapat melarang paket dari suatu alamat IP dengan command yang sama menggunakan opsi DROP.

Jika Anda ingin melarang paket dari suatu range alamat IP, maka Anda harus menggunakan modul Iprange dengan opsi -m dan tentukan range alamat IP dengan -src-range.

4. Melarang Traffic Lain

Catatan: Sangat penting bagi Anda untuk DROP semua traffic lain setelah membuat rule untuk mencegah adanya akses yang tidak diinginkan yang datang ke server dari open port lain.

Command ini menutup akses dari semua traffic yang masuk selain port yang disebutkan dalam command di atas. Seperangkat rule Anda dapat dicek dengan:

5. Menghapus Rule

Jika Anda ingin menghapus semua rule dan memulai dengan catatan yang bersih, maka Anda dapat menggunakan command flush.

Command ini menghapus semua rule saat ini. Jika Anda ingin menghapus rule tertentu, maka gunakan opsi -D. Pertama-tama, masukkan command di bawah ini untuk membuat daftar yang memuat semua rule dengan angka:

Daftar semua rule dengan angka akan ditampilkan.

Untuk menghapus suatu rule, buat angka di dalam daftar dan chain dari rule. Kami menggunakan chain INPUT dan angka 3.

Langkah 3 – Perubahan yang Tetap Ada

Rule Iptable yang telah kami buat disimpan di dalam memori. Hal ini berarti kami harus membuat ulang rule Iptable di reboot. Agar perubahan yang dilakukan tetap ada setelah reboot, maka gunakan command berikut ini pada sistem Ubuntu/Debian:

Command ini menyimpan rule saat ini ke dalam file konfigurasi sistem yang digunakan untuk konfigurasi ulang tabel pada saat reboot. Jalankan command ini kapan pun Anda membuat perubahann pada rule. Untuk menonaktifkan firewall ini, lakukan flush pada semua rule dan buat perubahan agar tetap ada.

Kesimpulan

Di tutorial Iptables ini, kami menggunakan Iptables Linux firewall yang hanya memperbolehkan traffic pada port tertentu. Kami juga memastikan bahwa rule kami disimpan setelah reboot. Linux firewall ini akan melarang paket yang tidak diinginkan. Namun, ada peringatan yang menyatakan bahwa Iptables hanya bisa mengendalikan traffic ipv4. Jika VPS Anda telah mengaktifkan jaringan ipv6, maka Anda harus mengatur rule yang berbeda untuk traffic dengan ip6tables.

Gabung bersama ratusan ribu pelanggan di seluruh dunia

dan dapatkan tutorial baru langsung di email Anda

Please wait...

Abone olduğunuz için teşekkürler!

Dapatkan harga hemat!

Web Hosting Gratis Domain mulai dari

Rp.3.975
/bln