iptables

Ubuntu Iptables Cara Mengontrol Lalu Lintas Jaringan Menggunakan iptables?

Ubuntu Iptables Cara Mengontrol Lalu Lintas Jaringan Menggunakan iptables?
"… SEBUAH Utilitas Unix ruang pengguna yang memberi administrator sistem kemampuan untuk mengonfigurasi aturan penyaringan paket IP yang diterapkan oleh modul filter bersih Kernel.” Iptables bertindak sebagai firewall menggunakan aturan penyaringan paket berdasarkan berbagai kriteria seperti alamat IP, port, dan protokol.

Panduan ini akan membahas cara mengkonfigurasi dan menggunakan aturan iptables pada sistem Ubuntu untuk mengamankan jaringan Anda. Baik Anda pengguna Linux pemula atau administrator sistem berpengalaman, dari panduan ini, dan dalam satu atau lain cara, Anda akan mempelajari sesuatu yang berguna tentang iptables.

Iptables sudah diinstal sebelumnya di Ubuntu dan sebagian besar distribusi berbasis Debian. Ubuntu juga mengemas firewall GUFW, alternatif grafis yang dapat Anda gunakan untuk bekerja dengan iptables.

CATATAN: Untuk menggunakan dan mengonfigurasi iptables, Anda memerlukan hak sudo di sistem Anda. Anda dapat mempelajari lebih lanjut tentang sudo dari tutorial berikut.

Sekarang setelah Anda tahu apa itu Iptables, mari selami!

Cara Menggunakan iptables untuk Mengelola Lalu Lintas IPv4?

Untuk menggunakan Iptables untuk jaringan IPv4 dan manajemen lalu lintas, Anda perlu memahami hal berikut:

Perintah Iptables

Iptables menawarkan pilihan opsi yang memungkinkan Anda untuk menyesuaikan dan menyetel aturan iptables Anda. Mari kita bahas beberapa parameter ini dan lihat apa yang mereka lakukan.

CATATAN: Anda dapat mengonfigurasi seperangkat aturan yang mengelola subset tertentu, yang dikenal sebagai rantai iptables.

Parameter Iptables

Sebelum kita mulai membuat dan mengonfigurasi aturan iptables, mari kita pahami dulu dasar-dasar iptables, seperti sintaks umum dan argumen default.

Perhatikan perintah di bawah ini:

sudo iptables -I INPUT -s 192.168.0.24 -j DROP

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

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

Iptables menawarkan pilihan parameter yang dapat Anda gunakan untuk mengonfigurasi berbagai aturan. Berbagai parameter yang dapat Anda gunakan untuk mengonfigurasi aturan iptables meliputi:

Parameter aturan Iptables Deskripsi
-s -sumber Tentukan sumbernya, yang dapat berupa alamat, nama host, atau nama jaringan.
-p -protokol Menentukan protokol koneksi; misalnya, TCP, UDP, dll.
-d -tujuan Menentukan tujuan, yang dapat berupa alamat, nama jaringan, atau nama host.
-j -lompat Mengatur tindakan yang harus dilakukan iptables setelah menemukan paket.
-o -out-interface Mengatur antarmuka di mana iptable mengirim paket.
-saya -dalam-antarmuka Mengatur antarmuka yang digunakan untuk membuat paket jaringan.
-c -set-counter Memungkinkan administrator untuk mengatur penghitung byte dan paket untuk aturan tertentu.
-g -goto rantai Parameter menentukan bahwa pemrosesan harus dilanjutkan dalam rantai yang ditetapkan pengguna setelah kembali.
-f -fragmen Memberitahu iptables untuk menerapkan aturan hanya pada fragmen kedua dan berikutnya dari paket yang terfragmentasi.

Opsi Iptables

Perintah iptables mendukung berbagai pilihan. Beberapa yang umum termasuk:

Pilihan Deskripsi
--tambahkan Menambahkan aturan ke akhir rantai tertentu
-D -hapus Menghapus aturan dari rantai yang ditentukan
-F -flush Menghapus semua aturan, satu per satu
-L -daftar Menampilkan semua aturan dalam rantai yang ditentukan
-saya -masukkan Menyisipkan aturan ke dalam rantai yang ditentukan (diberikan sebagai angka, ketika tidak ada angka yang ditentukan; aturan ditambahkan di bagian atas)
-C -periksa Kueri untuk pencocokan aturan; persyaratan dalam aturan tertentu
-v -verbose Menampilkan lebih banyak detail saat digunakan dengan parameter -L
-N -rantai baru Menambahkan rantai baru yang ditentukan pengguna
-X -hapus-rantai Menghapus rantai yang ditentukan pengguna tertentu

