GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial Iptables:Panduan Utama untuk Firewall Linux

Pendahuluan

Semua sistem operasi modern dilengkapi dengan firewall – aplikasi perangkat lunak yang mengatur lalu lintas jaringan ke komputer. Firewall menciptakan penghalang antara jaringan tepercaya (seperti jaringan kantor) dan jaringan tidak tepercaya (seperti internet). Firewall bekerja dengan mendefinisikan aturan yang mengatur lalu lintas mana yang diizinkan, dan mana yang diblokir. Firewall utilitas yang dikembangkan untuk sistem Linux adalah iptables .

Dalam tutorial ini, pelajari cara menginstal iptables, mengkonfigurasi, dan menggunakan iptables di Linux.

Prasyarat

  • Akun pengguna dengan sudo hak istimewa
  • Akses ke jendela terminal/baris perintah (Ctrl-Alt-T, Ctrl-Alt-F2)

Cara Kerja iptables

Lalu lintas jaringan terdiri dari paket-paket. Data dipecah menjadi bagian-bagian yang lebih kecil (disebut paket), dikirim melalui jaringan, kemudian disatukan kembali. Iptables mengidentifikasi paket yang diterima dan kemudian menggunakan seperangkat aturan untuk memutuskan apa yang harus dilakukan dengan paket tersebut.

Iptables menyaring paket berdasarkan:

  • Tabel: Tabel adalah file yang menggabungkan tindakan serupa. Sebuah tabel terdiri dari beberapa rantai .
  • Rantai: Rantai adalah rangkaian aturan . Ketika sebuah paket diterima, iptables menemukan tabel yang sesuai, kemudian menjalankannya melalui rantai aturan sampai menemukan kecocokan.
  • Aturan: Aturan adalah pernyataan yang memberi tahu sistem apa yang harus dilakukan dengan sebuah paket. Aturan dapat memblokir satu jenis paket, atau meneruskan jenis paket lainnya. Hasilnya, di mana sebuah paket dikirim, disebut target .
  • Target: Target adalah keputusan tentang apa yang harus dilakukan dengan sebuah paket. Biasanya, ini untuk menerima, melepaskan, atau menolaknya (yang mengirimkan kesalahan kembali ke pengirim).

Tabel dan Rantai

Linux firewall iptables memiliki empat tabel default. Kami akan mencantumkan keempatnya bersama dengan rantai yang ada di setiap tabel.

1. Filter

Filter meja adalah yang paling sering digunakan. Ini bertindak sebagai penjaga, memutuskan siapa yang masuk dan keluar dari jaringan Anda. Ini memiliki rantai default berikut:

  • Masukan – aturan dalam rantai ini mengontrol paket yang diterima oleh server.
  • Keluaran – rantai ini mengontrol paket untuk lalu lintas keluar.
  • Maju – kumpulan aturan ini mengontrol paket yang dirutekan melalui server.

2. Terjemahan Alamat Jaringan (NAT)

Tabel ini berisi aturan NAT (Network Address Translation) untuk merutekan paket ke jaringan yang tidak dapat diakses secara langsung. Ketika tujuan atau sumber paket harus diubah, tabel NAT digunakan. Ini mencakup rantai berikut:

  • Perutean awal – rantai ini memberikan paket segera setelah server menerimanya.
  • Keluaran – bekerja sama seperti rantai keluaran yang kami jelaskan di filter tabel.
  • Memposting – aturan dalam rantai ini memungkinkan membuat perubahan pada paket setelah mereka meninggalkan rantai keluaran.

3. Guling

Mangle tabel menyesuaikan properti header IP dari paket. Tabel memiliki semua rantai berikut yang kami jelaskan di atas:

  • Perutean sebelumnya
  • Memposting
  • Keluaran
  • Masukan
  • Maju

4. Mentah

Mentah tabel digunakan untuk mengecualikan paket dari pelacakan koneksi. Tabel mentah memiliki dua rantai yang kami sebutkan sebelumnya:

  • Perutean sebelumnya
  • Keluaran

5. Keamanan (Opsional)

Beberapa versi Linux juga menggunakan Keamanan tabel untuk mengelola aturan akses khusus. Tabel ini mencakup masukan, keluaran, dan maju rantai, seperti tabel filter.

Target

