GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial Iptables – Mengamankan VPS Ubuntu dengan Linux Firewall

Apakah Anda mencari tutorial iptables lengkap? Tetap di tempat. Pada artikel ini, kami akan menunjukkan cara menginstal dan menggunakan iptables di sistem Ubuntu. Dengan mempelajari alat firewall Linux ini, Anda dapat mengamankan VPS Linux Anda menggunakan antarmuka baris perintah.

Apa itu Iptables, dan Bagaimana Cara Kerjanya?

Sederhananya, iptables adalah program firewall untuk Linux. Ini akan memantau lalu lintas dari dan ke server Anda menggunakan tabel . Tabel ini berisi seperangkat aturan , disebut rantai , yang akan memfilter paket data yang masuk dan keluar.

[optin-monster-shortcode id=”fv4lqeko3gylvecpszws”]

Saat paket cocok dengan aturan , itu diberi target , yang dapat berupa rantai lain atau salah satu dari nilai khusus berikut:

  • TERIMA – akan mengizinkan paket untuk melewatinya.
  • LEPASKAN – tidak akan membiarkan paket lewat.
  • KEMBALI – menghentikan paket agar tidak melintasi rantai dan memerintahkannya untuk kembali ke rantai sebelumnya.

Dalam tutorial iptables ini, kita akan bekerja dengan salah satu tabel default, yang disebut filter . Ini terdiri dari tiga rantai:

  • MASUKKAN – mengontrol paket yang masuk ke server.
  • MAJU – menyaring paket masuk yang akan diteruskan ke tempat lain.
  • OUTPUT – memfilter paket yang keluar dari server Anda.

Sebelum kita memulai panduan ini, pastikan Anda memiliki SSH root atau sudo akses ke mesin Anda yang berjalan di Ubuntu 16.04 atau lebih tinggi. Anda dapat membuat koneksi melalui Putty (Windows) atau terminal shell (Linux, macOS). Jika Anda memiliki VPS Hostinger, Anda bisa mendapatkan detail login SSH di tab Server di hPanel.

Penting! aturan iptables hanya berlaku untuk ipv4 . Jika Anda ingin menyiapkan firewall untuk ipv6 protokol, Anda harus menggunakan ip6tables sebagai gantinya.

Cara Memasang dan Menggunakan Firewall Iptables Linux

Kami akan membagi tutorial iptables ini menjadi tiga langkah. Pertama, Anda akan belajar cara menginstal alat di Ubuntu. Kedua, kami akan menunjukkan kepada Anda bagaimana mendefinisikan aturan. Terakhir, kami akan memandu Anda untuk membuat perubahan terus-menerus pada iptables.

Langkah 1 — Memasang Iptables

Iptables sudah diinstal sebelumnya di sebagian besar distribusi Linux. Namun, jika Anda tidak memilikinya di sistem Ubuntu/Debian secara default, ikuti langkah-langkah di bawah ini:

  1. Hubungkan ke server Anda melalui SSH. Jika Anda tidak tahu, Anda dapat membaca tutorial SSH kami.
  2. Jalankan perintah berikut satu per satu:
    sudo apt-get update
    sudo apt-get install iptables
  3. Periksa status konfigurasi iptables Anda saat ini dengan menjalankan:
    sudo iptables -L -v

    Di sini, -L opsi digunakan untuk membuat daftar semua aturan, dan -v adalah untuk menampilkan info dalam format yang lebih detail. Di bawah ini adalah contoh outputnya:

    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

Anda sekarang akan menginstal firewall Linux. Pada titik ini, Anda dapat melihat bahwa semua rantai disetel ke TERIMA dan tidak memiliki aturan. Ini tidak aman karena paket apa pun dapat masuk tanpa penyaringan.

Jangan khawatir. Kami akan memberi tahu Anda cara mendefinisikan aturan pada langkah berikutnya dari tutorial iptables kami.

Langkah 2 – Mendefinisikan Aturan Rantai

Mendefinisikan aturan berarti menambahkannya ke rantai. Untuk melakukan ini, Anda perlu memasukkan -A opsi (Tambahkan ) tepat setelah perintah iptables, seperti:

sudo iptables -A

Ini akan mengingatkan iptables bahwa Anda menambahkan aturan baru ke rantai. Kemudian, Anda dapat menggabungkan perintah dengan opsi lain, seperti:

  • -i (antarmuka ) — antarmuka jaringan yang lalu lintasnya ingin Anda filter, seperti eth0, lo, ppp0, dll.
  • -p (protokol ) — protokol jaringan tempat proses pemfilteran Anda berlangsung. Itu bisa berupa tcp , udp , udplite , icmp , sctp , icmpv6 , dan seterusnya. Atau, Anda dapat mengetik semua untuk memilih setiap protokol.
  • -s (sumber ) — alamat asal lalu lintas. Anda dapat menambahkan nama host atau alamat IP.
  • –dport (pelabuhan tujuan ) — nomor port tujuan suatu protokol, seperti 22 (SSH ), 443 (https ), dll.
  • -j (target ) — nama target (TERIMA , JARANG , KEMBALIKAN ). Anda harus memasukkan ini setiap kali membuat aturan baru.

Jika Anda ingin menggunakan semuanya, Anda harus menulis perintah dalam urutan ini:

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

Setelah Anda memahami sintaks dasar, Anda dapat mulai mengonfigurasi firewall untuk memberikan keamanan lebih pada server Anda. Untuk tutorial iptables ini, kita akan menggunakan INPUT rantai sebagai contoh.

Mengaktifkan Lalu Lintas di Localhost

Untuk mengizinkan lalu lintas di localhost, ketik perintah ini:

sudo iptables -A INPUT -i lo -j ACCEPT

Untuk tutorial iptables ini, kami menggunakan lo atau putar balik antarmuka. Ini digunakan untuk semua komunikasi di localhost. Perintah di atas akan memastikan bahwa koneksi antara database dan aplikasi web pada mesin yang sama berfungsi dengan baik.

Mengaktifkan Koneksi pada HTTP, SSH, dan Port SSL

Selanjutnya, kami ingin http (port 80 ), https (pelabuhan 443 ), dan ssh (pelabuhan 22 ) koneksi untuk bekerja seperti biasa. Untuk melakukan ini, kita perlu menentukan protokol (-p ) dan port yang sesuai (–dport ). Anda dapat menjalankan perintah ini satu per satu:

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

Saatnya untuk memeriksa apakah aturan telah ditambahkan di iptables:

sudo iptables -L -v

Ini harus kembali dengan hasil di bawah yang berarti semua koneksi protokol TCP dari port yang ditentukan akan diterima:

Memfilter Paket Berdasarkan Sumber

Iptables memungkinkan Anda untuk memfilter paket berdasarkan alamat IP atau rentang alamat IP. Anda harus menentukannya setelah -s pilihan. Misalnya, untuk menerima paket dari 192.168.1.3 , perintahnya adalah:

sudo iptables -A INPUT -s 192.168.1.3 -j ACCEPT

Anda juga dapat menolak paket dari alamat IP tertentu dengan mengganti ACCEPT targetkan dengan TURUN .

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

Jika Anda ingin menghapus paket dari rentang alamat IP, Anda harus menggunakan -m opsi dan iprange modul. Kemudian, tentukan rentang alamat IP dengan –src-range . Ingat, tanda hubung harus memisahkan rentang alamat ip tanpa spasi, seperti ini:

sudo iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j DROP

Menurunkan Semua Lalu Lintas Lainnya

Sangat penting untuk menggunakan DROP target untuk semua lalu lintas lainnya setelah menentukan –dport aturan. Ini akan mencegah koneksi yang tidak sah mengakses server melalui port terbuka lainnya. Untuk mencapai ini, cukup ketik:

sudo iptables -A INPUT -j DROP

Sekarang, koneksi di luar port yang ditentukan akan terputus.

Menghapus Aturan

Jika Anda ingin menghapus semua aturan dan memulai dengan awal yang bersih, Anda dapat menggunakan -F opsi (flush ):

sudo iptables -F

Perintah ini menghapus semua aturan saat ini. Namun, untuk menghapus aturan tertentu, Anda harus menggunakan opsi -D. Pertama, Anda perlu melihat semua aturan yang tersedia dengan memasukkan perintah berikut:

sudo iptables -L --line-numbers

Anda akan mendapatkan daftar aturan dengan angka:

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination

1    ACCEPT     all -- 192.168.0.4          anywhere
2    ACCEPT     tcp -- anywhere             anywhere tcp dpt:https
3    ACCEPT     tcp -- anywhere             anywhere tcp dpt:http
4    ACCEPT     tcp -- anywhere             anywhere tcp dpt:ssh

Untuk menghapus aturan, masukkan rantai yang sesuai dan nomor dari daftar. Katakanlah untuk tutorial iptables ini, kami ingin menyingkirkan aturan nomor tiga dari INPUT rantai. Perintahnya harus:

sudo iptables -D INPUT 3

Langkah 3 – Perubahan yang Berlanjut

Aturan iptables yang telah kita buat disimpan di memori. Itu berarti kita harus mendefinisikan ulang mereka saat reboot. Untuk membuat perubahan ini tetap ada setelah memulai ulang server, Anda dapat menggunakan perintah ini:

sudo /sbin/iptables-save

Ini akan menyimpan aturan saat ini pada file konfigurasi sistem, yang akan digunakan untuk mengkonfigurasi ulang tabel setiap kali server melakukan boot ulang.

Perhatikan bahwa Anda harus selalu menjalankan perintah ini setiap kali Anda membuat perubahan pada aturan. Misalnya, jika Anda ingin menonaktifkan iptables, Anda perlu menjalankan dua baris ini:

sudo iptables -F
sudo /sbin/iptables-save

Anda akan melihat hasil berikut:

Kesimpulan

Iptables adalah program firewall yang kuat yang dapat Anda gunakan untuk mengamankan server Linux atau VPS Anda. Hebatnya, Anda dapat menentukan berbagai aturan berdasarkan preferensi Anda.

Dalam tutorial iptables ini, Anda telah mempelajari cara menginstal dan menggunakan alat ini. Sekarang, kami harap Anda dapat mengelola kumpulan aturan untuk memfilter paket masuk dan keluar.

Saatnya untuk mengujinya sendiri dan semoga berhasil!


Ubuntu
  1. Siapkan Wadah Linux dengan LXC di Ubuntu 16.04

  2. Adaptor Tampilan Usb Dengan Driver Linux/ubuntu?

  3. Bagaimana Kami Mengganti Iptables Dengan Firewalld Di Ubuntu 16.04?

  1. Konfigurasi Firewall menggunakan Iptables di Ubuntu 14.04

  2. Cara Mengatur Firewall dengan iptables di Ubuntu dan CentOS

  3. Mengamankan VPS berbasis Ubuntu/Debian Anda menggunakan firewall IPTABLES/Netfilter

  1. Tutorial Perintah Ping Linux dengan Contoh

  2. Tutorial Iptables:Panduan Utama untuk Firewall Linux

  3. Cara Mengatur Firewall dengan UFW di Ubuntu 18.04