Server application security configuration hardening

Server merupakan sebuah perangkat/mesin dengan sistem komputer untuk memberikan fasilitas layanan tertentu di dalam jaringan komputer. Aspek keamanan menjadi faktor yang penting untuk diperhatikan pada sebuah server dikarenakan berbagai serangan dari luar sering diluncurkan dengan memanfaatkan vulnerability yang ada pada server. Serangan yang timbul dapat mengakibatkan hal yang fatal terhadap bisnis suatu organisasi. Oleh karena itu, perlu dilakukan proses “hardening” untuk menambah tingkat keamanan pada server. Istilah “hardening” secara umum berarti melakukan proses pengerasan suatu lapisan yang lembut sehingga lapisan tersebut menjadi lebih kuat dan lebih tahan terhadap kerusakan. Prinsip itu juga yang digunakan untuk menerapkan hardening server yang berpengaruh terhadap keamanan server. Sebelum melanjutkan pembahasan mengenai hardening konfigurasi pada aplikasi server, akan dibahas terlebih dahulu pengertian server, jenis-jenis server, dan bagaimana melakukan hardening.

Gambar 1. [1]

Pengertian Server

Secara garis besar, server dibagi menjadi 3 macam yaitu:

1. application server

application server (server aplikasi) yang juga disebut appserver merupakan server yang mempunyai sebuah program untuk menangani berbagai operasi aplikasi antara user dan database (misalnya aplikasi bisnis dari organisasi). Berikut adalah ilustrasi operasi application server.

2. Data Server

Data server atau sering disebut database server merupakan server yang menyediakan layanan database dan melakukan beberapa task seperti analisa data, penyimpanan data, pengarsipan data, manipulasi, dan beberapa fungsi lainnya yang menggunakan arsitektur client/server.

3. proxy server

Proxy server dapat dikatakan sebagai server penghubung antara aplikasi pada klien dan aplikasi pada server yang ada diluar (atau server yang ingin diakses oleh client).

Mengapa server application?

Menurut Curtis Coleman, MSIA, CISSP, CISM direktur Global IT Governance dari perusahaan Seagate Technology [2] mengatakan bahwa kerawanan yang paling berbahaya pada perusahaan besar yang memiliki jaringan luas adalah pada aplikasinya. Sistem keamanaan telah  banyak terfokus pada antivirus dan keamanan jaringan, tapi bagian yang amat merisaukan adalah  transaksi bisnis yang memiliki data yang sangat berharga (valuable). Sistem keamanan pada Aplikasi merupakan tren masa depan yang dapat dikatakan sebagai era baru setelah era anti Virus dan era keamanan jaringan.

Penggunaan firewall dan SSL bukan menjadi jaminan bahwa pengamanan data dan aplikasi dapat terjaga dengan baik. Menurut [2], berdasarkan hasil pengecekan dengan menggunakan AppScan didapatkan lebih dari 1000 aplikasi yang telah memiliki firewall dan solusi enkripsi memiliki tingkat kerawanan rata-rata 98%. Oleh karena itu mengapa keamanan aplikasi merupakan obyek yang sangat penting, diantaranya:

1. frekuensi kejadian; sebanyak dua dari 4 website pada perusahaan bisnis rawan untuk dibobol.

2. Tingkat penembusan; sebanyak 75% para hacker dapat menembus sampai ke level aplikasi

3. Tidak terdeteksi; Perangkat untuk QA testing tidak didesain dengan baik untuk mendeteksi lubang keamanan pada suatu aplikasi.

4. Kerugian yang berakibat fatal; Keamanan pada aplikasi tidak dapat dijaga dengan baik rentan terhadap serangan dan eksploitasi. Ketika telah terjadi eksploitasi, maka kegiatan bisnis dari suatu perusahaan akan terganggu yang akan mengakibatkan customer value dan kepercayaan customer menjadi semakin menurun. Hal ini akan sangat berdampak terhadap performa perusahaan itu sendiri.

Kerentanan pada Aplikasi

Menurut Eugene Lebanidze [3] ada 10 besar kerawanan pada aplikasi, yaitu:

