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.
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 JumpStartTMArchitecture 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.
Sumber 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
Komentar
Posting Komentar