Target adalah apa yang terjadi setelah paket cocok dengan kriteria aturan. Tidak berhenti target tetap mencocokkan paket dengan aturan dalam rantai bahkan ketika paket cocok dengan aturan.

Dengan mengakhiri target, paket dievaluasi segera dan tidak dicocokkan dengan rantai lain. Target penghentian di iptables Linux adalah:

  • Terima – aturan ini menerima paket yang datang melalui firewall iptables.
  • Lepaskan – paket yang dijatuhkan tidak cocok dengan rantai selanjutnya. Ketika iptables Linux menjatuhkan koneksi masuk ke server Anda, orang yang mencoba terhubung tidak menerima kesalahan. Tampaknya mereka mencoba menyambung ke mesin yang tidak ada.
  • Kembalikan – aturan ini mengirimkan paket kembali ke rantai asal sehingga Anda dapat mencocokkannya dengan aturan lain.
  • Tolak – firewall iptables menolak paket dan mengirimkan kesalahan ke perangkat penghubung.

Cara Menginstal dan Mengonfigurasi Linux Firewall iptables

Menginstal Iptables Ubuntu

Iptables diinstal secara default pada sebagian besar sistem Linux. Untuk mengonfirmasi bahwa iptables telah diinstal, gunakan perintah berikut:

sudo apt-get install iptables

Contoh keluaran di Ubuntu mengonfirmasi bahwa versi terbaru iptables sudah ada:

Jika Anda ingin mempertahankan aturan firewall iptables saat Anda mem-boot ulang sistem, instal paket persisten:

sudo apt-get install iptables-persistent

Menginstal Iptables CentOS

Di CentOS 7 , iptables digantikan oleh firewalld .

Untuk menginstal iptables, pertama-tama Anda harus menghentikan firewalld. Masukkan perintah berikut:

sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask firewalld

Perintah berhenti dan mencegah firewalld memulai saat boot, dan tidak membiarkan layanan lain memulai firewalld.

Selanjutnya, instal dan aktifkan iptables. Pertama, instal paket layanan iptables dengan perintah berikut:

sudo yum -y install iptables-services

Paket ini mempertahankan aturan Anda setelah sistem di-boot ulang. Informasi yang ditampilkan di bawah ini mengonfirmasi bahwa penginstalan telah selesai:

Masukkan perintah berikut untuk mengaktifkan dan memulai iptables di CentOS 7:

sudo systemctl enable iptables
sudo systemctl start iptables

Perintah status mengkonfirmasi status aplikasi:

sudo systemctl status iptables

Sintaks Dasar untuk Perintah dan Opsi iptables

Secara umum, perintah iptables terlihat sebagai berikut:

sudo iptables [option] CHAIN_rule [-j target]

Berikut adalah daftar beberapa opsi iptables yang umum:

  • -A --append – Tambahkan aturan ke rantai (di akhir).
  • -C --check – Cari aturan yang cocok dengan persyaratan rantai.
  • -D --delete – Hapus aturan tertentu dari rantai.
  • -F --flush – Hapus semua aturan.
  • -I --insert – Tambahkan aturan ke rantai pada posisi tertentu.
  • -L --list – Tampilkan semua aturan dalam sebuah rantai.
  • -N -new-chain – Buat rantai baru.
  • -v --verbose – Tampilkan lebih banyak informasi saat menggunakan opsi daftar.
  • -X --delete-chain – Hapus rantai yang disediakan.

Iptables peka huruf besar/kecil, jadi pastikan Anda menggunakan opsi yang benar.

Konfigurasi iptables di Linux

Secara default, perintah ini memengaruhi filter meja. Jika Anda perlu menentukan tabel yang berbeda, gunakan –t pilihan, diikuti dengan nama tabel.

Periksa Status iptables Saat Ini

Untuk melihat kumpulan aturan saat ini di server Anda, masukkan yang berikut ini di jendela terminal:

sudo iptables -L

Sistem menampilkan status rantai Anda. Output akan mencantumkan tiga rantai:

Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

Aktifkan Lalu Lintas Loopback

Aman untuk mengizinkan lalu lintas dari sistem Anda sendiri (host lokal). Tambahkan Masukan rantai dengan memasukkan berikut ini:

sudo iptables -A INPUT -i lo -j ACCEPT

