Cara mengamankan server dari berbagai serangan

by darkranger - 05-07-2019 at 07:04 AM
Junior Member
Posts:
2
Joined:
May 2019
Likes:
0
Reputation:
0
#1
OP
Posted: 05-07-2019, 07:04 AM (This post was last modified: 05-08-2019, 11:50 PM by darkranger.)
Halo guys, ini adalah postingan pertama saya di sini.
Kali ini saya akan membahas bermaca macam cara agar server yang kita kelola benar" aman dari segala serangan keamana yang sudah banyak di publish dalam beberapa dekade ini.
Saya sedikit miris juga dengan banyaknya perusahaan dan instansi yang menganggap kerentanan keamanan itu sangat sepele.
Selain itu minim sekali artikel yang membahas tentang cara mengamankan berbagai serangan secara teknis, sedangkan serangan keamanan sendiri telah banyak di ketahui banyak orang dalam beberapa tahun kebelakang ini.
Saya asumsikan orang-orang tersebut adalah wanna be hacker.

Mungkin di artikel ini saya akan menjelaskan sedikit tentang hal yang perlu kita pertimbangkan sebelum memulai ke topik yang sangat utama dalam artikel ini.
Sebelum memulai ke pembahasan yang lebih rinci alangkah baiknya kita mengetahui dulu hal-hal yang fundamental dalam membangun suatu system.
Hal pertama yang harus kita pikirkan adalah memilih system operasi terbaik dari yang terbaik.

Perlu kita ketahui bahwa system operasi di dunia ini sangatlah banyak, maka dari itu kita harus memilih system operasi terbaik agar mendapatkan hasil yang baik juga dalam segi kemampuan dalam menghandle setiap proses yang akan kita jalankan kedepannya.
Untuk membuktikan bahwa system operasi terbaik itu adalah dengan mencoba semua system operasi kemudian mencoba satu persatu kemampuannya sampai di mana, serta pergerakan aplikasi yang di gunakan apakah selalu update setiap saat, kemudian apakah system operasi tersebut bisa menahan setiap serangan atau tidak.
Kalau kita sudah mencoba sendiri semua system operasi dan mencoba pengetesan serangan, aplikasi dan lain lain, kita tidak akan pernah terhasut lagi oleh orang-orang yang fanatik terhadap salah satu system operasi, kemudian mendewa dewakan system operasi tersebut. h3h3
Karena ini sangat penting bagi kalian jika memang ingin membangun system yang benar-benar aman dari segala macam serangan.

Saya akan sedikit bercerita tentang penelitian saya dulu tentang system operasi yang terbaik itu seperti apa.
Mungkin tepatnya 1,5 tahun kebelakang sejak postingan ini di publish saya pernah meneliti system operasi dengan mencoba semua system operasi yang bisa di jadikan sebagi server serperti OpenBSD, FreeBSD, Redhat, Fedora, Centos, Ubuntu, Debian, Slackware, Gentoo, Arch, Alpine, windows, dll.
Dari semua system operasi itu cuma ada beberapa system operasi yang bisa menghandle serangan DOS/DDOS, selebihnya tidak bisa meng handle.
Saya sebut saja system operasi yang di maksud adalah

  • OpenBSD
  • Redhat
  • dan Fedora

Dan untuk system operasi dengan aplikasi default dan repository yang selalu update urutannya adalah

  • Archlinux
  • OpenBSD
  • Redhat
  • dan Fedora

Dari statement saya ini kalian boleh percaya atau tidak, yang pasti ini adalah hasil dari penelitian saya tentang pemilihan system operasi, yang pada saat itu juga saya membangun system linux sendiri dari awal (LFS) di perusahaan yang pernah saya tempati.
Jika kalian Ingin menggunakan system operasi yang paling aman untuk server, saya menyarankan menggunakan OpenBSD.
Hal ini di dukung juga oleh banyaknya artilkel yang menyebutkan bahwa OpenBSD adalah system operasi ter aman nomer 1 di antara system operasi yang lain.
Kenapa OpenBSD??
Saya sudah mencoba juga bahwa OpenBSD sendiri selain bisa menghandle DOS/DDOS, path system yang di gunakan seperti folder /etc/ dll tidak dapat tampil dan di baca dalam mode web server atau backdoor sekalipun. Jadi hanya folder web server saja yang dapat di akses secara umum.
Hal ini yang menunjukan bahwa openbsd bisa meminimalisir exploitasi kernel yang di gunakannya.
Selain itu juga config yang di gunakan dari beberapa aplikasi web server sudah di set dengan konfigurasi terbaik, sebagai contoh kecilnya di aplikasi nginx.
Yang di mana setingan default server_token di set menjadi off.
Tujuannya yaitu untuk menyembunyikan versi nginx yang di gunakan pada system OpenBSD.
Artinya setiap orang yang me request ke server tidak dapat mengetahui versi nginx yang di gunakan pada server.
Dan itu salah satu contoh kecil yang nyata kalau OpenBSD itu system operasi yang aman secara default.
Sampai sekarang pun saya menggunakan OpenBSD sebagai system operasi default untuk production.

Kemudian jika kalian bekerja di korporasi atau pemerintahan yang agak sedikit sulit mengoperasikan OpenBSD, kalian bisa menggunakan Redhat Enterprise sebagai system operasi terbaik nomor 2 dengan dukungan enterprise dari website official nya langsung.
Kenapa harus menggunakan Redhat??
Karena Redhat adalah salah satu system operasi enterprise yang punya banyak dukungan dalam mengupdate setiap aplikasi dan library, selain itu juga update yang di berikan juga sangat cepat tanggap jika menemukan bug yang sangat kritikal.
System operasi ini lah yang paling cocok untuk server setingkat korporasi atau pemerintahan versi saya sendiri.
Saya punya keinginan juga kalo di indonesia ini kedepannya mewajibkan menggunakan Redhat Enterprise sebagai system operasi standart untuk kebutuhan server di level korporasi dan pemerintahan. :)

