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.
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
Tidak ada komentar:
Posting Komentar