1. Unvalidated Input

   Unvalidated input adalah jenis kerawanan yang cukup sering terjadi sehingga akan menimbulkan masalah/kerusakan yang sangat serius. Semua aplikasi berbasis web harus dipastikan dapat menangani permasalahan unvalidated input sehingga menghindari adanya unauthorized user. Jika aplikasi tidak dapat memvalidasi dengan baik, maka ketika penyerang mempunyai kesempatan untuk masuk, komponen aplikasi bagian belakang seperti database dapat diserang dengan mudah. Beberapa poin pada kerawanan pertama:

  • HTTP request dari browse ke web apps

Bentuk masukan dalam aplikasi Web adalah URL, Querystring, From Fields, HIdden Fields, Cookies, Headers. Palikasi web menggunakan informasi ini untuk generate halaman web.

  • Attacker dapat mengubah semua jenis request

2. Broken Access Control

   Access Control yang baik dapat mencegah adanya unauthorized user mengakses informasi maupun data perusahaan. Akan tetapi ketika Access Control ini diasalahgunakan atau tidak berjalan dengan baik maka penyerang/unautorized user dapat mengakses informasi sehingga mengganggu CIA (Confidentiality, Integrity, Availability) dari suatu data maupun informasi itu sendiri. Kunci untuk menangani kerawanan ini melalui kebijaksanaan untuk access control dan dapat dilakukan dengan menggunakan two-way authentication.

3. Broken Authentication dan Session Management

4. Cross Site Scripting

5. Buffer Overflow

6. Injection Flaws

7. Improper Error Handling

8. Insecure Storage

9. Denial of Service

10. Insecure Configuration Management

Beberapa Teknik Hardening Server

Pentingnya menjaga keamanan jaringan maupun server harus dipahami oleh semua elemen di perusahaan sehingga timbulnya “awareness” terhadap permasalahan keamanan dan apa saja yang menimbulkan kerentanan terhadap sistem keamanan tersebut. Berikut adalah beberapa teknik untuk melakukan server hardening:

– Gunakan data encryption untuk komunikasi
– Hindari penggunaan protokol yang tidak aman yang mengirim informasi atau password dalam bentuk plain text (misalnya UDP)
– Hindari penggunaan software yang tidak diperlukan pada server
– Upgrade OS yang digunakan terutama security patches.
– Akun user sebaiknya memiliki password yang cukup kuat dan lakukan penggantian password secara berkala dan tidak menggunakan kembali password yang pernah digunakan.
– Kunci akun ketika terjadi event dimana terlalu banyak terjadi failure login.
– SSH hardening :
– ubah port dari default menjadi non-standard
– Disable root login secara langsung.  Mengubah lebel menjadi root hanya jika dibutuhkan.
– Layanan yang tidak dibutuhkan sebaiknya dinonaktifkan.
– Hardening sysctl.conf
– Server hardening dengan melakukan instalasi Root Kit Hunter dan ChrootKit hunter.
– Minimalisasi membuka port jaringan menjadi hanya yang dibutuhkan saja
– Instal Logwatch dan review logwatch email setiap hari. Hal ini untuk menginvestigasi jika terjadi aktivitas yang berbahaya pada server
– Gunakan firewall, IPS, dan IDS untuk menambah keamanan pada server
– Instal Linux Socket Monitor untuk mendeteksi ketika adanya socket baru yang dibuat pada sistem. Pembuatan socket baru dapat mengungkapkan aktivitas hacker pada sistem.
– Batasi akses pengguna sehingga hanya dapat mengakses yang dibutuhkan saja.
– Monitor log server

Software untuk melakukan hardening.

1. Basille Linux

Program hardening Bastille mengunci OS, secara aktif melakukan konfigurasi sistem untuk meningkatkan keamanan dan mengurangi  kerentanannya.

Bastille mensupport Red Hat (Fedora Core, Enterprise, and Numbered/Classic), SUSE, Debian, Gentoo, dan Mandrake dengan HPUX.

User/administrator diperbolehkan untuk memilih cara malakukan hardening pada OS.  Pada setting default hardeningnya, Bastille akan menanyakan apakah user memiliki pertanyaan, menjelaskan topic akan pertanyaan tersebut, dan membuat kebijakan berdasarkan jawaban user. Kebijakan tersebut akan diterapkan ke sistem. Dalam mode assessmentnya, Bastille membuat laporan yang dapat digunakan user untuk mempelajari lebih lanjut mengenai setting keamanan yang digunakan dan juga memberikan informasi ke user mengenai setting mana yang perlu diperketat.

