Pengertian ICMP
Protokol ICMP (Internet Control Message Protocol) digunakan untuk mengirim pesan kesalahan dan operasi jaringan. Fungsi umumnya sebagai cara untuk mengetahui jaringan itu terhubung atau tidak, bisa menggunakan ping dan traceroute. Meskipun berguna, protokol ini juga dijadikan penyalahgunaan dalam beberapa skenario keamanan. Oleh karena itu, beberapa Network Administrator memilih untuk memblokir atau membatasi ICMP demi keamanan jaringan server atau WEB mereka.
Fungsi memblokir protokol ICMP
1. Mencegah Serangan Ping Flood
Serangan Ping Flood adalah jenis Denial of Service (DoS) dimana penyerang mengirimkan paket yang besar ICMP Echo Request (ping) ke server atau perangkat target yang bisa membebani bandwidth dan sumber daya CPU, sehingga membuat server atau WEB down.
2. Menghindari Network Mapping
Protokol ICMP sering digunakan oleh penyerang untuk melakukan pemetaan jaringan (network scanning) menggunakan alat seperti Nmap. Dengan ICMP, penyerang dapat memetakan topologi jaringan, menemukan perangkat aktif, dan mengidentifikasi port yang terbuka.
3. Mengurangi Paparan Informasi Jaringan
ICMP memberikan informasi penting seperti TTL (Time to Live) dan MTU (Maximum Transmission Unit), yang dapat dimanfaatkan attacker untuk menganalisa lebih lanjut. Dengan memblokir protokol ICMP bisa mengurangi informasi yang tersedia untuk pihak luar.
4. Meningkatkan Keamanan Web Server
Server web sering menjadi target serangan ICMP untuk melakukan serangan DDoS. Dengan memblokir ICMP pada server atau firewall, bisa mencegah percobaan ping yang tidak diinginkan ke server ataupun Website.
Apakah Memblokir ICMP Selalu Diperlukan?
Meskipun pemblokiran ICMP dapat meningkatkan keamanan, ini juga dapat menyebabkan masalah lain. Beberapa aplikasi jaringan dan alat troubleshooting seperti ping dan traceroute membutuhkan ICMP untuk berfungsi. Oleh karena itu, penting untuk menyeimbangkan antara keamanan dan kebutuhan operasional jaringan.
Blokir ICMP menggunakan iptables
1. Melihat daftar aturan menggunakan perintah
iptables -L -v -n
Gambar dibawah menunjukkan aturanya masih kosong, dan masih bisa ping ke dalam IP server (192.168.23.23)
2. Kemudian kita blok ICMP menggunakan perintah :
iptables -A INPUT -p icmp --icmp-type echo-request -d 192.168.23.23 -j DROP
*sesuaikan dengan IP server
3. Cek apakah aturan blok ICMP sudah berhasil
4. Jika sudah kita jalankan tes ping ke IP server
Blokir ICMP menggunakan firewalld
1. Aktifkan service firewalld menggunakan perintah
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo systemctl status firewalld
2. Tambahkan aturan untuk blok ICMP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.23.23" protocol value="icmp" drop'
3. Restart firewalld
systemctl restart firewalld
4. Kemudian cek apakah aturan blok ICMP sudah berhasil
f irewall-cmd –list-all
5. Jika aturan sudah berhasil, maka paket ICMP yang masuk akan ditolak oleh server, dan seakan-akan WEB tersebut tidak terhubung.
Block ICMP menggunakan Mikrotik
1. Masuk di Mikrotik-IP-firewall
2. tambahkan firewall rules
Chain : input
Protocol : ICMP
In Interfaces : sesuaikan dengan port/interfaces kalian
Action : drop
Kesimpulan
Dengan memblokir port ICMP dan menerapkan rules yang tepat untuk pemblokiran ICMP bisa menjadi salah satu cara untuk meminimalisir terjadinya serangan pada server jaringan ataupun Website kita. Namun adakalanya kita perlu membuka port tersebut untuk melakukan troubleshooting jaringan kita.
Rekomendasi
- Blokir hanya ICMP untuk mencegah ping dari luar.
- Konfigurasi firewall untuk memblokir paket ICMP dari sumber yang tidak terpercaya.
- Non aktifkan sementara jika ICMP diperlukan untuk troubleshooting.