iptables

Ubuntu Ubuntu Cara Mengawal Trafik Rangkaian Menggunakan iptables?

Ubuntu Ubuntu Cara Mengawal Trafik Rangkaian Menggunakan iptables?
“… A utiliti Unix ruang pengguna yang memberi pentadbir sistem keupayaan untuk mengkonfigurasi peraturan penyaringan paket IP yang dilaksanakan oleh modul penapis bersih Kernel." Iptables bertindak sebagai firewall menggunakan peraturan penyaringan paket berdasarkan pelbagai kriteria seperti alamat IP, port, dan protokol.

Panduan ini akan membincangkan cara mengkonfigurasi dan menggunakan peraturan iptables pada sistem Ubuntu untuk mengamankan rangkaian anda. Sama ada anda pengguna Linux pemula atau pentadbir sistem berpengalaman, dari panduan ini, dan dalam satu atau lain cara, anda akan mempelajari sesuatu yang berguna mengenai iptables.

Iptables sudah terpasang di Ubuntu dan sebilangan besar pengedaran berasaskan Debian. Ubuntu juga membungkus firewall GUFW, alternatif grafik yang boleh anda gunakan untuk bekerja dengan iptables.

NOTA: Untuk menggunakan dan mengkonfigurasi iptables, anda memerlukan hak istimewa sudo pada sistem anda. Anda boleh mengetahui lebih lanjut mengenai sudo dari tutorial berikut.

Sekarang anda tahu apa itu Iptables, mari kita selami!

Cara Menggunakan iptables untuk Mengurus Trafik IPv4?

Untuk menggunakan Iptables untuk rangkaian dan pengurusan trafik IPv4, anda perlu memahami perkara berikut:

Perintah Iptables

Iptables menawarkan pilihan pilihan yang membolehkan anda menyesuaikan dan menyesuaikan peraturan iptables anda. Mari kita bincangkan beberapa parameter ini dan lihat apa yang dilakukannya.

NOTA: Anda boleh mengkonfigurasi sekumpulan peraturan yang menguruskan subset tertentu, yang dikenali sebagai rantai iptables.

Parameter Iptables

Sebelum kita mula membuat dan mengkonfigurasi peraturan iptables, marilah kita terlebih dahulu memahami asas-asas iptables, seperti sintaks umum dan argumen lalai.

Pertimbangkan arahan di bawah:

sudo iptables -I INPUT -s 192.168.0.24-j HABIS

Perintah di atas memberitahu iptables untuk membuat peraturan dalam rantai. Peraturan menjatuhkan semua paket dari alamat IP 192.168.0.24.

Mari kita periksa perintah, baris demi baris, untuk memahaminya dengan lebih baik.

Iptables menawarkan pilihan parameter yang boleh anda gunakan untuk mengkonfigurasi pelbagai peraturan. Pelbagai parameter yang dapat anda gunakan untuk mengkonfigurasi peraturan iptables meliputi:

Parameter peraturan Iptables Penerangan
-s-sumber Tentukan sumbernya, yang dapat berupa alamat, nama host, atau nama rangkaian.
-p -protokol Menentukan protokol sambungan; contohnya, TCP, UDP, dll.
-d-penentuan Menentukan tujuan, yang boleh berupa alamat, nama rangkaian, atau nama host.
-j -jump Menetapkan tindakan yang akan dilakukan oleh iptables setelah menemui sebungkus.
-antara muka o-out Menetapkan antara muka di mana iptable menghantar paket.
-antara muka i -in Menetapkan antara muka yang digunakan untuk membuat paket rangkaian.
-c -set-pembilang Membolehkan pentadbir menetapkan bait dan pembilang paket untuk peraturan yang ditentukan.
-rantaian g -goto Parameter menetapkan bahawa pemprosesan harus diteruskan dalam rantai set pengguna setelah kembali.
-f -fragmen Memberitahu iptables untuk menerapkan peraturan hanya pada pecahan kedua dan seterusnya dari pecahan paket.

Pilihan Iptables

