Biar Nggak Gaptek-Gaptek Amat, Yuk Mampir
Teknologi Emang Ribet, Untungnya Ada yang Baca Duluan
Kabar IT yang Bikin Puyeng, Disaring Biar Enak Dicerna
Ngulik Gadget & AI Tanpa Bikin Kepala Muter
Update Teknologi, Anti Bikin Bengong

Kabar Tech News & startup terkini, biar nggak ketinggalan info

Perkembangan Artificial Intelligence yang bakal ngubah cara kerja kita

Dunia Software gerak cepat, jangan sampai ketinggalan kereta

Review Hardware & Gadget terbaru, biar nggak salah beli

Rekomendasi & kabar Gaming buat kamu yang doyan ngegas

Cari Laptop & Perangkat? Ini pilihan yang beneran worth it

Biar nggak kena zonk, amankan diri pake Security yang beneran ampuh

Urusan Networking jadi gampang kalau ngerti dasarnya

IPTables di Linux Server

Menyetel IPTables di Linux adalah salah satu langkah penting untuk meningkatkan keamanan server. Berikut adalah panduan langkah demi langkah untuk mengonfigurasi IPTables:

1. Cek Status IPTables

Sebelum mulai, cek apakah IPTables sudah terinstal dan berjalan.


sudo iptables -L -v -n

Keterangan:

-L: Menampilkan semua aturan.

-v: Mode verbose, menunjukkan detail.

-n: Tidak mencoba memecahkan nama host/IP.

2. Membersihkan Aturan Lama

Pastikan memulai dari kondisi bersih.

sudo iptables -F          # Hapus semua aturan di tabel filter

sudo iptables -X          # Hapus semua chain yang didefinisikan user

sudo iptables -Z          # Reset semua hitungan paket

3. Menentukan Kebijakan Default

Atur kebijakan default untuk chain utama (INPUT, FORWARD, dan OUTPUT).

sudo iptables -P INPUT DROP    # Menolak semua koneksi masuk

sudo iptables -P FORWARD DROP  # Menolak semua koneksi forwarding

sudo iptables -P OUTPUT ACCEPT # Mengizinkan semua koneksi keluar

Catatan: Gunakan kebijakan ketat (DROP) sebagai default untuk keamanan.

4. Mengizinkan Koneksi Dasar

Izinkan koneksi penting seperti loopback, koneksi yang sudah ada, dan ping.

sudo iptables -A INPUT -i lo -j ACCEPT                           # Izinkan loopback

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT  # Izinkan koneksi yang ada

sudo iptables -A INPUT -p icmp -j ACCEPT                         # Izinkan ping

5. Membuka Port Tertentu

Untuk mengizinkan layanan tertentu, tambahkan aturan membuka port.

Contoh:

HTTP (Port 80):

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

HTTPS (Port 443):

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

SSH (Port 22):

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

Custom Port: Ganti --dport <nomor-port> sesuai kebutuhan Anda.


6. Membatasi Akses SSH

Untuk keamanan, Anda bisa membatasi akses SSH hanya dari IP tertentu.

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

Ganti 192.168.1.100 dengan IP yang diizinkan.


7. Menyimpan Aturan

Setelah selesai, simpan konfigurasi agar tetap ada setelah reboot.

sudo apt install iptables-persistent

sudo netfilter-persistent save

sudo netfilter-persistent reload

CentOS/RHEL:

sudo service iptables save

sudo systemctl restart iptables

8. Mengecek Aturan Aktif

Lihat kembali aturan yang sudah diterapkan.

sudo iptables -L -v -n --line-numbers

9. Menghapus Aturan Tertentu

Jika ada aturan yang salah, Anda bisa menghapusnya berdasarkan nomor baris.

sudo iptables -D INPUT <nomor-baris>

Ganti <nomor-baris> dengan nomor yang diperoleh dari perintah sebelumnya.

10. Mengaktifkan Log Firewall (Opsional)

Untuk mencatat koneksi yang ditolak, tambahkan aturan logging.

sudo iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

Log akan disimpan di /var/log/syslog atau /var/log/messages.

Contoh Konfigurasi Sederhana

Berikut adalah konfigurasi sederhana untuk server web:

sudo iptables -F

sudo iptables -P INPUT DROP

sudo iptables -P FORWARD DROP

sudo iptables -P OUTPUT ACCEPT

sudo iptables -A INPUT -i lo -j ACCEPT

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

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

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

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

sudo iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: "


Dengan pengaturan di atas, server Anda akan lebih aman dari serangan tidak terduga. Jangan lupa untuk terus belajar dan eksperimen dengan skenario nyata! 😊