2. JASS untuk Solaris systems

SolarisTM Security Toolkit, yang dikenal juga dengan JumpStartTM Architecture and Security Scripts (JASS) toolkit, menyediakan mekanisme yang fleksibel dan ekstensibel untuk meminimasi, melakukan hardening, dan mengamankan sistem Solaris Operating Environment systems. Goal utama pengembangan toolkit ini adalah untuk menyederhanakan dan meng-otomatis-kan proses pengamanan Solaris system.

Toolkit ini dikembangkan oleh anggota Enterprise Engineering and Professional Services teams, yang berdasarkan best practices keamanan yang telah diuji, dan pengalaman pengguna yang dikumpulkan selama bertahun-tahun.

3. Syhunt Apache/PHP Hardener

Syhunt Apache/PHP Hardener digunakan untuk melakukan evaluasi ancaman keamanan dan identifikasi countermeasure yang sesuai pada tahap konfigurasi web server, sehingga menyediakan proteksi ekstra terhadap web hacking dan merupakan level tertinggi keamanan aplikasi. Berikut ini merupakan fitur utama Syhunt.

  • Memeriksa konfigurasi keamanan web server dengan melakukan hampir 50 pemeriksaan keamanan
  • Menyediakan analisis heuristic file konfigurasi web server untuk mendeteksi error pada konfigurasi keamanan
  • Men-support file konfigurasi Apache dan PHP
  • Memproduksi laporan HTML yang simple dan mudah dimengerti
  • Melakukan update secara otomatis.

 

Oleh:  Alissa 23213129 & Pertiwi Sapta Rini 23213095

Referensi:

[1]  System Hardening Services [Online]. Available : http://www.secure-bytes.com/hardening+services.php

[2]  Coleman Curtis. Case Study: An Evolution of Putting Security into SDLC. Available: http://www.owasp.org/docroot/owasp/misc/COLEMAN-Putting_Security_IntoSDLS-OWASP_v2.ppt

[3]  Lebanidze Eugene.  Securing Enterprise Web Application at the Source. Available: http://www.owasp.org/docroot/owasp/misc/Securing_Enterprise_Web_Applications_at_the_Source.pdf

[4]  Akhmad Agus, et al. Sistem Keamanan pada Pengembangan Sistem Informasi. Available: http://directory.umm.ac.id/SI_UKM/125M-07-final1.0.pdf

[5]  http://www.bastille-linux.org/

[6] http://www.securityfocus.com/tools/2250/

Web Domain Whitelisting for All Domains

Komputer dan jaringan merupakan bagian yang sangat penting untuk dijaga keamanannya. Attack yang terjadi di sebuah organisasi besar, kecil maupun individual dapat dikarenakan pengaksesan web domain yang tidak secure maupun malicious website sehingga dari pengaksesan itulah attack dari luar dapat terjadi.

_59273631_http

Pengaksesan web domain yang tidak aman ini hanya dapat dicegah dari internal suatu organisasi maupun individual. Oleh karena itu dibutuhkan teknik untuk meloloskan web domain mana yang dapat diakses dan mana yang tidak dapat diakses berdasarkan sekuritasnya sehingga dapat meminimalisir serangan yang mungkin terjadi akibat malicious website.

Teknologi  blacklist dan whitelist adalah suatu metode untuk mengatasi permasalahan tersebut. Blacklist merupakan daftar dari sekumpulan web domain ataupun alamat email, dan URL yang terindikasi tidak “aman” sehingga secara otomatis akan diblokir oleh komputer maupun jaringan agar tidak dapat diakses. Sedangkan prinsip whitelist kebalikan dari blacklist yaitu daftar yang diperbolehkan untuk diakses oleh komputer atau jaringan dimana terdapat sekumpulan URL, web domain maupun alamat email yang “aman” .