Tabel Iptables

Kernel Linux memiliki tabel default yang menampung seperangkat aturan terkait. Tabel default ini memiliki serangkaian rantai default, tetapi pengguna dapat menyesuaikan aturan dengan menambahkan aturan yang ditentukan pengguna.

CATATAN: Tabel default akan sangat bergantung pada konfigurasi Kernel Anda dan modul yang diinstal.

Berikut adalah tabel iptables default:

1: Tabel Filter

Tabel filter adalah tabel default yang berisi rantai yang digunakan untuk penyaringan paket jaringan. Beberapa rantai default dalam tabel ini meliputi:

Rantai Deskripsi
Memasukkan Iptables menggunakan rantai ini untuk setiap paket yang masuk ke sistem, mis.e., paket masuk ke soket jaringan lokal.
Keluaran Iptables menggunakan rantai keluaran untuk paket yang dihasilkan secara lokal, yaitu.e., paket keluar dari sistem.
Meneruskan Rantai inilah yang digunakan Iptables untuk paket yang dirutekan atau diteruskan melalui sistem.

2: Tabel NAT

NAT atau Tabel Alamat Jaringan adalah perangkat perutean yang digunakan untuk mengubah alamat IP sumber dan target dalam paket jaringan network. Penggunaan utama tabel NAT adalah menghubungkan dua jaringan dalam rentang alamat pribadi dengan jaringan publik.

NAT dikembangkan untuk mendukung penyamaran alamat IP asli, memungkinkan rentang alamat IP pribadi dari menjangkau jaringan luar. Ini membantu melindungi detail tentang jaringan internal agar tidak terungkap di jaringan publik.

Tabel NAT digunakan ketika sebuah paket memulai koneksi baru.

Iptables memiliki tabel default untuk pengalamatan NAT. Tabel ini memiliki tiga rantai utama:

Rantai Deskripsi
PREROUTING Memungkinkan modifikasi informasi paket sebelum tiba di rantai INPUT yang digunakan untuk paket masuk incoming
KELUARAN Dicadangkan untuk paket yang dibuat secara lokal, mis.e., sebelum perutean jaringan terjadi
POSTROUTING Memungkinkan modifikasi paket keluar - Paket meninggalkan rantai OUTPUT

Diagram di bawah ini menunjukkan gambaran tingkat tinggi dari proses ini.

Gunakan perintah di bawah ini untuk melihat tabel Perutean NAT Anda.

iptables -t nat -n -v -L

3: Meja Mangle

Tabel mangle terutama digunakan untuk modifikasi paket khusus. Secara sederhana, ini digunakan untuk memodifikasi header IP dari paket jaringan. Modifikasi paket dapat mencakup mengubah nilai TTL paket, mengubah hop jaringan yang valid untuk sebuah paket, dll.

Tabel berisi rantai default berikut:

Rantai Deskripsi
PREROUTING Dicadangkan untuk paket yang masuk
POSTROUTING Digunakan untuk paket keluar
MEMASUKKAN Digunakan untuk paket yang datang langsung ke server
KELUARAN Digunakan untuk paket lokal
Meneruskan Dicadangkan untuk paket yang dirutekan melalui sistem

4: Tabel Mentah

Tujuan utama tabel mentah adalah untuk mengonfigurasi pengecualian untuk paket yang tidak dimaksudkan untuk ditangani oleh sistem pelacakan. Tabel mentah menetapkan tanda NOTRACK pada paket, mendorong fitur conntrack untuk mengabaikan paket.

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

Tabel mentah memiliki dua rantai utama:

Rantai Deskripsi
PREROUTING Dicadangkan untuk paket yang diterima oleh antarmuka jaringan
KELUARAN Dicadangkan untuk paket yang diprakarsai oleh proses lokal

5: Tabel Keamanan

Penggunaan utama tabel ini adalah mengatur mekanisme keamanan Peningkatan Keamanan untuk Linux (SELinux) internal yang ditandai pada paket. Tanda keamanan dapat diterapkan per koneksi atau paket.

Ini digunakan untuk aturan Kontrol Akses Wajib dan merupakan tabel kedua yang diakses setelah tabel filter. Ini menawarkan rantai default berikut:

Rantai Deskripsi
MEMASUKKAN Dicadangkan untuk paket yang masuk ke sistem
KELUARAN Digunakan untuk paket yang dibuat secara lokal
MENERUSKAN Digunakan untuk paket yang dirutekan melalui sistem

Setelah melihat Iptables default, mari melangkah lebih jauh dan membahas cara bekerja dengan aturan iptables.

Cara Bekerja dengan Aturan iptables?

Aturan Iptables diterapkan dalam urutan menaik. Ini berarti bahwa aturan pertama dalam himpunan tertentu diterapkan terlebih dahulu, diikuti oleh yang kedua, lalu ketiga, dan seterusnya, sampai yang terakhir.

Karena fungsi ini, iptables mencegah Anda menambahkan aturan dalam set menggunakan parameter -A; Anda harus menggunakan -I, diikuti dengan nomor atau dengan mengosongkannya untuk menambahkan ke bagian atas daftar.

Menampilkan Iptables

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

Memasukkan Aturan

Untuk memasukkan aturan dalam satu set, Anda harus memposisikannya dalam urutan yang tepat, dengan menghormati aturan yang digunakan oleh rantai yang sama same. Anda dapat melihat daftar aturan iptables Anda dengan perintah seperti yang dibahas di atas:

sudo iptables -L -v

Misalnya, untuk menyisipkan aturan yang mengizinkan koneksi masuk ke port 9001 melalui TCP, kita perlu menentukan nomor aturan ke rantai INPUT yang mengikuti aturan lalu lintas untuk web.

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

Setelah Anda melihat iptables saat ini, Anda akan melihat aturan baru di set.

sudo iptables -L -v

Mengganti Aturan

Fungsi ganti bekerja sama dengan menyisipkan, namun, ia menggunakan perintah iptables -R. Misalnya, untuk mengubah aturan di atas dan menyetel port 9001 untuk ditolak, kami:

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

Menghapus Aturan

Untuk menghapus aturan, kami melewati nomor aturan. Misalnya, untuk menghapus aturan di atas, kita dapat menentukan sebagai:

sudo iptables -D INPUT 1

Di sebagian besar distro Linux, iptables kosong untuk IPv4 dan IPv6. Oleh karena itu, jika Anda belum menambahkan aturan baru, Anda akan mendapatkan output yang mirip dengan yang ditunjukkan di bawah ini. Itu berisiko karena itu berarti sistem mengizinkan semua lalu lintas masuk, keluar, dan dialihkan.

Mari simak cara mengkonfigurasi iptables:

Cara Mengkonfigurasi iptables?

Ada banyak cara untuk mengkonfigurasi aturan iptables. Bagian ini menggunakan contoh untuk menunjukkan kepada Anda cara menetapkan aturan menggunakan alamat IP dan port.

Memblokir dan Mengizinkan Lalu Lintas berdasarkan Port

Anda dapat menggunakan port tertentu untuk memblokir atau mengizinkan semua lalu lintas pada antarmuka jaringan. Perhatikan contoh berikut:

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

Perintah di atas memungkinkan lalu lintas pada port 1001 TCP pada antarmuka wlan0.

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

Perintah ini melakukan kebalikan dari perintah di atas karena memblokir semua lalu lintas di port 1001 di wlan0.

Berikut pemeriksaan dekat dari perintah:

CATATAN: Iptables tidak mengerti alias antarmuka jaringan. Jadi, dalam sistem dengan lebih dari satu antarmuka Virtual, 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

Daftar putih & daftar hitam alamat IP

Anda dapat membuat aturan firewall menggunakan iptables. Salah satu contohnya adalah dengan menghentikan semua lalu lintas dan mengizinkan lalu lintas jaringan hanya dari alamat IP eksplisit.

Contoh:

iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -i lo -m comment --comment "Izinkan koneksi loopback" -j ACCEPT
iptables -A INPUT -p icmp -m comment --comment "Izinkan Ping bekerja seperti yang diharapkan" -j

MENERIMA

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 FORWARD DROP

Baris pertama menetapkan aturan untuk mengizinkan semua alamat IP sumber di 192.168.0.1/24 subjaringan. Anda juga dapat menggunakan CIDR atau alamat IP individu. Dalam perintah berikut, kami menetapkan aturan untuk mengizinkan semua lalu lintas terhubung ke koneksi yang ada. Dalam perintah terakhir, kami menetapkan kebijakan untuk INPUT dan FORWARD untuk menghapus semua.

Menggunakan iptables di IPv6