Tetapi apabila kalian tidak punya cukup kocek untuk dukungan enterprise Redhat, kalian juga bisa mencoba system operasi yang free dan opensource yaitu Fedora sebagai system operasi terbaik ke 3.
Kenapa fedora dan bukan centos?? Centos juga kan turunan dari Redhat Enterprise??
Perlu saya sampaikan juga kalo Fedora itu sudah terpasang kernel, library, dan aplikasi yang paling update di antara turuna redhat yang lainnya (coba buktikan sendiri).
Selain itu juga Fedora sudah di seting secara default untuk bisa menghandle serangan DOS/DDOS.
Dan ini lah alasan fundamental saya kenapa saya lebih suka fedora daripada turunan redhat yang lain.

Dari penjelasan singkat ini saya hanya ingin menyampaikan kalau statement saya bisa saja salah, dan bisa saja benar.
Tapi tidak luput dari hal itu kalian bisa coba buktikan sendiri yang mana system operasi terbaik menurut versi kalian.
Di sini saya hanya mencoba menyampaikan apa yang telah saya teliti dan saya buktikan sendiri.
Selebihnya kalian bisa menilai sendiri. :)

Kembali ke bahasan awal yaitu apa dan bagaimana teknik untuk mengamankan server dari berbagai serangan.
Kali ini saya akan menjelaskan secara teknis menggunakan system operasi yang sangat banyak di gunakan oleh orang orang di dunia yaitu menggunakan Ubuntu sebagai dasar untuk pengamanan server.
Kenapa saya menggunakan Ubuntu dalam praktek pengamanannya??
Tugas saya kali ini adalah meng edukasi kepada setiap sysadmin yang telah terlanjur menggunakan ubuntu atau debian sebagai system operasi dasar yang di gunakan untuk kebutuhan server, walaupun saya sendiri menggunakan OpenBSD sebagai system operasi default untuk kebutuhan server yang saya kelola.
Selain itu juga setingan Ubuntu yang harus di rubah lebih kompleks daripada setingan OpenBSD sendiri.
Karena di OpenBSD sudah ter seting keamana secara default, kita hanya tinggal seting sedikit saja untuk mendapatkan hasil yang lebih baik.

Kedepannya saya akan menjelaskan beberapa judul yang telah saya tulis di bawah yaitu:

A. Meminimalisir serangan dos/ddos pada server
  1. Blok traffic masuk ICMP
  2. Blok IP yang di sinyalir membahayakan server dengan iptables
  3. Batasi jumlah traffic masuk pada server
  4. Tutup port yang tidak di perlukan
  5. Batasi ukuran file yang di upload
  6. Pasang IDS & IPS untuk meminimalisir serangan

B. Menangkal serangan bruteforce
  1. Jangan izinkan user root masuk ke dalam ssh atau gunakan user biasa untuk login ke ssh
  2. Gunakan private key yang di password untuk login ke ssh
  3. Ganti port default ssh menjadi port random
  4. Batasi pengecekan password yang salah dengan fail2ban
  5. Usahakan password yang di gunakan tidak mudah di tebak
  6. Segala hal yang berhubungan dengan password harus di bedakan

C. Meningkatkan keamanan pada aplikasi yang di pakai
  1. Enkripsi setiap script config database yang di gunakan di server atau pindahkan ke folder yang tidak biasanya
  2. Gunakan ssl di dalam webserver
  3. Jangan simpan private key di dalam server
  4. Jangan simpan file backup di dokumen publik webserver
  5. Rubah alamat phpmyadmin jadi alamat acak
  6. Rubah alamat login admin jadi alamat acak
  7. Gunakan OTP untuk login ke dalam aplikasi 
  8. Filter semua POST dan GET yang ada dalam aplikasi

D. Meningkatkan keamana jaringan pada server
  1. Batasi koneksi outgoing menggunakan iptables
  2. Nonaktifkan DNS di /etc/resolv.conf
  3. Hanya izinkan port yang terbuka saja yang bisa di akses publik menggunakan ufw/iptables
  4. Jangan buka port database ke publik
  5. Gunakan 1 ip gateway, 1 ip netmask, 1 ip broadcast, 1 ip address, dan 1 vlan untuk 1 aplikasi

E. Meningkatkan keamanan pada server
  1. Selalu update system operasi yang sedang di gunakan
  2. Sembunyikan versi PHP, apache, dll di header
  3. Non aktifkan directory listing di webserver
  4. Disable shell pada user web server "www-data" di /etc/passwd
  5. Non aktifkan fungsi execute command seperti exec, passthru, php-cgi kalo tidak di perlukan
  6. Di history command jangan tertinggal password apapun

F. Monitoring server untuk meningkatkan keamanan
  1. Selalu cek log aktivitas server (monitoring)
  2. Cek cronjob atau crontab setiap waktu di setiap user
  3. Cek setiap service yang berjalan agar tidak terjadi misconfigurasi
  4. Pasang alamat admin palsu (honeypot)

Untuk kelanjutan artikel kali ini saya akan post di thread yang berbeda.
Tunggu saja updatean selanjutnya.
Sekian.. ;)
Reply
Find Posts
Register an account or login to reply
Create an account
Create a free account today and start posting right away. It only takes a few seconds.
Login
Log into an existing account.
1 Guest(s)