Mencegah serangan TCP SYN pada server Linux
Dibalik kebebasan dalam pengaturan server sendiri jelas ada kekurangannya yakni masalah keamanan. Kasusnya dalam VPS Ubuntu klien baru saya tiba – tiba jadi lambat dan kadang tidak responsif. Awalnya saya kira memang spesifikasinya sudah tidak mampu lagi menangani trafik pengunjungnya. Atau ada bot spammer yang menyerang.
Ternyata setelah saya mengecek log UFW (Uncomplicated Firewall) di /var/log/kern.log
ada banyak isinya dan menemukan hal yang sama/mirip berulang – ulang:
May 21 12:19:22 vps_ku kernel: [1980808.931708] [UFW BLOCK] IN=venet0 OUT= MAC= SRC=192.168.28.24 DST=me LEN=40 TOS=0x00 PREC=0x00 TTL=106 ID=256 PROTO=TCP SPT=6000 DPT=9999 WINDOW=16384 RES=0x00 SYN URGP=0
Ini adalah tanda – tanda serangan TCP SYN atau sering disebut juga SYN FLOOD dan memang bisa membuat server kita kewalahan menanganinya.
Saya jelaskan apa itu TCP SYN. Jadi ini adalah satu serangan DoS (Denial of Service) yang akan membuka koneksi ke server dan melakukan proses handshake memanfaatkan SYN, tapi si penyerang tidak pernah menyelesaikan koneksinya. Ini menyebabkan banyak koneksi setengah terbuka dan tidak pernah selesai.
Solusinya tapi sangatlah mudah dan kernel Linux bisa memblokirnya:
nano /etc/sysctl.conf
Kemudian cari dan ubah:
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
Simpan modifikasi settingnya dan keluar. Setelahnya silahkan perhatikan log firewallnya apakah pesan kesalahan serupa masih tetap muncul.
Selesai. 🙂