Perintah Iptables hanya berfungsi di IPv4. Untuk menggunakan iptables di IPv6, Anda harus menggunakan perintah ip6tables. Ip6tables menggunakan tabel mentah, filter, keamanan, dan mangle. Sintaks umum untuk ip6tables mirip dengan iptables, dan juga mendukung opsi iptables yang cocok seperti menambahkan, menghapus, dll.

Pertimbangkan untuk menggunakan halaman manual ip6tables untuk informasi lebih lanjut.

Contoh Aturan iptables Untuk Keamanan Jaringan

Membuat aturan firewall yang sesuai terutama akan bergantung pada layanan yang berjalan pada sistem dan port yang digunakan. Namun, berikut adalah beberapa aturan konfigurasi jaringan dasar yang dapat Anda gunakan untuk mengamankan sistem Anda:

1: Izinkan lalu lintas antarmuka Loopback dan tolak semua loopback yang berasal dari antarmuka lain

iptables -A INPUT -i lo -j ACCEPT (Anda juga dapat menggunakan ip6tables)
iptables -A INPUT ! -saya suka -s 127.0.0.0 -j REJECT (ip6tables juga berlaku)

2: Tolak semua permintaan ping

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

3: Izinkan koneksi SSH

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

Ini adalah contoh perintah yang dapat Anda gunakan untuk mengamankan sistem Anda. Namun, konfigurasinya akan sangat bergantung pada apa atau siapa yang Anda inginkan untuk mengakses berbagai layanan.

HATI HATI: Jika Anda lebih suka menonaktifkan IPv6 sepenuhnya, pastikan untuk menghapus komentar pada baris karena ini akan memperlambat proses pembaruan:

diutamakan ::ffff:0:0/96 100 ditemukan di /etc/gai.konf .

Itu karena manajer paket APT menyelesaikan domain cermin di IPv6 karena pembaruan apt-get.

Cara Menyebarkan Aturan iptables?

Untuk menyebarkan iptables Anda di Ubuntu atau sistem berbasis Debian lainnya, mulailah dengan membuat dua file, ip4 dan ip6, untuk alamat IP masing-masing.

Di salah satu file, tambahkan aturan yang ingin Anda terapkan dalam file yang sesuai - aturan IPv4 ke file ip4 dan aturan IPv6 ke file ip6.

Selanjutnya, kita perlu mengimpor aturan menggunakan perintah:

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

Kemudian, Anda dapat memverifikasi apakah aturan telah diterapkan menggunakan perintah:

sudo iptables -L -v

Panduan cepat iptables-persisten

Ubuntu, dan distribusi umum berbasis Debian, hadir dengan paket iptables-persistent yang memungkinkan Anda menerapkan aturan firewall dengan mudah saat reboot. Paket ini menyediakan file yang dapat Anda gunakan untuk menetapkan aturan untuk IPv4 atau IPv6 dan dapat diterapkan secara otomatis saat boot.

Anda juga dapat menggunakan aturan firewall menggunakan UFW atau GUFW. Pertimbangkan tutorial berikut untuk mempelajari cara menggunakan UFW.

Cara Menginstal iptables-persistent?

Pastikan Anda telah menginstal iptables-persistent di sistem Anda. Gunakan dpkg untuk memeriksa apakah Anda sudah menginstal paket.

Jika tidak, gunakan perintah berikut:

sudo apt-get install iptables-persistent

Anda akan diminta dua kali untuk menyimpan aturan IPv4 dan IPv6 Anda saat ini. Klik Ya untuk menyimpan kedua aturan.

Klik ya untuk menyimpan IPv6.

Setelah instalasi selesai, verifikasi bahwa Anda memiliki subdirektori iptables, seperti yang ditunjukkan pada gambar di bawah ini.

Sekarang Anda dapat menggunakan aturan.v4 dan aturan.v6 untuk menambahkan aturan iptables, dan aturan tersebut akan diterapkan secara otomatis oleh iptables-persistent. File adalah file teks sederhana yang dapat Anda edit dengan mudah menggunakan editor teks pilihan Anda text.

Kesimpulan

Dalam tutorial ini, kami telah membahas dasar-dasar iptables. Dimulai dengan bekerja dengan iptables, perintah dasar, tabel iptables default, dan parameter.

Dari apa yang telah Anda pelajari, Anda seharusnya dapat menggunakan iptables untuk membuat aturan firewall yang membantu mengamankan sistem Anda.

Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...
Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...