Teknologi whitelist ini banyak digunakan karena dapat menjadi kontrol akses sehingga komputer atau jaringan tertentu hanya dapat mengakses domain atau menerima email yang diperbolehkan atau diijinkan oleh organisasi maupun individu. Misalnya, seorang pegawai customer service dari sebuah bank yang bekerja menggunakan komputer dan jaringan, hanya dapat mengakses web domain perusahaan bank tersebut sehingga selain pengaksesan itu maka tidak diperbolehkan. Whitelist ini juga mencegah penggunanya dari email yang terindikasi “tidak aman” sehingga penggunanya hanya dapat menerima alamat email yang telah terdaftar sebagai alamat email yang aman sehingga pegawai customer service bank seperti contoh tadi hanya menerima alamat email yang memang termasuk ke dalam whitelist untuk mengurangi adanya attack yang dikirim melalui email yang dapat mengganggu jalannya bisnis perusahaan maupun kegiatan individu yang menggunakan komputer dan internet.

Teknik Web Domain Whitelisting

 Web domain whitelisting merupakan teknik yang hanya memperbolehkan pengaksesan domain web yang spesifik – yang telah diketahui merupakan domain yang “baik”, dan memiliki kebijakan penolakan default. Artinya, pada teknik whitelisting, semua domain akan ditolak kecuali yang terdapat pada whitelist. Blacklisting merupakan kebalikan dari whitelisting, dimana domain web diperbolehkan secara default, dan hanya menolak domain yang “buruk” yang terdapat pada blacklist.

Berikut ini merupakan gambaran umum arsitektur web domain whitelisting.

Berdasarkan skenario permasalahan pada gambar diatas, tentu harus ada perangkat yang bertugas sebagai web filtering sehingga internal network tidak dapat mengakses situs yang tidak terdapat di dalam whitelist. Beberapa contoh software yang dapat digunakan yaitu:

  • Whitetrash

Whitetrash merupakan web whitelisting yang dinamik untuk squid web proxy. Whitetrash mempersulit malware menggunakan HTTP dan SSL untuk melakukan:

1. initial compromise

2. eksfiltrasi data

3. command and control

Fitur-fitur yang disediakan whitetrash adalah sebagai berikut.

  1. Menyediakan whitelist untuk HTTP dan SSL yang dapat digunakan user maupun admin dan memiliki proteksi terhadap malware dan browser exploit
  2. Terintegrasi dengan Google Safebrowsing API sehingga URL juga dicek dalam daftar Google malware and phising blacklist. Domain yang ter-blacklist tidak dapat dimasukkan ke dalam whitelist oleh user.
  3. Terdapat otentifikasi menggunakan framework web Django.
  4. Otentifikasi dapat dinon-aktifkan, sehingga ketika digunakan bersamaan dengan sistem CAPTCHA, keamanan tetap terjaga tanpa ada overhead dari manajemen user.
  5. Sistem CAPTCHA telah berhasil diimplementasikan untuk mencegah malware melakukan penambahan terhadap whitelist. CAPTCHA dapat digunakan baik untuk HTTP, SSL, maupun keduanya.
  6. Interface admin berbasis Django sehingga memungkinkan admin untuk melakukan pengaturan pada entri user dan whitelist.
  7. Men-support memcached untuk mengurangi beban pada database dan memungkinkan penggunaan pada perusahaan skala besar. Memcached digunakan untuk situs seperti Slashdot, livejournal, dan sourceforge.
  8. Dapat men-generate sertifikat SSL.  Whitetrash dapat membuat sendiri certificate authority-nya, yang digunakan untuk menunjukkan form untuk domain baru SSL. Sesi SSL untuk domain yang ter-whitelist telah ter-proxy.
  9. Terdapat plugin pada firefow yang mempermudah user mem-whitelist domain.
  • ESET Smart Security

ESET smart security merupakan salah satu perangkat lunak yang memfasilitasi penggunanya dengan 3 fitur utama yaitu:

  1. Antivirus dan antispyware, fitur ini akan menjaga komputer dari virus maupun spyware.

  2. Personal firewall. fitur ini membuat komputer seperti mempunyai firewall dan berfungsi sebagai firewall pada umumnya yaitu menjaga network yang masuk maupun yang keluar. Pengguna juga dapat melakukan konfigurasi dan menambahkan rules pada personal firewall, sehingga firewall bekerja sesuai dengan keinginan dan kebutuhan pengguna.

  3. Antispam module. fitur ini memfasilitasi agar pengguna tidak menerima spam email berdasarkan whitelist yang ada. Sehingga pengguna dapat mengatur agar hanya menerima almat email yang authorized sesuai dengan whitelist.

