Artikel ini memberikan beberapa informasi dasar tentang cara menggunakan iptables
perangkat lunak firewall. Firewall ini adalah solusi firewall default untuk distribusi berbasis Red Hat® Enterprise Linux® (RHEL®) 6 dan CentOS® 6.
Catatan :Langkah-langkah dalam artikel ini tidak dimaksudkan untuk digunakan pada server RackConnect®. Jika Anda perlu membuat perubahan pada firewall Anda di server RackConnect, Anda perlu menggunakan Pengelola Firewall Khusus.
Prasyarat
Anda harus memiliki prasyarat berikut:
- Pemahaman dasar tentang SecureShell® (SSH)
- Sudo atau akses administratif ke server Anda
- Server Cloud non-RackConnect yang menjalankan RHEL 6 atau CentOS 6.
Apa itu "iptables" dan bagaimana cara kerjanya?
iptables
adalah solusi firewall perangkat lunak Linux default. Dengan menggunakan modul kernel netfilter, iptables
dapat menangani lalu lintas jaringan yang masuk dan keluar. iptables
menggunakan rantai aturan yang dikonfigurasi sebagai bagian dari tabel di server. Tabel mengelompokkan rantai serupa yang menyelesaikan tugas tertentu.
Tabel, rantai, dan aturan
Setiap tabel memiliki satu set rantai default. Artikel ini mengacu pada filter tabel, yang berisi INPUT , MAJU , dan OUTPUT rantai. Aturan dalam rantai ini dibaca dan diproses dari atas ke bawah.
-
MASUKKAN :Rantai ini menangani lalu lintas masuk yang ditujukan untuk server.
-
MAJU :Rantai ini menangani lalu lintas yang datang ke server tetapi ditujukan untuk perangkat lain.
-
OUTPUT :Rantai ini digunakan untuk paket keluar yang berasal dari server.
Target, tindakan, dan filter
Tabel berikut menunjukkan beberapa target dan tindakan dasar di iptables
ketika lalu lintas dikirim ke server:
Nama | Deskripsi |
---|---|
TERIMA | Lalu lintas diterima, dan tidak ada aturan lebih lanjut yang diproses. |
HAPUS | Paket diblokir, dan tidak ada aturan lebih lanjut yang diproses. Tidak ada tanggapan yang dikirim ke pengirim. |
LOG | Informasi paket dicatat di server, dan iptables melanjutkan aturan pemrosesan. |
TOLAK | Mirip dengan paket DROP, tetapi mengirimkan respons ke pengirim. |
Filter | Apa fungsinya |
---|---|
-p (protocol) | Protokol paket. Protokol yang ditentukan dapat berupa salah satu dari tcp , udp , icmp , atau kata kunci khusus all . |
-s, --source | Alamat IP sumber paket. |
-d --destination | Tujuan paket. |
-sport | Port sumber yang cocok. |
-dport | Port tujuan yang akan dicocokkan. |
-i | Antarmuka paket diterima. |
Anatomi aturan
Aturan berikut adalah contoh dari iptables
aturan:
iptables -I INPUT -i eth0 -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT
Dalam contoh ini, lalu lintas yang berasal dari alamat IP sumber, 192.168.1.1
, di atas tcp
protokol diterima di eth0
antarmuka di port tujuan 22
. Aturan ini ditambahkan ke bagian atas INPUT
rantai.
Bagaimana cara kerja aturan "iptables"?
Salah satu cara untuk membatasi lalu lintas jaringan masuk dan keluar di server adalah dengan menerapkan aturan firewall. Pada server RHEL atau CentOS 6, solusi firewall perangkat lunak default adalah iptables
. iptables
memungkinkan Anda untuk mengatur konfigurasi yang mirip dengan firewall khusus yang berjalan di server Anda. Anda mengonfigurasi aturan ini dalam CHAIN
tergantung aturannya. Artikel ini membahas INPUT
chain, yang merupakan rantai default untuk menerima lalu lintas melalui iptables
.
Aktifkan dan periksa status “iptables”
Sebelum Anda menambahkan aturan baru di iptables
, Anda harus memverifikasi bahwa layanan berjalan dan mencantumkan aturan saat ini.
Untuk memeriksa status iptables
, jalankan perintah berikut:
service iptables status
Anda akan mendapatkan output yang menunjukkan bahwa layanan tersebut Active
di server. Jika tidak, Anda dapat memulai layanan dengan service iptables start
perintah.
Setelah layanan dimulai, Anda dapat membuat daftar aturan dengan menggunakan perintah berikut:
iptables -L
Jika Anda belum mengonfigurasi aturan apa pun, hasilnya akan terlihat seperti contoh berikut:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
contoh "iptables"
Contoh berikut menunjukkan beberapa aturan di iptables
dan fungsinya dalam iptables
.
MASUKKAN versus TAMBAHKAN
Dengan iptables
, -I
flag menyisipkan aturan ke bagian atas rantai yang dipilih, dan -A
flag menambahkan aturan baru ke bagian bawah rantai yang dipilih. Ini penting karena aturan dibaca dari atas ke bawah. Oleh karena itu, jika ada aturan di atas yang memblokir semua lalu lintas masuk dan Anda menggunakan -A
untuk menambahkan aturan yang menerima lalu lintas dari IP, aturan yang Anda tambahkan diblokir oleh aturan pertama. Anda harus mempertimbangkan konfigurasi untuk menentukan apakah -A
atau -I
adalah pilihan yang lebih baik untuk perubahan yang dibuat di server. Selalu tinjau aturan saat ini sebelum membuat perubahan.
Aturan yang baik adalah menambahkan semua aturan yang berakhiran drop dan menyisipkan semua aturan yang menerima paket.
Contoh perintah | Apa fungsinya |
---|---|
iptables -L | Perintah ini mencantumkan semua iptables aturan. |
iptables -L --line-numbers | Perintah ini mencantumkan semua iptables aturan dan memberikan nomor baris oleh setiap aturan. |
iptables -D INPUT 2 | Bila digunakan bersama dengan iptables -L --line-numbers , perintah ini menghapus aturan kedua di INPUT rantai. Ini adalah metode terbaik untuk memastikan aturan yang benar dihapus. |
iptables -A INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j DROP | Aturan ini menurunkan lalu lintas pada port 22 dari IP sumber melalui rantai INPUT melalui TCP. Aturan ini ditambahkan ke bagian atas rantai INPUT. |
iptables -A INPUT -s 12.345.67.89 -j DROP | Aturan ini menghapus semua koneksi masuk dari IP sumber. Contoh ini ditambahkan ke bagian atas INPUT rantai. |
iptables -D INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT | Perintah ini menghapus aturan yang ditentukan dari INPUT meja. Anda dapat menggunakan -D tandai dengan rantai atau aturan apa pun, tetapi sebaiknya hapus dengan nomor baris seperti yang ditunjukkan di atas. |
iptables -I INPUT -m tcp -p tcp -s 12.345.67.89 --dport=22 -j ACCEPT | Aturan ini menerima lalu lintas pada port 22 dari IP sumber melalui INPUT rantai melalui TCP. Aturan ini disisipkan ke INPUT rantai. |
iptables -I INPUT -s 12.345.67.89 -j ACCEPT | Aturan ini menerima semua koneksi masuk dari IP sumber melalui protokol apa pun pada port apa pun. Aturan ini disisipkan ke INPUT rantai. |
service iptables save | Secara default, iptables tidak memberikan ketekunan. Perintah ini memungkinkan Anda untuk menyimpan aturan. |
service iptables reload | Perintah ini memuat ulang layanan iptables untuk memungkinkan pemrosesan aturan baru. |
Bacaan lebih lanjut
Artikel ini hanya menyentuh dasar-dasar iptables
. Ada beberapa tugas dan aturan lain yang dapat Anda konfigurasikan untuk membatasi akses ke server Anda. Untuk informasi lebih lanjut tentang iptables
, Anda dapat meninjau man
halaman untuk iptables di iptables - halaman manual Linux.