Perintah iptables menyokong pelbagai pilihan. Beberapa perkara biasa termasuk:

Pilihan Penerangan
-A -menambah Menambah peraturan di hujung rantai yang ditentukan
-D-hapus Mengeluarkan peraturan dari rantai yang ditentukan
-F -flush Membuang semua peraturan, satu demi satu
-L-senarai Menunjukkan semua peraturan dalam rantai yang ditentukan
-Saya-masukkan Memasukkan peraturan ke dalam rantai yang ditentukan (diteruskan sebagai nombor, apabila tidak ada nombor yang ditentukan; peraturan akan ditambahkan di bahagian atas)
-C-semak Pertanyaan untuk pemadanan peraturan; keperluan dalam peraturan yang ditentukan
-v -verbose Memaparkan lebih banyak maklumat apabila digunakan dengan parameter -L
-N-rantai baru Menambah rangkaian pengguna baru
-X -hapus-rantai Mengeluarkan rantai yang ditentukan pengguna tertentu

Jadual Iptables

Kernel Linux mempunyai jadual lalai yang menempatkan sekumpulan peraturan yang berkaitan. Jadual lalai ini mempunyai sekumpulan rantai lalai, tetapi pengguna dapat menyesuaikan aturan dengan menambahkan aturan yang ditentukan pengguna.

NOTA: Jadual lalai akan sangat bergantung pada konfigurasi Kernel anda dan modul yang dipasang.

Berikut adalah jadual iptables lalai:

Jadual Penapis

Jadual penapis adalah jadual lalai yang mengandungi rantai yang digunakan untuk penyaringan paket rangkaian. Beberapa rantai lalai dalam jadual ini termasuk:

Rantai Penerangan
Masukan Iptables menggunakan rantai ini untuk sebarang paket masuk ke sistem, i.e., paket pergi ke soket rangkaian tempatan.
Pengeluaran Iptables menggunakan rantai output untuk paket yang dihasilkan secara tempatan, i.e., paket keluar dari sistem.
Ke hadapan Rantai ini adalah apa yang digunakan oleh Iptables untuk paket yang diarahkan atau diteruskan melalui sistem.

2: Jadual NAT

NAT atau Network Address Table adalah peranti penghala yang digunakan untuk mengubah sumber dan menargetkan alamat IP dalam paket rangkaian. Penggunaan utama jadual NAT adalah menghubungkan dua rangkaian dalam rangkaian alamat peribadi dengan rangkaian awam.

NAT dikembangkan untuk menyokong penyamaran alamat IP sebenar, yang memungkinkan alamat IP peribadi dari menjangkau rangkaian luar. Ini membantu melindungi perincian mengenai rangkaian dalaman daripada didedahkan di rangkaian awam.

Jadual NAT digunakan apabila paket memulakan sambungan baru.

Iptables mempunyai jadual lalai untuk pengalamatan NAT. Jadual ini mempunyai tiga rantai utama:

Rantai Penerangan
PENYEDIAAN Membolehkan pengubahsuaian maklumat paket sebelum tiba di rantai INPUT-digunakan untuk paket masuk
PENGELUARAN Dicadangkan untuk paket yang dibuat secara tempatan, i.e., sebelum routing rangkaian berlaku
POSTROUTING Membolehkan pengubahsuaian paket keluar- Paket meninggalkan rantai OUTPUT

Gambar rajah di bawah menunjukkan gambaran keseluruhan tahap tinggi proses ini.

Gunakan arahan di bawah untuk melihat jadual Routing NAT anda.

iptables -t nat -n -v -L

3: Jadual Mangle

Meja mangle terutama digunakan untuk pengubahsuaian khas paket. Secara sederhana, ia digunakan untuk mengubah tajuk IP paket rangkaian. Pengubahsuaian paket boleh merangkumi mengubah nilai TTL paket, mengubah jaringan yang sah untuk paket, dll.

Jadual mengandungi rantai lalai berikut:

