GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Iptables Blok IP

Hari ini kami akan menunjukkan cara memblokir alamat ip menggunakan iptables. Dalam artikel berikut, kami menambahkan daftar hitam ke skrip firewall yang memungkinkan Anda memblokir alamat IP yang menyalahgunakan atau rentang IP di Debian Anda. atau Ubuntu berbasis server virtual. Iptables adalah program aplikasi ruang pengguna yang memungkinkan administrator sistem untuk mengkonfigurasi tabel yang disediakan oleh firewall kernel Linux (diimplementasikan sebagai modul Netfilter yang berbeda ) dan rantai serta aturan yang disimpannya. Memblokir alamat IP menggunakan iptables adalah tugas yang cukup mudah dan tidak lebih dari 5 menit.

Sebelum melangkah lebih jauh, pastikan Anda membaca tutorial tentang cara mengamankan/mendesain firewall di vps linux Anda. Ini termasuk:

  • Menghapus aturan firewall lama
  • Menentukan port layanan
  • Menyiapkan kebijakan default
  • Menyiapkan aturan firewall Anda
  • Menyimpan aturan firewall Anda

Blokir IP Menggunakan iptables

Untuk memblokir beberapa alamat IP yang menyalahgunakan atau rentang IP, Anda dapat menggunakan iptables berikut aturan:

## iptables -I INPUT -s 1.2.3.4 -j DROP
## iptables -I INPUT -s 1.2.0.0/16 -j DROP

Membuat Daftar Hitam di iptables

Untuk keterbacaan dan pemeliharaan yang lebih baik, adalah ide yang baik untuk memiliki semua IP yang menyalahgunakan dalam satu file tertentu, misalnya /etc/blacklist.ips . Dengan cara ini, Anda dapat menambahkan alamat IP atau subnet dalam file ini (satu IP atau subnet per baris ) dan gunakan fwall-rules skrip di bawah ini untuk memblokir apa pun yang tercantum dalam file ini.

Jadi, buat atau edit /usr/local/bin/fwall-rules dan buat sebagai berikut:

#!/bin/bash
#
# iptables firewall script
# https://www.rosehosting.com
#

IPTABLES=/sbin/iptables
BLACKLIST=/etc/blacklist.ips

echo " * flushing old rules"
${IPTABLES} --flush
${IPTABLES} --delete-chain
${IPTABLES} --table nat --flush
${IPTABLES} --table nat --delete-chain

echo " * setting default policies"
${IPTABLES} -P INPUT DROP
${IPTABLES} -P FORWARD DROP
${IPTABLES} -P OUTPUT ACCEPT

echo " * allowing loopback devices"
${IPTABLES} -A INPUT -i lo -j ACCEPT
${IPTABLES} -A OUTPUT -o lo -j ACCEPT

${IPTABLES} -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
${IPTABLES} -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## BLOCK ABUSING IPs HERE ##
#echo " * BLACKLIST"
#${IPTABLES} -A INPUT -s _ABUSIVE_IP_ -j DROP
#${IPTABLES} -A INPUT -s _ABUSIVE_IP2_ -j DROP

echo " * allowing ssh on port 5622"
${IPTABLES} -A INPUT -p tcp --dport 5622  -m state --state NEW -j ACCEPT

echo " * allowing ftp on port 21"
${IPTABLES} -A INPUT -p tcp --dport 21  -m state --state NEW -j ACCEPT

echo " * allowing dns on port 53 udp"
${IPTABLES} -A INPUT -p udp -m udp --dport 53 -j ACCEPT

echo " * allowing dns on port 53 tcp"
${IPTABLES} -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT

echo " * allowing http on port 80"
${IPTABLES} -A INPUT -p tcp --dport 80  -m state --state NEW -j ACCEPT

echo " * allowing https on port 443"
${IPTABLES} -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

echo " * allowing smtp on port 25"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT

echo " * allowing submission on port 587"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 587 -j ACCEPT

echo " * allowing imaps on port 993"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 993 -j ACCEPT

echo " * allowing pop3s on port 995"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 995 -j ACCEPT

echo " * allowing imap on port 143"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT

echo " * allowing pop3 on port 110"
${IPTABLES} -A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT

echo " * allowing ping responses"
${IPTABLES} -A INPUT -p ICMP --icmp-type 8 -j ACCEPT

# DROP everything else and Log it
${IPTABLES} -A INPUT -j LOG
${IPTABLES} -A INPUT -j DROP

#
# Block abusing IPs 
# from ${BLACKLIST}
#
if [[ -f "${BLACKLIST}" ]] && [[ -s "${BLACKLIST}" ]]; then
    echo " * BLOCKING ABUSIVE IPs"
    while read IP; do
        ${IPTABLES} -I INPUT -s "${IP}" -j DROP
    done < <(cat "${BLACKLIST}")
fi

#
# Save settings
#
echo " * SAVING RULES"

if [[ -d /etc/network/if-pre-up.d ]]; then
    if [[ ! -f /etc/network/if-pre-up.d/iptables ]]; then
        echo -e "#!/bin/bash" > /etc/network/if-pre-up.d/iptables
        echo -e "test -e /etc/iptables.rules && iptables-restore -c /etc/iptables.rules" >> /etc/network/if-pre-up.d/iptables
        chmod +x /etc/network/if-pre-up.d/iptables
    fi
fi

iptables-save > /etc/fwall.rules
iptables-restore -c /etc/fwall.rules

pastikan skrip dapat dieksekusi dengan menambahkan bit 'x' ke dalamnya:

## chmod +x /usr/local/bin/fwall-rules

Menerapkan Aturan

Untuk menerapkan aturan firewall dan memblokir pelaku, Anda hanya perlu menjalankan fwall-rules skrip dan hanya itu.

## fwall-rules
 * flushing old rules
 * setting default policies
 * allowing loopback devices
 * allowing ssh on port 5622
 * allowing ftp on port 21
 * allowing dns on port 53 udp
 * allowing dns on port 53 tcp
 * allowing http on port 80
 * allowing https on port 443
 * allowing smtp on port 25
 * allowing submission on port 587
 * allowing imaps on port 993
 * allowing pop3s on port 995
 * allowing imap on port 143
 * allowing pop3 on port 110
 * allowing ping responses
 * BLOCKING ABUSIVE IPs
 * SAVING RULES

Tentu saja Anda tidak perlu memblokir alamat IP menggunakan iptables, jika Anda menggunakan salah satu layanan hosting VPS Linux kami, dalam hal ini Anda dapat meminta admin linux ahli kami untuk memblokir alamat IP apa pun untuk Anda. Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.

PS. Jika Anda menyukai posting ini tentang cara memblokir alamat IP menggunakan iptables, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.


Panels
  1. Cara memblokir alamat IP di server Linux

  2. Pengenalan iptables

  3. Fail2Ban Howto:Memblokir Alamat IP Menggunakan Fail2ban dan IPTables

  1. Cara memblokir alamat palsu lokal menggunakan firewall Linux

  2. Kiat untuk konfigurasi iptables yang aman untuk bertahan dari serangan. (sisi klien!)

  3. Konfigurasikan IPTables pada host KVM untuk memblokir lalu lintas jembatan tamu

  1. Cara memblokir alamat IP di server Linux

  2. Host virtual Nginx – Blok server Nginx

  3. Blokir rentang IP dari negara-negara dengan GeoIP dan iptables