Perintah ini mengonfigurasi firewall untuk menerima lalu lintas untuk localhost (lo ) antarmuka (-i ). Sekarang apa pun yang berasal dari sistem Anda akan melewati firewall Anda. Anda perlu menyetel aturan ini untuk mengizinkan aplikasi berbicara dengan antarmuka localhost.

Izinkan Lalu Lintas di Port Tertentu

Aturan ini mengizinkan lalu lintas di port yang berbeda Anda tentukan menggunakan perintah yang tercantum di bawah ini. Port adalah titik akhir komunikasi yang ditentukan untuk jenis data tertentu.

Untuk mengizinkan lalu lintas web HTTP, masukkan perintah berikut:

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

Untuk mengizinkan hanya lalu lintas SSH (Secure Shell) yang masuk, masukkan berikut ini:

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

Untuk mengizinkan lalu lintas internet HTTPS, masukkan perintah berikut:

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

Opsi berfungsi sebagai berikut:

  • -p – Periksa protokol yang ditentukan (tcp ).
  • --dport – Tentukan port tujuan.
  • -j jump – Ambil tindakan yang ditentukan.

Kontrol Lalu Lintas berdasarkan Alamat IP

Gunakan perintah berikut untuk MENERIMA lalu lintas dari alamat IP tertentu.

sudo iptables -A INPUT -s 192.168.0.27 -j ACCEPT

Ganti alamat IP pada perintah dengan alamat IP yang ingin Anda izinkan.

Anda juga dapat MENGHENTIKAN lalu lintas dari alamat IP:

sudo iptables -A INPUT -s 192.168.0.27 -j DROP

Anda dapat MENOLAK lalu lintas dari berbagai alamat IP, tetapi perintahnya lebih rumit:

sudo iptables -A INPUT -m iprange --src-range 192.168.0.1-192.168.0.255 -j REJECT

Opsi iptables yang kami gunakan dalam contoh berfungsi sebagai berikut:

  • -m – Cocokkan dengan opsi yang ditentukan.
  • -iprange – Beri tahu sistem untuk mengharapkan rentang alamat IP, bukan hanya satu.
  • --src-range – Mengidentifikasi kisaran alamat IP.

Menurunkan Lalu Lintas yang Tidak Diinginkan

Jika Anda mendefinisikan dport aturan firewall iptables, Anda perlu mencegah akses tidak sah dengan menjatuhkan lalu lintas apa pun yang datang melalui port lain:

sudo iptables -A INPUT -j DROP

-A opsi menambahkan aturan baru ke rantai. Jika ada koneksi yang datang melalui port selain yang Anda tetapkan, koneksi tersebut akan diputus.

Menghapus Aturan

Anda dapat menggunakan -F opsi untuk menghapus semua aturan firewall iptables. Metode yang lebih tepat adalah menghapus nomor baris aturan.

Pertama, buat daftar semua aturan dengan memasukkan yang berikut ini:

sudo iptables -L --line-numbers

Temukan baris aturan firewall yang ingin Anda hapus dan jalankan perintah ini:

sudo iptables -D INPUT <Number>

Ganti <Nomor> dengan nomor baris aturan aktual yang ingin Anda hapus.

Simpan Perubahan Anda

Iptables tidak menyimpan aturan yang Anda buat saat sistem di-boot ulang. Setiap kali Anda mengonfigurasi iptables di Linux, semua perubahan yang Anda buat hanya berlaku hingga restart pertama.

Untuk menyimpan aturan dalam sistem berbasis Debian, masukkan:

sudo /sbin/iptables–save

Untuk menyimpan aturan dalam sistem berbasis Red-Hat, masukkan:

sudo /sbin/service iptables save

Saat berikutnya sistem Anda dimulai, iptables akan secara otomatis memuat ulang aturan firewall.


Ubuntu
  1. Linux Firewall

  2. Linux – Perutean Melalui Iptables?

  3. Cara Masuk Linux IPTables Firewall Menjatuhkan Paket ke File Log

  1. Variabel Lingkungan Jenkins:Panduan Utama

  2. Linux IPTables:Cara Menambahkan Aturan Firewall (Dengan Contoh Izinkan SSH)

  3. Layanan OS Linux 'iptables'

  1. Tutorial Iptables – Mengamankan VPS Ubuntu dengan Linux Firewall

  2. Cara Mengkonfigurasi Firewall iptables Di Linux

  3. Cara Membuat File di Sistem Linux:Panduan Utama