Mekanisme membuat whitelist menggunakan software ini dapat dilihat disini.

  • SpamExperts Software

Software ini memberikan layanan antispam untuk email sehingga pengguna dapat memilih email mana saja yang ingin diterima berdasarkan alamat email yang telah didefinisikan di dalam whitelist. Mekanisme cara kerja software SpamExperts dapat diilustrasikan sperti gambar dibawah ini:

 

Dengan menggunakan software ini, maka user akan terhindar dari email yang tidak diinginkan atau adanya spam. Cara ini dapat menghindari user dari serangan yang dapat digencarkan melalui email. Overview prinsip kerja sofware SmartExperts dapat dilihat melalui link ini.

  • Aplikasi lainnya

Di berbagai browser terdapat banyak aplikasi yang melakukan filter untuk penggunanya berdasarkan konten yang dapat dilihat dari sebuah web maupun web yang diperbolehkan untuk diakses. Contohnya di internet explorer adalah aplikasi “the content advisor” dan “anti phising” . Content advisor adalah perrangkat yang dapat user gunakan untuk mengontrol konten yang dapat diakses atau dilihat  di komputer ketika user melakukan browsing.  Hal ini untuk mengontrol konten yang tidak ingin dilihat ketika membuka sebuah web misalnya yang berbau unsur pornografi, dsb.

Sedangkan Anti-phising adalah perangkat untuk mengontrol akses ke sebuah situs. Pada anti-phising, situs dapat dibagi menjadi 3 kriteria yaitu :

  • “Trusted sites”, berisi situs-situs yang dipercaya atau diperbolehkan untuk diakses. Trusted sites ini memiliki prinsip yang sama seperti whitelist.

  • Situs yang berada pada daftar “phising” melalui mekanisme smart screen filter dan daftar yang ada secara online.

  • “Heuristis”. Jika user mengakses situs yang termasuk kedalam kriteria ini maka akan muncul semacam “warning” yang akan memberitahu bahwa sertifikat yang dimilikinya valid atau tidak.

Selain perangkat-perangkat yang telah disebutkan, windows juga menyediakan perangkat “Live Parental Control” bagi orang tua yang ingin mengontrol anak-anaknya dalam menggunakan komputer dan internet ketika di rumah.  Fitur ini memberikan kemudahan bagi para orangtua untuk mengontrol konten melalui beberapa komputer berdasarkan login credential dan profile dari user. Fitur ini akan mencatat kegiatan apa saja yang dilakukan  di komputer seperti aktivitas website, percakapan instant messaging, email, dan penggunaan aplikasi. Sehingga berdasarkan log tersebut, maka orang tua dapat melakukan monitoring terhadap anaknya dengan mudah. Selain itu, whitelist yang sudah ada pun harus selalu di-upgrade karena kecanggihan teknologi dan komunikasi selalu berkembang setiap harinya. Oleh karena itu, para orangtua yang ingin mengontrol anaknya harus paham mengenai perkembangan teknologi dan komunikasi saat ini sehingga fitur ini dapat dimanfaatkan secara maksimal.

Contoh insiden yang diatasi dengan teknik whitelist

Whitelisting merupakan teknik yang membuat malware sulit menggunakan HTTP dan SSL. Malware dikirim ke user dalam bentuk dokumen word processor melalui sebuah email. User membuka dokumen, dan malware akan tereksekusi. Selanjutnya, malware biasanya akan menggunakan HTTP untuk men-download tools, mengirimkan sinyal kepada penyerang, atau eksfiltrasi data. Dengan menggunakan whitelist, semua tindakan ini dapat diblok karena domain penyerang tidak terdapat pada whitelist.

Pada whitelist terdapat perlindungan yang bagus terhadap browser exploit, yang seringkali melakukan cross-site scripting atau teknik lain untuk menampilkan halaman web yang terlihat sah sembari men-download konten dari website penyerang.

Referensi:

  1. http://whitetrash.sourceforge.net/

  2. http://www.eset.sg/html/167/804

  3. http://www.unitedhosting.co.uk/SpamExperts-spam-filtering.php

4.  http://www.bbc.co.uk/news/technology-21954636

5.  http://docs.fortinet.com/cb/html/index.html#page/FOS_Cookbook/UTM/cb_utm_wf_whitelist.html

Oleh : Alissa, Pertiwi Sapta Rini