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. 🙂

19 pemikiran pada “Mencegah serangan TCP SYN pada server Linux”

  1. Mas Chandra Vps saya kog jadi lambat ya, klo di ping kdang rto bnyak saya check di who is ip sya tracert ke server langung dan tek ping normal itu sperti ada yang naruh sesuatu di vps sya sehingga vps saya webnya jadi lambat banget… bisa jadi itu krn virus atau ada backdoor ya mas.. ini yg sya khawatirkan soal keamanan vps klo pake vps..

    • Wah.. bisa macam – macam ini mbak penyebabnya. Ini di provider mana? Isinya apa saja? Hasil top bagaimana?

      Kalau boleh saya minta mbak buat topiknya di forum supaya lebih mudah upload screenshotnya atau data – data lain. Lewat komentar blog terbatas soalnya.

  2. saya mau backup sj jg udh ga bisa di phpmyadmin di bawah ada tulisan merah sprti ini : Koneksi untuk controluser yang di definisikan di konfigurasi Anda gagal.

    • Kalau tidak perlu biarkan nonaktif saja mas. Soalnya kita harus siap melayankan websitenya dari IPv6 juga kalau aktif, dan ini menurut saya masih belum perlu. Lha ISP di Indonesia masih pada pakai IPv4 yang di NAT ke usernya.

  3. di depannya ada tanda pagar mas jadi seperti ini:

    # Uncomment the next line to enable TCP/IP SYN cookies
    # See http://lwn.net/Articles/277146/
    # Note: This may impact IPv6 TCP sessions too
    #net.ipv4.tcp_syncookies=1
  4. mas tau tidak cara membuat wordpress agar bisa memiliki beberapa database mysql yang saling terkoneksi.. ??? karena sya baru menemukan beberapa multisite wordpress menggunakan 1 database.. saya ingin tau kalau kebalikannya bagaimana membuatnya.. 1 wordpress dengan multi database yang saling terkoneksi…

    • Tahu mas, tapi belum pernah coba. Mungkin suatu saat saya eksperimen. Namanya MySQL Replication atau Distribution Database atau Cluster. Bisa dicek di Google dulu.

    • Pelan – pelan mas. Jangan buru – buru modifikasi apapun, pahami dulu fungsinya.

      Mas tidak edit yang dipagari juga tidak masalah, tambahkan kode yang dibicarakan diatas.

Tinggalkan komentar