Rantai Penerangan
PENYEDIAAN Ditempah untuk paket masuk
POSTROUTING Digunakan untuk paket keluar
INPUT Digunakan untuk paket yang masuk terus ke pelayan
PENGELUARAN Digunakan untuk paket tempatan
Ke hadapan Dicadangkan untuk paket yang disalurkan melalui sistem

4: Jadual Mentah

Tujuan utama jadual mentah adalah untuk mengkonfigurasi pengecualian untuk paket yang tidak dimaksudkan untuk dikendalikan oleh sistem penjejakan. Jadual mentah menetapkan tanda NOTRACK pada paket, mendorong ciri conntrack untuk mengabaikan paket.

Conntrack adalah fitur jaringan kernel Linux yang memungkinkan kernel Linux untuk melacak semua sambungan jaringan, memungkinkan kernel untuk mengidentifikasi paket yang membentuk aliran jaringan.

Meja mentah mempunyai dua rantai utama:

Rantai Penerangan
PENYEDIAAN Dicadangkan untuk paket yang diterima oleh antara muka rangkaian
PENGELUARAN Dipesan untuk paket yang dimulakan oleh proses tempatan

5: Jadual Keselamatan

Penggunaan utama jadual ini adalah menetapkan mekanisme keselamatan Peningkatan Keselamatan dalaman untuk Linux (SELinux) yang menandakan pada paket. Tanda keselamatan boleh digunakan setiap sambungan atau paket.

Ini digunakan untuk peraturan Pengawalan Akses Mandatori dan merupakan tabel kedua yang diakses setelah tabel saringan. Ia menawarkan rantai lalai berikut:

Rantai Penerangan
INPUT Dicadangkan untuk paket masuk ke sistem
PENGELUARAN Digunakan untuk paket buatan tempatan
KE DEPAN Digunakan untuk paket yang disalurkan melalui sistem

Setelah melihat Iptables lalai, mari kita melangkah lebih jauh dan membincangkan cara bekerja dengan peraturan iptables.

Cara Bekerja dengan Peraturan iptables?

Peraturan Iptables diterapkan dalam urutan menaik. Ini bermaksud bahawa peraturan pertama dalam kumpulan tertentu diterapkan terlebih dahulu, diikuti oleh aturan kedua, kemudian ketiga, dan seterusnya, hingga yang terakhir.

Oleh kerana fungsi ini, iptables menghalang anda untuk menambah peraturan dalam satu set menggunakan parameter -A; anda mesti menggunakan -I, diikuti dengan nombor atau dengan mengosongkannya untuk ditambahkan ke bahagian atas senarai.

Memaparkan Iptables

Untuk melihat iptables anda, gunakan perintah iptables -L -v untuk IPv4 dan ip6tables -L -v untuk IPv6.

Memasukkan Peraturan

Untuk memasukkan peraturan dalam satu set, anda mesti meletakkannya dalam urutan yang tepat, dengan mematuhi peraturan yang digunakan oleh rantai yang sama. Anda boleh melihat senarai peraturan iptables anda dengan arahan seperti yang dibincangkan di atas:

sudo iptables -L -v

Sebagai contoh, untuk memasukkan peraturan yang membenarkan sambungan masuk ke port 9001 melalui TCP, kita perlu menentukan nombor peraturan ke rantai INPUT yang mematuhi peraturan lalu lintas untuk web.

sudo iptables -I INPUT 1 -p TCP --dport 9001 -m state --state BARU -j MENERIMA

Sebaik sahaja anda melihat iptables semasa, anda akan melihat peraturan baru dalam set.

sudo iptables -L -v

Mengganti Peraturan

Fungsi ganti berfungsi sama untuk memasukkan, namun, ia menggunakan perintah iptables -R. Sebagai contoh, untuk mengubah peraturan di atas dan menetapkan port 9001 untuk ditolak, kami:

sudo iptables -R INPUT 1 -p TCP --dport 9001 -m state --state BARU -j REJECT

Memadamkan Peraturan

Untuk memadam peraturan, kami memberikan nombor peraturan. Sebagai contoh, untuk menghapus peraturan di atas, kita dapat menentukan sebagai:

sudo iptables -D INPUT 1

Di kebanyakan distro Linux, iptables kosong untuk IPv4 dan IPv6. Oleh itu, jika anda belum menambahkan peraturan baru, anda akan mendapat output yang serupa dengan yang ditunjukkan di bawah. Itu berisiko kerana ini bermaksud sistem membenarkan semua lalu lintas masuk, keluar, dan diarahkan.

Mari kita ketahui cara mengkonfigurasi iptables:

Cara Mengkonfigurasi iptables?

Terdapat banyak cara untuk mengkonfigurasi peraturan iptables. Bahagian ini menggunakan contoh untuk menunjukkan kepada anda cara menetapkan peraturan menggunakan alamat dan port IP.

Menyekat dan Membolehkan Lalu Lintas oleh Pelabuhan

Anda boleh menggunakan port tertentu untuk menyekat atau membenarkan semua lalu lintas di antara muka rangkaian. Pertimbangkan contoh berikut:

sudo iptables -A INPUT -j ACCEPT -p TCP -destination-port 1001 -i wlan0

Perintah di atas membenarkan lalu lintas di port 1001 TCP pada antara muka wlan0.

sudo iptables -A INPUT -j DROP -p TCP -destination-port 1001 -i wlan0

Perintah ini melakukan kebalikan dari perintah di atas kerana ia menyekat semua lalu lintas di port 1001 di wlan0.

Berikut adalah pemeriksaan rapi arahan:

NOTA: Iptables tidak memahami alias antara muka rangkaian. Oleh itu, dalam sistem dengan lebih daripada satu antara muka Maya, anda perlu menentukan alamat tujuan secara manual dan eksplisit.

Sebagai contoh:

sudo iptables -A INPUT -j DROP -p TCP -destination-port 1001 -i wlan0 -d 192.168.0.24

Alamat IP senarai putih & senarai hitam

Anda boleh membuat peraturan firewall menggunakan iptables. Salah satu contohnya adalah dengan menghentikan semua lalu lintas dan membenarkan lalu lintas rangkaian dari alamat IP eksplisit sahaja.

Contoh:

iptables -SATU INPUT -m -state DILAYAN, BERKAITAN -j MENERIMA
iptables -A INPUT -i komen lo -m --komentar "Benarkan sambungan loopback" -j MENERIMA
iptables -A INPUT -p icmp -m komen --komentar "Benarkan Ping berfungsi seperti yang diharapkan" -j

TERIMA

iptables -A INPUT -s 192.168.0.1/24 -j TERIMA
iptables -A INPUT -s 192.168.0.0 -j TERIMA
iptables -P INPUT DROP
iptables -P KEHADIRAN HUJUNG

Baris pertama menetapkan peraturan untuk membenarkan semua alamat IP sumber di 192.168.0.Subnet 1/24. Anda juga boleh menggunakan alamat IP CIDR atau individu. Dalam perintah berikut, kami menetapkan peraturan untuk membolehkan semua lalu lintas disambungkan ke sambungan yang ada. Dalam arahan terakhir, kami menetapkan polisi untuk INPUT dan FORWARD untuk menjatuhkan semua.

Menggunakan iptables di IPv6

Perintah Iptables hanya berfungsi di IPv4. Untuk menggunakan iptables di IPv6, anda harus menggunakan perintah ip6tables. Ip6tables menggunakan jadual mentah, penapis, keselamatan, dan mangle. Sintaks umum untuk ip6tables mirip dengan iptables, dan ia juga menyokong pilihan iptables yang sepadan seperti append, delete, dll.

Pertimbangkan untuk menggunakan halaman manual ip6tables untuk maklumat lebih lanjut.

Contoh Set Peraturan iptables Untuk Keselamatan Rangkaian

Membuat peraturan firewall yang sesuai bergantung terutamanya pada perkhidmatan yang dijalankan pada sistem dan port yang digunakan. Walau bagaimanapun, berikut adalah beberapa peraturan konfigurasi rangkaian asas yang boleh anda gunakan untuk mengamankan sistem anda:

1: Benarkan lalu lintas antara muka Loopback dan tolak semua loopback yang berasal dari antara muka lain

iptables -A INPUT -i lo -j MENERIMA (Anda juga boleh menggunakan ip6tables)
iptables -PASARAN ! -i-127.0.0.0 -j REJECT (ip6tabel juga berlaku)

2: Menolak semua permintaan ping

iptables -A INPUT -p icmp -m state --state BARU --icmp-type 8 -j REJECT

3: Benarkan sambungan SSH

iptables -A INPUT -p tcp --dport 22 -m state --state BARU -j MENERIMA

Ini adalah contoh arahan yang boleh anda gunakan untuk mengamankan sistem anda. Walau bagaimanapun, konfigurasi akan sangat bergantung pada apa atau siapa yang anda mahu mengakses pelbagai perkhidmatan.

AWAS: Sekiranya anda lebih suka menonaktifkan IPv6 sepenuhnya, pastikan untuk melepaskan talian kerana ini akan melambatkan proses kemas kini:

didahului :: ffff: 0: 0/96 100 terdapat di / etc / gai.pengesahan .

Ini kerana pengurus pakej APT menyelesaikan domain cermin di IPv6 kerana kemas kini apt-get.

Cara Menggunakan Peraturan iptables?

Untuk menggunakan iptables anda di Ubuntu atau sistem berasaskan Debian lain, mulailah dengan membuat dua fail, ip4 dan ip6, untuk alamat IP masing-masing.

Dalam kedua-dua fail tersebut, tambahkan aturan yang ingin Anda tetapkan dalam aturan yang sesuai-aturan IPv4 ke file ip4 dan peraturan IPv6 ke file ip6.

Seterusnya, kita perlu mengimport peraturan menggunakan perintah:

sudo iptables-restore < /tmp/ip4 (replace filename for IPv6)

Kemudian, anda boleh mengesahkan apakah peraturan tersebut berlaku menggunakan perintah:

sudo iptables -L -v

Panduan berterusan iptables

Ubuntu, dan pengedaran berasaskan Debian biasa, dilengkapi dengan pakej berterusan iptables yang membolehkan anda menerapkan peraturan firewall dengan mudah semasa reboot. Pakej ini menyediakan fail yang boleh anda gunakan untuk menetapkan peraturan untuk IPv4 atau IPv6 dan dapat digunakan secara automatik semasa boot.

Anda juga boleh menggunakan peraturan firewall menggunakan UFW atau GUFW. Pertimbangkan tutorial berikut untuk mempelajari cara menggunakan UFW.

Cara Memasang iptables-berterusan?

Pastikan anda memasang iptables-persistent pada sistem anda. Gunakan dpkg untuk memeriksa apakah pakej anda sudah dipasang.

Sekiranya tidak, gunakan arahan berikut:

sudo apt-get install iptables-berterusan

Anda akan diminta dua kali untuk menyimpan kedua-dua peraturan IPv4 dan IPv6 semasa anda. Klik Ya untuk menyimpan kedua-dua peraturan.

Klik ya untuk menyimpan IPv6.

Setelah pemasangan selesai, sahkan bahawa anda mempunyai subdirektori iptables, seperti yang ditunjukkan dalam gambar di bawah.

Sekarang anda boleh menggunakan peraturan.v4 dan peraturan.v6 untuk menambahkan peraturan iptables, dan ia akan diterapkan secara automatik oleh iptables-persistent. Failnya adalah fail teks ringkas yang dapat anda edit dengan mudah menggunakan penyunting teks pilihan anda.

Kesimpulannya

Dalam tutorial ini, kami telah membahas asas-asas iptables. Bermula dengan bekerja dengan iptables, perintah asas, jadual iptables lalai, dan parameter.

Dari apa yang anda pelajari, anda seharusnya dapat menggunakan iptables untuk membuat peraturan firewall yang membantu melindungi sistem anda.

Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...