-->

SIPITUAMA

"Sistem Informasi Penyajian Ilmu Teknologi, Uni Akademis, dan Manajemen Administrasi"

Saturday, 5 January 2019

Panduan Praktis Belajar Komputer

MENGENAL KOMPUTER

Sebelum   kita   menggunakan  komputer, sebaiknya  kita   mengenal terlebih  dahulu apa yang disebut dengan komputer. Pengenalan ini penting agar kita  bisa  menggunakan komputer tersebut dengan sebaik-baiknya, berdaya guna tinggi  dan tepat guna.


Sistem Komputer



Umumnya, apa  yang  disebut orang  sebagai  “komputer”  adalah se- perangkat alat  yang terdiri  dari  CPU,  monitor, dan  keyboard. Ada  juga yang menyatakan  bahwa CPU-lah   yang disebut komputer, sementara alat-alat yang lain  adalah pelengkapnya, dengan nama sendiri-sendiri seperti monitor, keyboard, mouse, printer dan  lain-lain.

Sebenarnya,  pengertian  komputer  lebih   tepat  jika   disebut  sebagai sistem komputer. Sistem komputer terdiri  dari  tiga  perangkat (peranti), yaitu:
  • ƒ    Perangkat keras (hardware),
  • ƒ    Perangkat lunak (software), dan
  • ƒ    Manusia (brainware).

Alat-alat  yang  disebutkan  di   atas  adalah  contoh  perangkat  keras. Sistem   komputer   tidak   bisa    berjalan   hanya   dengan   salah   satu perangkat, tetapi memerlukan ketiga-tiganya.



Perangkat Keras

Perangkat keras komputer yang kita  kenal bisa  digolongkan dalam tiga kelompok:
  • ƒ    Peranti masukan (input device);
  • ƒ    Peranti pengolah (processing unit);
  • ƒ    Peranti keluaran (output device).

Peranti masukan adalah peralatan yang kita  gunakan untuk memasuk- kan  data ke komputer, seperti keyboard, mouse, dan  scanner.



Peranti pengolah adalah  peralatan  yang melakukan  pengolahan  data menjadi informasi, atau  yang  menjadi “otak”   mesin komputer dalam melaksanakan  perintah  yang  diberikan.  Peranti  pengolah  ini  sering disebut CPU (central processing unit/unit pengolah pusat) atau disebut juga  processor.

Peranti keluaran adalah peralatan yang digunakan untuk menampilkan informasi hasil olahan komputer, seperti monitor, printer, dan  speaker.

Dari penjelasan di atas dapat diketahui bahwa yang sering disebut-sebut CPU  itu  sebenarnya  adalah  bagian komputer yang melakukan peng- olahan data  (processor),  berbentuk chip,   dan  dikenal  dengan  nama merk seperti Intel Pentium, Intel Celeron, AMD Athlon, dan sebagainya.




Gambar 1-1.  Perangkat keras komputer

Adapun “badan” (casing) komputer yang biasa disebut CPU tidak  hanya mengandung   processor,  tetapi   juga    mengandung  mainboard   (atau disebut juga mother-board), diskette drive,  CD drive, harddisk, memory (RAM),  VGA  card,  sound card,  LAN  card  (atau  disebut juga  Ethernet card), modem, dan  sebagainya.



Komponen-Komponen Perangkat Keras

Berikut ini  sedikit dijelaskan tentang fungsi  beberapa perangkat keras dan  komponen-komponen yang umum kita  gunakan:

Keyboard           :    sebagai tempat memasukkan (mengetik) data, bisa juga  untuk memberikan perintah.

Mouse                  :    sebagai   alat   penunjuk/menggerakkan   penunjuk  di layar  dan  untuk memberikan perintah.

Scanner             :    sebagai    alat     untuk   memasukkan   data   berupa gambar/foto.

Monitor                :    disebut  juga   layar   komputer, berfungsi untuk me- nampilkan informasi yang dapat dilihat.

Printer                  :    digunakan untuk mencetak data/informasi pada ker- tas.
Speaker             :    berfungsi mengeluarkan informasi berupa suara. Processor           :    sebagai  pusat pengolah data dan pengendali  kerja
perangkat lainnya.

Mainboard          :    sebagai kerangka mesin komputer tempat processor dan  komponen-komponen lainnya dipasang.

Diskette Drive     :    disebut juga floppy drive, yaitu  tempat memasukkan floppy   disk   (disket).  Berfungsi membaca  dan   me- nulis data pada disket.

CD Drive              :    tempat memasukkan CD,  berfungsi membaca dan/ atau  menulis data pada  CD/VCD.

Harddisk              :    adalah tempat penyimpanan data. Harddisk berada di  dalam casing (badan)  komputer dan   jarang  di- pindah-pindahkan (disebut juga fixed  disk). Umum- nya  semua program dan  data disimpan dalam hard- disk.

Memory (RAM)  :    adalah tempat penyimpanan data sementara. RAM singkatan   dari    Random   Access   Memory,   yaitu memory yang  bisa   diakses secara acak  oleh   pro- cessor.



VGA Card          :    adalah   komponen   yang   berfungsi  menampilkan gambar/ tampilan pada monitor. VGA singkatan dari Video Graphics Array.

Sound Card          :    adalah  komponen  yang  berfungsi mengolah  data menjadi suara yang akan ditampilkan pada speaker.

LAN Card           :    adalah   komponen   yang   akan   menghubungkan komputer dengan komputer lainnya. LAN Card  tidak selalu ada  pada  komputer, dan   dipasang  jika   di- perlukan  saja.   LAN   singkatan   dari    Local    Area Network.

Modem               :    adalah  komponen  yang  diperlukan jika   kita   ingin koneksi  ke    internet, atau  untuk  mengirim data melalui  jaringan  telepon.  Modem tidak   selalu ada pada komputer, dan  dipasang jika diperlukan saja.

Stabilizer              :    berfungsi  menstabilkan  arus   listrik   sehingga  arus yang masuk ke  dalam power  supply komputer tidak terlalu naik-turun yang bisa  menyebabkan kerusak- an peralatan elektronik dan  data.

UPS                      :    berfungsi  untuk  mencegah  komputer  mati   ketika terjadi  pemadaman   arus    listrik   mendadak.  Pada waktu  listrik   padam,  UPS   otomatis  menyediakan daya listrik  untuk komputer dalam waktu tertentu. UPS singkatan dari Uninteruptable Power  Supply.


Port-Port Komputer

Selain komponen-komponen,  perlu  juga  diketahui bahwa pada bagian belakang  komputer  (umumnya)  tersedia  port-port di  mana kita   me- masang atau menyambungkan kabel peralatan lainnya.



Port-port yang umum tersedia adalah:
  • ƒ    Port untuk memasang keyboard dan mouse (dari  mainboard),
  • ƒ    Port untuk memasang kabel monitor (dari  VGA Card),
  • ƒ    Port paralel (LPT),  biasanya untuk memasang kabel printer,
  • ƒ    Port   serial   (COM),   biasanya  untuk  memasang  perangkat  komu- nikasi,
  • ƒ    Port modem, tempat memasang kabel telepon,
  • ƒ    Port LAN, tempat memasang kabel jaringan,
  • ƒ    Port  USB,  jenis  port  terbaru yang bisa  digunakan untuk bermacam- macam keperluan, seperti untuk kabel printer, kabel kamera digital, dan  lain-lain,
  • ƒ    Jack (colokan) untuk speaker, microphone, dan  sebagainya.


Media Penyimpanan (Storage)

Komponen perangkat keras berupa disket, harddisk, CD/DVD  disebut juga  sebagai media penyimpanan (storage). Disebut media karena berfungsi  sebagai  wadah atau  tempat  penampungan.  Kita   bisa   me- nyimpan data pada media disket, harddisk, dan  CD/DVD  tanpa takut kehilangan akibat tidak  adanya arus listrik.

Media  penyimpanan  bisa   berfungsi  ganda, yaitu   sebagai  peranti ma- sukan (menyediakan data untuk diolah   oleh  processor) dan  sekaligus sebagai  peranti keluaran  (menyimpan  data/informasi  yang  sudah  di- olah).


Perangkat Lunak

Perangkat  lunak  (software)  adalah  program-program  yang  telah  di- pasang  (install) pada  komputer  dan   berfungsi mengendalikan  kerja komputer.  Tanpa  perangkat  lunak,  sebenarnya  komputer  hanyalah sebuah mesin yang tidak  bisa  apa-apa.



Perangkat lunak umumnya digolongkan ke  dalam tujuh  kategori besar, dan   di  bawah  kategori  ini  ada  juga   pengelompokan  menurut  jenis- jenisnya. Jenis  perangkat  lunak  selalu  berkembang  sesuai  dengan perkembangan kebutuhan manusia dalam menggunakan komputer. Semakin  banyak  ragam  program  komputer  yang  dibuat,  semakin banyak pula kemampuan yang bisa dilakukan oleh  komputer.

Penggolongan perangkat lunak menurut kategorinya adalah:
  • ƒ    Sistem Operasi (Operating System)
  • ƒ    Bahasa Pemrograman (Programming Language)
  • ƒ    Program Aplikasi (Application Program)
  • ƒ    Program Paket (Package Program)
  • ƒ    Utilitas  (Utility)
  • ƒ    Permainan (Games)
  • ƒ    Multimedia

Sebenarnya, kategori ke-2 sampai 7 bisa  digolongkan sebagai aplikasi karena  program-program  tersebut  berjalan  di   atas  sistem  operasi. Dengan kata lain,  sistem operasi harus dipasang  dan  dijalankan lebih dulu  pada komputer sebelum bisa menjalankan program aplikasi.


Sistem Operasi

Sistem  operasi  adalah  program  utama  yang  langsung  berinteraksi dengan  bahasa  yang  dikenal oleh   mesin komputer (bahasa  mesin). Pemakaian  processor,  memory,  harddisk dan  sebagainya  diatur oleh sistem operasi.

Jenis-jenis sistem operasi yang sangat terkenal antara lain:
  • ƒ    DOS (Disk Operating System)
  • ƒ    Windows
  • ƒ    Linux

Umumnya sistem operasi yang disebutkan di atas bisa kita  pasang pada komputer yang biasa kita  kenal (komputer desktop dan  laptop). Untuk komputer jenis  lain digunakan sistem operasi yang lain pula.

Ragam sistem  operasi  juga   ditentukan oleh   perusahaan pembuatnya serta versi  keluarnya. Untuk  sistem operasi DOS  kita  mengenal PC-DOS (dari   IBM), MS-DOS   (dari  Microsoft) dan  sebagainya. Untuk  Windows (dibuat  oleh   Microsoft)  kita   mengenal  Windows    98,   Windows  NT, Windows  2000,   Windows  XP,   Windows   ME,   Windows 2003  dan sebagainya. Untuk  Linux kita  mengenal distro  (distribution) SuSe, Mandrake, RedHat dan  sebagainya.

Ada pula sistem operasi yang umumnya dipasang pada komputer merk tertentu saja, seperti Macintosh. Sistem operasi ini dipasang pada komputer  merk  Apple   (pembuat  sistem  operasi  dan   pembuat  kom- puternya sama). Sistem operasi ini biasanya dipakai untuk pekerjaan- pekerjaan desain grafis, seperti pada setting percetakan.






Gambar 1-2.  Tampilan sistem operasi Windows



Bahasa Pemrograman

Bahasa  pemrograman  adalah  bahasa  yang  dipakai  untuk membuat program komputer. Dengan bahasa pemrograman kita  bisa  menyusun perintah-perintah yang harus dijalankan oleh  komputer sehingga meng- hasilkan informasi atau melakukan pekerjaan sesuai keinginan kita.

Bahasa  pemrograman  yang  umumnya  kita   kenal  sekarang  adalah bahasa  tingkat tinggi,   di  mana  kata-kata  perintahnya sudah  meng- gunakan bahasa manusia (Bahasa Inggris).

Di dalam pembuatan program, saat ini kita  tidak  lagi  hanya menyusun perintah-perintah dalam  teks,  tetapi juga dibantu dengan  alat   desain visual   yang otomatis akan membuatkan perintah program. Gabungan dari  bahasa  pemrograman  dan   alat  desain  visual    tersebut  dikenal dengan istilah  development tools (alat pengembangan).



Macam-macam development tools  yang terkenal antara lain:
  • ƒ    Visual Basic
  • ƒ    Visual FoxPro
  • ƒ    Delphi



Gambar 1-3.  Membuat program dengan Visual FoxPro



Program Aplikasi

Program aplikasi adalah  program yang dibuat untuk tujuan tertentu, misalnya untuk penjualan di supermarket, untuk mengelola data pasien di rumah sakit, untuk mencetak kuitansi dan  sebagainya.

Program aplikasi sangat banyak ragamnya karena disesuaikan dengan kebutuhan masing-masing pembuat atau pemesannya.



Gambar 1-4.  Tampilan sebuah program aplikasi untuk toko swalayan



Program Paket



Program paket adalah gabungan dari  beberapa program aplikasi yang dipaket   menjadi   satu   kesatuan   untuk   menangani   suatu   bidang pekerjaan yang saling berkaitan. Contoh program paket yang terkenal adalah Microsoft  Office,  di mana di dalamnya terdapat program untuk mengolah   kata   (Word),  program   untuk  perhitungan  dan    tabulasi (Excel),   program   untuk   presentasi   (PowerPoint)  dan    sebagainya. Microsoft   Office  dibuat untuk memenuhi kebutuhan perkantoran  pada umumnya.

Ditinjau   dari   bidang  pekerjaan  yang  ditangani,  program  paket  bisa dibedakan antara lain menjadi:
  • ƒ    Aplikasi Perkantoran, seperti: Microsoft  Office dan  StarOffice
  • ƒ    Aplikasi Database, seperti: Oracle dan   SQL Server
  • ƒ    Aplikasi Graphics, seperti: PhotoShop dan CorelDraw!



Gambar 1-5.  Program-program yang tersedia pada Microsoft Office



Utilitas



Utilitas  adalah program-program bantu yang bertujuan untuk mengatur konfigurasi  komputer,  menjaga  komputer  dari   serangan  virus   dan



hacker, menyelamatkan data dan sebagainya. Program jenis  ini umum- nya   tidak   banyak  melibatkan pemakai  dalam  penggunaannya,  tetapi bekerja sendiri sesuai dengan perintah atau fungsinya.

Contoh program utilitas   yang terkenal yaitu:   Windows Explorer,  Anti- Virus, Backup, Disk Defragmenter dan  lain-lain.



Gambar 1-6.  Program anti  virus sedang mendeteksi virus komputer



Permainan

Permainan  adalah  program-program  yang dibuat untuk menampilkan permainan  interaktif pada  layar   komputer. Jenis  program ini  sangat banyak ragamnya, bahkan sampai setara dengan simulasi dunia nyata. Saat ini telah banyak dibuat program permainan yang dapat dimainkan secara  bersama-sama  oleh   banyak  orang  melalui jaringan  komputer lokal  maupun internet.

Contoh program permainan yang umumnya kita  kenal antara lain:
  • ƒ    Solitaire (tersedia pada Accessories Windows)
  • ƒ    Counter Strike  (umumnya dimainkan di game-game center)
  • ƒ    Kurusetra (terkenal  sebagai  game  internet asli  buatan anak Indo- nesia)






Gambar 1-7.  Tampilan program permaian FreeCell



Multimedia

Program multimedia meliputi program-program untuk memainkan musik/lagu, memutar film/video, menangkap  siaran radio/televisi dan sebagainya. Program jenis  ini berupaya memanfaatkan komputer untuk menggantikan perangkat-perangkat  elektronika lainnya, atau mengen- dalikan pemakaian peralatan lain tersebut sehingga lebih berdaya guna.

Contoh program multimedia yang biasa kita  kenal antara lain:
  • ƒ    WinAmp  (umumnya digunakan untuk memainkan lagu MP3)
  • ƒ    Jet-Audio  (bisa  memainkan  berbagai  format lagu   serta memutar video)
  • ƒ    RealPlayer (bisa menangkap siaran radio  dan  TV dari internet).




Gambar 1-8.  Tampilan program Jet-Audio



Manusia

Manusia  adalah   unsur  yang   paling   menentukan  di   dalam  sistem komputer, karena manusia mempunyai otak (brain) yang dinamis dan bisa  membuat kebijaksanaan. Manusia bisa  mempertimbangkan banyak elemen sekaligus dalam membuat keputusan, termasuk menggunakan intuisi.   Hal  inilah   yang  tidak   dimiliki   oleh   perangkat  keras  maupun perangkat lunak komputer.



Sebagai pemakai komputer, manusia digolongkan dalam tiga  kategori, yaitu:
  • ƒ    System   Analyst, yaitu   orang  yang  menganalisa  kebutuhan  dan menentukan bagaimana sistem komputer bisa  memenuhi kebutuhan tersebut;
  • ƒ    Programmer,  yaitu  orang yang menyusun perintah-perintah dalam bahasa  pemrograman  sehingga  komputer  bisa   melakukan  tugas untuk memenuhi kebutuhan yang diharapkan;
  • ƒ    Operator,   yaitu   pemakai  atau  orang yang  menjalankan program yang telah dibuat oleh  programmer. Pemakai komputer yang kita kenal  umumnya  tergolong  kategori  ini   karena  tidak  menyusun sendiri programnya tetapi langsung menggunakan. Istilah  lain  untuk pemakai adalah user  (pemakai).




Gambar 1-9.  Pemakai komputer



Jaringan Komputer dan Internet

Pada umumnya, komputer yang kita  gunakan atau yang sering kita  lihat di  rumah-rumah  adalah  komputer  yang  berdiri   sendiri, artinya  tidak berhubungan dengan komputer lainnya. Komputer yang berdiri  sendiri ini disebut komputer stand-alone.

Sebenarnya  komputer-komputer  bisa   saling berhubungan antara  satu dengan  yang  lain.   Komputer-komputer  yang  saling  berhubungan  di- sebut jaringan komputer (network). Jaringan ini bisa  meliputi area yang kecil,  misalnya untuk satu kantor saja, yang disebut local  area network (LAN).  Ada juga  jaringan komputer yang luas, misalnya meliputi satu kampus atau satu daerah, yang disebut wide area network (WAN).

Kegunaan jaringan komputer antara lain:
  • ƒ    Bisa  saling bertukar data atau informasi secara langsung,
  • ƒ    Bisa  memanfaatkan peralatan yang dipasang pada komputer lain,
  • ƒ    Bisa  mengerjakan suatu pekerjaan secara bersama-sama.



Jaringan  komputer yang meliputi seluruh dunia yang sangat  terkenal adalah internet. Melalui  internet orang di seluruh dunia bisa  saling berhubungan, saling bertukar data/informasi, bermain bersama dan se- bagainya.



Jika komputer kita  ingin  dihubungkan  dengan komputer  yang lain, kita harus memasang  perangkat jaringan, misalnya memasang  LAN  Card dan   menghubungkan komputer tersebut dengan kabel jaringan. Jika komputer kita  ingin  dihubungkan dengan internet, kita  bisa  memasang modem dan  berlangganan koneksi internet pada perusahaan penyedia jasa  internet (Internet Service Provider/ISP).



Gambar 1-10. Tampilan sebuah situs web di internet
Share:

Saturday, 22 December 2018

KEAMANAN SISTEM INFORMASI INTERNET

KEAMANAN SISTEM INFORMASI INTERNET




             Pendahuluan

Setiap harinya server-server yang terkoneksi 24 jam ke Internet selalu menghadapi ancaman dari para hacker atau Internet freaks lainnya dengan „niatan‰ kriminal tertentu atau juga untuk memberi masukan akan adanya celah keamanan di berbagai server sekaligus beserta sistem operasinya. Masalah keamanan merupakan salah satu aspek penting dari sebuah sistem informasi, sayang sekali masalah keamanan ini seringkali kurang mendapat perhatian dari para pemilik dan pengelola sistem informasi.
Jatuhnya informasi ke tangan pihak lain (misalnya pihak lawan bisnis) dapat menimbulkan kerugian bagi pemilik informasi. Sebagai contoh, banyak informasi dalam sebuah perusahaan yang hanya diperbolehkan untuk diketahui oleh orang-orang tertentu di dalam perusahaan tersebut, seperti misalnya informasi tentang produk yang sedang dalam pengembangan serta algoritma- algoritma dan teknik-teknik yang digunakan untuk menghasilkan produk tersebut. Untuk itu keamanan dari sistem informasi yang digunakan harus terjamin dalam batas yang dapat diterima.
Jaringan komputer seperti LAN dan Internet memungkinkan tersedianya informasi secara cepat. Ini salah satu alasan perusahaan atau organisasi mulai berbondong-bondong membuat LAN untuk sistem informasinya dan menghubungkan LAN tersebut ke Internet. Terhubungnya LAN atau komputer ke Internet membuka potensi adanya lubang keamanan (security hole) yang tadinya bisa ditutupi dengan mekanisme keamanan secara fisik.
Berkembangnya WWW dan Internet menyebabkan pergerakan sistem informasi untuk menggunakannya sebagai basis. Banyak sistem yang tidak terhubung ke Internet tetapi tetap menggunakan web sebagai basis sistem informasinya yang dipasang di jaringan Intranet. Untuk itu, keamanan sistem informasi yang berbasis web dan teknologi Internet bergantung kepada keamanan sistem web tersebut.
Arsitektur sistem web terdiri dari dua sisi: server dan client. Keduanya dihubungkan dengan jaringan komputer (komputer network). Selain menyajikan data-data dalam bentuk statis, sistem web dapat menyajikan data dalam bentuk dinamis dengan menjalankan program. Program ini dapat dijalankan di server (misal dengan CGI atau servlet) dan di client (applet, atau Javascript). Sistem server dan client memiliki permasalahan yang berbeda. Keduanya akan dibahas secara terpisah. Ada asumsi yang salah dari sistem web yang dilihat dari sisi pengguna:
  • Banyak sekali yang beranggapan bahwa banyak orang yang baik hati dan jujur di Internet. Dengan santainya kita menginstal software gratis yang disediakan di Internet tanpa kita sadari mungkin saja software tersebut telah dimodifikasi atau disisipi Trojan. Asumsi yang digunakan: saya sudah menggunakan firewall, saya sudah mengimplementasi IDS, saya sudah meng-update Perlu ditegaskan bahwa hal tersebut hanya bisa memperlambat proses terjadinya serangan, bukan menghentikan serangan.
  • Kita menginstal suatu sistem operasi yang terus-menerus dikoneksikan ke Internet untuk memberikan layanan web server. Domain yang kita beli tidak aman dari ganguan, misalnya penyalahgunaan domain oleh pihak lain yang telah atau akan membeli domain
  • Merasa aman saat kita melakukan browsing Internet padahal saat ini telah banyak situs yang mencatat semua kegiatan kita, mulai dari IP address, lama, pola, dan intensitas surfing. Semuanya akan dicatat oleh server tersebut. Jika informasi itu hanya dijadikan sebagai alat ukur sih tidak menjadi masalah, tapi jika informasi tersebut dijual ke pihak lain untuk menawarkan produk-produk mereka, hal ini menjadi salah satu sebab kita sering dikirimi email-email
  • Berasumsi bahwa software yang gratis tidak mempunyai script lain.Spyware saat ini banyak ditemui pada software-software gratis. Spyware akan memata-matai kegiatan kita selama terkoneksi ke Internet. Setelah informasi terkumpul maka secara periodik ia akan menghubungi
Asumsi dari penyedia jasa (webmaster atau service provider) antara lain:
  • Merasa user adalah orang-orang yang baik yang tidak ingin mencoba-coba merusak
  • Pengguna tidak berniat untuk merusak server atau mengubah isinya (tanpa izin).
  • Pengguna hanya mengakses dokumen-dokumen atau informasi yang diizinkan untuk diakses. Seorang pengguna tidak mencoba untuk masuk ke direktori yang tidak diperkenankan.
  • Merasa cukup dengan metode user dan password yang absah, padalah ada banyak cara untuk mendapatkan password dengan mudah.

  Keamanan Server WWW

Keamanan server WWW biasanya merupakan masalah dari seorang administrator. Dengan memasang server WWW di sistem Anda, Anda membuka akses (meskipun secara terbatas) pada orang luar. Apabila server Anda terhubung ke Internet dan memang server WWW Anda disiapkan untuk publik, Anda harus lebih berhati-hati sebab Anda membuka pintu akses ke seluruh dunia. Server WWW menyediakan fasilitas agar client dari tempat lain dapat mengambil informasi dalam bentuk berkas (file) atau mengeksekusi perintah (menjalankan program) di server.
Fasilitas pengambilan berkas dilakukan dengan perintah GET, sementara mekanisme untuk mengeksekusi perintah di server dapat dilakukan dengan CGI (Common Gateway Interface), Server-side Include (SSI), Active Server Page (ASP), PHP, atau dengan menggunakan servlet (seperti penggunaan Java Servlet). Kedua jenis servis di atas (mengambil berkas biasa maupun menjalankan program di server) memiliki potensi lubang  keamanan yang berbeda. Adanya lubang keamanan di sistem WWW dapat dieksploitasi dalam bentuk yang beragam, antara lain:
  • Informasi yang ditampilkan di server diubah sehingga dapat mempermalukan perusahaan atau organisasi Anda (dikenal dengan istilah deface).
  • Informasi yang semestinya dikonsumsi untuk kalangan terbatas (misalnya laporan keuangan, strategi perusahaan Anda, atau database client Anda) ternyata berhasil disadap oleh saingan Anda (ini mungkin disebabkan salah setup server, salah setup router/firewall, atau salah setup autentikasi).
  • Informasi dapat disadap (seperti misalnya pengiriman nomor kartu kredit untuk membeli melalui WWW atau orang yang memonitor kemana saja Anda melakukan web surfing).
  • Server Anda diserang (misalnya dengan memberikan request secara bertubi-tubi) sehingga tidak bisa memberikan layanan ketika dibutuhkan (Denial of Service Attack).
  • Untuk server web yang berada di belakang firewall, lubang keamanan di server web yang dieksploitasi dapat melemahkan atau bahkan menghilangkan fungsi firewall (dengan mekanisme tunneling).


  Web Server dan Database Server

Web Server dan database server bagaikan jantung dan otak dari organisme Internet. Dua komponen ini menjadi komponen pokok dari sebuah aplikasi Internet yang tangguh dan tepatlah keduanya menjadi target hacker. Dalam beberapa kasus kita harus dapat menentukan titik-titik lemah dalam aplikasi tersebut yang bisa menjadi sasaran penyerang. Ada beberapa server yang sering digunakan dalam dunia web Internet, yaitu Apache dari Apache Software Foundations dan IIS dari Microsoft. Web server berfungsi untuk mendengarkan setiap request pada jaringan dan menjawabnya kepada si pengirim permintaan dengan membawa data tertentu.

Gambar 6.1 Contoh komponen aplikasi web


                Apache

Apache telah menjadi web server terpopuler saat ini. Server Apache telah bekerja pada semua platform seperti NetBSD, UNIX, AIX, OS/2, Windows, HPUX, Novell Netware, Macintosh, BeOS,

FreeBSD, IRIX, dan Solaris. Ada banyak versi Apache sampai saat ini, setiap versi berisi fitur-fitur seperti:
  1. Host Virtual. Memungkinkan sebuah komputer untuk berhubungan dengan sejumlah besar web server pada saat yang bersamaan sehingga satu buah komputer yang menjalankan satu web server dapat melayani banyak halaman dari beragam situs
  2. Server-side Includes. Perintah-perintah yang ada dalam halaman Web HTML yang menyediakan fungsi server-side. SSI serupa dengan CGI yang secara khusus digunakan untuk membuat sebuah halaman web yang Situs web sering mengaktifkan fitur ini untuk mengerjakan file berekstensi
.shtml dan mengendalikan SSH.
  1. Halaman Web Dinamis dari CGI. Suatu mekanisme orisinil yang dikembangkan untuk mengirimkan isi data yang dinamis ke
  2. Handler, Pengendali untuk mengendalikan beragam request pada web berdasarkan nama file. File-file tertentu seperti .asp dan seterusnya. Handler bersifat built-in dan megendalikan isi data statis seperti HTML.
  3. Variabel Lingkungan.
  4. Pemetaan URL ke sistem

  Internet Information Service (IIS)

Produk dari Microsoft dalam jajaran web servernya, namun saat ini IIS tergeser dominasinya dengan Apache yang lebih berdaya guna. Sudah menjadi rahasia umum bahwa sistem keamanan di sisi IIS sangat rentan, ini bisa dilihat dari sisi aplikasi-aplikasi Internet Server Applications Programming Interface (ISAPI). ISAPI membuka kesempatan pengembang untuk memperluas keguanaan server IIS dengan membuat program mereka sendiri untuk mengolah dan mengendalikan data dan request yang dikirim. Hal ini berarti meningkatkan kontrol atas request.

Secara default IIS menginstal ISAPI yang digunakan untuk mendobrak IIS. Dengan menambah fitur yang dimiliki ISAPI berarti menambah kekhawatiran rentannya keamanan seperti filter .ldq dan .ida yang ternyata bertanggung jawab atas masuknya worm Nimda dan CodeRed. Worm tersebut menyebabkan kondisi buffer overflow pada ekstensi *.ida.
Worm ini mengekplotasi kelemahan server indeks .ida sehingga membuka kesempatan bagi penyerang untuk mengirimkan  request ke web server dan menyebabkan overflow DLL yang mengendalikan request. Penyelesaian masalah filter ini adalah tetap mengikuti semua security patch dari Microsoft dan menerapkan yang cocok.

                Bahasa Pemrograman Internet

Ada banyak bahasa web yang populer di dunia Internet seperti HTML, DHTML, XML, XHTML, Perl, PHP, ASP, Cold Fusion, dan
lain-lain. HTML merupakan framework Internet, hampir semua situs web yang ada menggunakan HTML untuk menampilkan teks, grafik, suara, dan animasinya. Dengan kemudahannya, HTML banyak digunakan. Hal ini memungkinkan seorang intruders untuk mencari vurnerability dari sisi bahasa ini. Ada banyak actions dalam  HTML  seperti  <form>,  <form  actions>,  <form   method>,
<input>, <apllet>, dan lain-lain.
Turunan dari HTML adalah eXtensible Markup Language (XML) yang lebih bersifat terbatas dibandingkan dengan elemen-elemen HTML yang telah distandarisasi dan ditentukan. Pusat perhatian perluasan elemen ini adalah Document Type Definitions (DTD).
Perl atau Practical Extraction and Report Language merupakan bahasa pemrograman tingkat tinggi. Perl sangat tangguh dan fleksibel karena ia dapat digunakan untuk menulis program yang bersifat server-side, menjalankan fungsi-fungsi lokal pada suatu sistem, atau digunakan untuk aplikasi standalone.
PHP atau Personal Home Page awalnya digunakan untuk mencatat pengunjung yang membuka halaman tertentu. PHP merupakan bahasa server-side yang paling banyak digunakan untuk membuat aplikasi standalone yang tidak terkait dengan web. Kelemahan

PHP dan Perl sama, yaitu bila script memproses input dari browser web untuk query database seperti sistem(), passthry(), shellxec(), exec(), atau server-side includes (SSI), penyerang dapat melakukan sanitasi variable input untuk mengesekusi yang tidak diinginkan.
Cold Fusion adalah sistem yang dikembangkan oleh Allaire yang memiliki tiga komponen utama: Application Server, Markup Language, dan Studio. CFM serupa dengan HTML yang mempunyai tag yang sangat luas seperti koneksi ke database dan dukungan Post. Kelemahannya, penyerang yang jago dalam pemrograman tidak akan mengalami kesulitan untuk mengetahui isi database dengan perintah query.
ASP (Active Server Page) dibuat oleh Microsoft untuk lingkungan scripting server-side dan diciptakan khusus untuk server-side Internet Information Sistems (IIS). ASP mengkombinasikan HTML, code scripting, VBScript, dan komponen ActiveX server-side untuk menciptakan isi yang dinamis. Di balik semua itu sudah menjadi rahasia umum bahwa Windows dengen server IIS banyak mempunyai lubang kelemahan yang dapat dimanfaatkan oleh penyusup. ASP hadir dengan dua dasar, yaitu server-side dan client-side. Form server-side hadir dalam bentuk kode-kode ASP dengan tag dan form client-siden-ya dalam bentuk HTML.

Contoh pemrograman dengan ASP dengan cara server-side dan client-side:

Saat dieksekusi, di browser akan tampak script dari ASP dengan menampilkannya lewat Notepad.
Dua solusi dasar bagi keamanan ASP: buanglah sampel-sampel file dari direktori yang terinstal secara default dan sanitasikan atau bersihkan field inputnya.

   Keamanan pada Aplikasi Web dengan PHP

Vulnerability atau kelemahan keamanan pada PHP bisa dikarenakan kesalahan pada program script PHP yang kita buat atau pada konfigurasinya. Program PHP itu sendiri kita jalankan sebagai modul atau CGI (vulnerability bawaan) dan program web server yang akan berinteraksi dengan program PHP.
  1. Kode PHP yang tidak diparsing
Kita sering kali meng-include file kode PHP untuk kemudahan scripting, misalnya memisahkan kode PHP yang berisi fungsi, class, atau konfigurasi dengan kode PHP untuk implementasinya. Kode PHP yang dipisahkan tersebut kemudian dipanggil dengan fungsi include(), include_once(), require(), atau require_once(). Jika include file adalah kode PHP yang akan dieksekusi, pastikanlah file tersebut diparsing sebagai file PHP, misalnya config.inc.php, atau jika ingin menggunakan ektensi .inc maka pastikan konfigurasi web server membuat file tersebut di-parsing sebagai file PHP.

Tambahkan script agar ketika file diakses secara langsung oleh user maka hanya akan didapatkan baris kosong atau akan langsung di-redirect ke halaman lain.

dapat me-request file berekstensi .inc, misalnya pada Apache kita dapat menambahakan konfigurasi seperti ini:
Hal tersebut di atas dilakukan untuk menghindari attacker mendapatkan source code file karena file dikirim tanpa di- parsing. Jika attacker bisa mendapatkan file source code  maka akan membuat mudah bagi mereka untuk mencari lubang kemanan di aplikasi.
  1. Variabel auto global
Banyak aplikasi PHP yang memiliki lubang keamanan yang berasal dari kemampuan varibel autoglobal. Oleh karenanya mulai versi 4.3.1 PHP sudah membuat default autoglobal pada php.ini bernilai off. Tentu saja sebenarnya kelemahan keamanan bukan berawal dari varibel autoglobal, tapi dari kelalaian programmer.
Sebenarnya dengan adanya fasilitas autoglobal pada varibel, programmer diberikan kemudahan, tapi memudahkan pula terjadinya lubang keamanan. Dengan fasilitas ini suatu varibel misalnya $x tidak perlu dideklarasikan dahulu dan bisa merupakan varibel session, varibel cookie, dan varibel dari GET/POST. Lubang kemanan tersebut bisa mengakibatkan:
  • Denial of Service
  • Authentication failure
  • Account hijacking
  • Perusakan tampilan/layout
  • Implementasi virus web browser
  • dan lain-lain
Kebanyakan lubang keamanan pada aplikasi PHP adalah akibat varibel autoglobal ini adalah aplikasi yang open source sehingga user dapat mengetahui kode aplikasi dan mengetahui nama-nama varibel yang digunakan. Dengan sedikit trik security through obscurity sebenarnya kita agak terlindungi dari akibat fasilitas varibel autoglobal ini. Bersiap-siaplah  untuk belajar pemrograman dengan security in mind.
  1. Fungsi include(), require() atau fopen()

Akibat mekanisme autoglobal, suatu varibel dalam PHP menjadi tidak jelas jenisnya. Jenis variabel jadi tidak bisa dibedakan atara variabel dari GET/POST, varibel dari ENVIRONTMENT, atau varibel dari COOKIES/SESSION. Akibatnya, suatu variabel apa saja yang kita definisikan dapat dengan mudah kita isi dengan nilai dari varibel GET atau POST.
Kelemahan biasanya muncul ketika varibel untuk parameter fungsi include(), require() atau fopen()digunakan. Kita tahu bahwa dengan fungsi tersebut kita dapat melakukan eksekusi/parsing file PHP dari file lain, baik pada file dari disk lokal atau file dari situs lain. Jika varibel untuk  parameter fungsi tersebut diketahui, attacker dapat mengganti nilai  varibel tersebut dengan mengirimkan nilai varibel  lewat metode GET atau POST.

Contoh di bawah ini adalah vulnerability akibat menggunakan varibel pada fungsi include(). Perhatikan kode dibawah ini:


 phpgw_info.inc.php dapat berisi kode PHP yang bisa dieksekusi oleh server korban/victim, misalnya berupa kode:

Detil             vulnerability              dapat             dilihat              di http://online.Securityfocus.com/advisories/2947. Kejadian seperti di atas, di mana suatu kode PHP dari situs lain diambil

agar dieksekusi di server korban sering disebut Cross Site Scripting (XSS).

Ada beberapa pencegahan dari kelemahan ini seperti jangan meng-include atau sejenisnya dengan parameter sebuah varibel, misalnya include($file) atau include($dir."file.php").  Jika hal ini terpaksa dilakukan, gunakan filter dengan regular expression untuk mengecek varibel tersebut. Contoh:





  1. Kondisi varibel yang tidak jelas
Proses autentikasi ataupun autorisasi seringkali dilakukan dengan mengecek kondisi yang membandingkan varibel GET/POST yang diberikan user atau varibel dari session/cookie dengan suatu nilai.

Misalkan suatu halaman melakukan otentifikasi dengan kode seperti di bawah ini:


dan kemudian sebuah halaman menggunakan autorisasi dengan cara mengecek varibel session_auth seperti ini:

Kode pengecekan tersebut tidaklah aman, sebab dengan mudah attacker dapat mengakses halaman tersebut dengan URL seperti http://victimhost/page.php?session_auth=1 yang dapat membuat kondisi pada if di atas menjadi TRUE.
Kesalahan pemrograman seperti ini juga terjadi pada jenis varibel dari GET/POST varibel cookie.
Sebagai solusinya, aturlah konfigurasi auto_global menjadi off pada file php.ini dan mulailah memprogram dengan pendefinisian varibel yang jelas, misalnya $_GET, $_POST,
$_COOKIE atau $_SESSION.

                   

  1. SQL Injection

Akibat lain dari varibel autoglobal adalah eksploitasi dengan SQL Injection. SQL injection berarti memanipulasi suatu query atau memasukan suatu query dengan menggunakan query lain. Cara ini dapat dilakukan karena pada program yang dibuat terdapat query yang menggunakan varibel. Di bawah ini adalah contoh request yang mencoba melakukan SQL Injection pada query yang memiliki varibel $search.

Varibel $search di atas bernilai "a‰ order by time desc; [query]". [query] dapat berisi SQL query baru yang lengkap yang membahayakan, misalnya query untuk menghapus database/tabel.
Di bawah ini adalah contoh bagaimana terjadinya account hijacking dengan cara.
SQL Injection terjadi pada aplikasi portal PHP-Nuke dan Post- Nuke. Query pada kode di bawah ini tidak aman karena ada variabel yang nilainya diambil dari cookie. Oleh karena cookie


disimpan di client, user dapat dengan mudah mengganti cookie-nya.

Kesalahan pada kode di atas adalah pada bagian eksekusi query where uid=„$cookie[0]‰ yang mengambil varibel untuk uid dari cookie.
Untuk mengeksploitasi vulnerabity ini maka kita perlu  membuat account (valid user) untuk melewati if($save AND is_user($user)), kemudian mengubah cookie dengan pada bagian username, men-base64-encode cookie, kemudian melakukan request dengan save=1 pada article.php lewat modules.php.

Contoh lain adalah DoS dengan menggunakan metode SQL Injection pada situs PHPNuke dengan request seperti ini:

Selengkapnya, vunerability dapat dilihat di link http://online.Securityfocus.com/archive/1/293089. Perhatikan bagian sid=1234%20or%201=1 yang berarti sid = 1234 or 1=1. Bagian tersebut diinjeksikan ke query database. Metoda injeksi SQL dengan operator bolean OR kemudian diikuti ekpresi yang bernilai benar/true dan merupakan metoda yang umum. Contoh berikut ini memperlihatkan cara tersebut untuk mendapatkan account administrator dari databse. Perhatikan kode untuk query database berikut:

 sebagai komentar oleh database sehingga jika query tersebut digunakan untuk proses autentikasi user dengan cara:

Akibatnya, attacker telah berhasil melewati proses autentikasi tanpa perlu mengetahui password administrator.
Sebagai solusinya, filter varibel pada query sebaiknya tidak memperbolehkan karakter „aneh‰ seperti #, ?, %, -, dan lain- lain. Filter dapat dilakukan dengan menggunakan regular expression.
  1. Session Spoofing
Mekanisme session pada PHP tidak dilakukan  dengan  cara  yang cukup aman. Ketika suatu  session  dibentuk,  misalnya  saat user login, maka sebuah file untuk  menyimpan  data  variabel session dibuat dan akan tetap ada sebelum session di- destroy. Session file tersebut dibuat pada direktori yang didefinisikan pada php.ini sebagai  session.save_path.  Pada UNIX biasanya direktorinya adalah /temp/, sedangkan pada Windows adalah sessiondata pada direktori di  mana  PHP diinstal.
File tersebut biasanya bernama seperti ini: sess_48f220fd650c06e84a15be8fb85d           dengan 48f220fd650c06e84a15be8fb85d adalah nomor session ID aktual. Session file dibuat oleh user yang menjalankan PHP/web server, biasanya adalah nobody.

Seorang attacker yang cukup memiliki kemampuan untuk menyimpan file PHP sehingga file dapat diakses lewat URL dapat membuat sebuah program PHP yang melihat semua session file yang ada kemudian melihat isinya. Sebuah session dapat berisi informasi-informasi yang krusial seperti username, password, dan lain-lain sehingga attacker dapat mengambil informasi tersebut atau paling tidak jika sistem pengecekan untuk otentifikasi tidak terlalu rumit, misalnya tanpa pengecekan IP host dari client maka attacker dapat men-take over session tersebut dengan session ID. Atau bisa saja jika attacker tahu apa yang harus diisi pada file tersebut maka dia dapat membuat session-nya sendiri.

Solusi masalah tersebut adalah dengan mengubah direktori tempat menyimpan session file. Hal ini bisa dilakukan lewat file konfigurasi php.ini atau dengan fungsi session_save_path() pada kode PHP Anda. Kemudian, buatlah agar direktori tersebut hanya memiliki hak akses execute dan writable oleh user yang menjalankan web server.

Kita juga dapat mengonfigurasi PHP agar  menyimpan  sessionnya pada database dengan session_set_save_handler.
Tentu saja solusi ini tidak terlalu baik, tetapi paling tidak sudah memberi pekerjaan lebih buat attacker. Sebagai  tambahan, jika kita ingin menyimpan data yang krusian di session misalnya password, kita dapat melakukan enkripsi varibel sebelum varibel tersebut disimpan pada session, misalnya: minimal dengan Base64 encoding. Session spoofing juga dapat terjadi akibat tidak amannya cara penampilan suatu halaman PHP.

                Keamanan Program CGI

Common Gateway Interface (CGI) digunakan untuk menghubungkan sistem WWW dengan software lain di server web. Adanya CGI memungkinkan hubungan interaktif antara user dan server web. CGI seringkali digunakan sebagai mekanisme untuk mendapatkan informasi dari user melalui fill out form, mengakses database, atau menghasilkan halaman yang dinamis.
Meskipun secara prinsip mekanisme CGI tidak memiliki lubang keamanan, program atau skrip yang dibuat sebagai CGI dapat memiliki lubang keamanan (baik secara sengaja dibuat lubang keamanannya ataupun tidak sengaja). Pasalnya, program CGI ini dijalankan di server web sehingga menggunakan resources web server tersebut. Potensi lubang keamanan yang dapat terjadi dengan CGI antara lain:
  • Seorang pemakai yang nakal dapat memasang skrip CGI sehingga dapat mengirimkan berkas password kepada pengunjung yang mengeksekusi CGI
  • Program CGI dipanggil berkali-kali sehingga server menjadi terbebani karena harus menjalankan beberapa program CGI yang menghabiskan memori dan CPU cycle dari web
  • Program CGI yang salah konfigurasi sehingga memiliki otoritas seperti sistem administrator sehingga ketika dijalankan dapat melakukan perintah apa saja. Untuk sistem UNIX, ada saja administrator yang salah setting sehingga server web (httpd) dijalankan oleh
  • CGI guestbook yang secara otomatis menambahkan informasi ke dalam halaman web seringkali disalahgunakan oleh orang yang nakal dengan mengisikan link ke halaman pornografi atau diisi dengan sampah (junk text) sehingga memenuhi disk pemilik
  • Teks (informasi) yang dikirimkan ke CGI diisi dengan karakter tertentu dengan tujuan untuk merusak sistem. Sebagai contoh, banyak search engine yang tidak melakukan proses „sanitasi‰ terhadap karakter yang dituliskan oleh user. Bagaimana jika user memasukkan abcd; rm -rf / atau %; drop table dan sejenisnya? (Tujuan utamanya adalah melakukan attack terhadap SQL server di server)

   Serangan Lewat URL

URL merupakan sebuah mekanisme untuk mengenali sumber- sumber pada web, SSL, atau server FTP, termasuk protokol layer aplikasi yang membuat request ke server Web seperti contoh URL http://www.coba.com/images/hardware/pda.html. URL tersebut dapat dijelaskan per bagian. File pda.html sedang di-request oleh protokol HTTP dari sebuah server bernama www.coba.com. Lokasi pda.html dalam ruang situs tersebut adalah pada direktori
/images/hardware. Contoh lainnya seperti:
https://www.coba.com/order/buy.asp?item=A003&pmt=visa      

Kemungkinan besar URL di atas dapat dimanfaatkan hacker. Dugaan pertama bisa ditarik dari nama sumbernya, buy.asp. Ekstensi .asp menandakan bahwa file ini adalah ASP. File-file ASP berjalan secara khusus pada web server Microsoft, yaitu IIS. Dengan demikian kemungkinan besar www.coba.com berjalan pada Windows NT/2000/XP.
Dari parameter-parameternya, kita temukan lagi beberapa petunjuk. Parameter pertama, item=A003, menandakan bahwa item yang sedang dibeli itu menetapkan suatu kode item dan rincian itemnya pasti disimpan pada database.


Gambar 6.2 Gambaran cara kerja URL

Biasanya sistem seperti ini menggunakan Backoffice database Microsoft SQL Server, namun bila ini situs kecil biasanya menggunakan Microsoft Access. Request buy.asp membuat sebuah query SQL kepada server database back-end agar mencari rincian item yang diperintahkan oleh kode itemnya.
Parameter kedua, pmt=visa, menandakan bahwa pembayaran dilaksanakan memakai kartu kredit yang menggunakan Visa. Jadi, file buy.asp kemungkinan besar memiliki kode yang merupakan antarmuka sistem gateway pembayaran kartu kredit, mungkin karena itulah digunakan SSL.

   Meta-Karakter

Karakter-karakter seperti * dan ; dan | dan „ memiliki arti tertentu sebgai meta-karakter pada aplikasi dan script. Karakter-karakter  ini tidak mempengaruhi URL, tetapi jika karakter-karakter itu mengakhiri perintah untuk masuk ke aplikasi, bisa mengubah arti input seluruhnya dan kadang kala menciptakan lubang keamanan.
Saat membuat script CGI yang menerima data masukan dari user, programmer harus berhati-hati terhadap data yang masuk ke program yang dibuatnya karena mungkin saja seseorang dengan sengaja atau tidak sengaja mengirimkan data yang dapat menyebabkan hal-hal yang tidak diinginkan. Untuk mencegah user mengirimkan data yang tidak diinginkan, programmer harus melakukan proses sanitasi terhadap data-data yang masuk ke program.
Pada kebanyakan script CGI yang menerima data dari user, data tersebut datang dari environment variable yang disebut
$QUERY_STRING. Seorang programmer harus memiliki kontrol terhadap data-data dalam variabel $QUERY_STRING ini sebelum data-data tersebut diproses lebih lanjut. Pengontrolan terhadap data-data ini disebut sanitasi data.
Seorang pembuat script yang sadar akan perlunya proses sanitasi data dapat melakukan proses ini dengan membuang sejumlah meta-karakter yang sudah diketahui dari script dan menggantikannya dengan karakter underscore (_). Cara yang umum digunakan tetapi tidak dianjurkan adalah dengan


menggantikan sejumlah meta-karakter tertentu. Contoh dalam bahasa Perl:



Pada metode ini, programmer menentukan karakter-karakter yang tidak diperbolehkan ada dalam data yang dimasukkan oleh user dan menggatikan data-data tersebut. Masalahnya adalah bahwa programmer harus mengetahui semua data yang mungkin dapat disalahgunakan. Jika ada data yang terlewatkan oleh programmer, ada kemungkinan bahwa script yang dibuat dapat digunakan oleh orang lain untuk hal-hal yang tidak diinginkan programmer.

Metode yang lebih baik adalah dengan mendefinisikan karakter- karakter yang dapat diterima dan menggantikan karakter-karakter selain yang telah didefinisikan dengan karakter underscore (_). Sebagai contoh, perhatikan baris program dalam modul percent_x.c pada paket tcp_wrappers yang ditulis oleh Wietse Venema.

Keuntungan metode ini adalah bahwa programmer dapat merasa yakin bahwa semua data yang dimasukkan dapat dikontrol. Metode ini berlawanan dengan metode sebelumnya. Pada metode yang pertama, programmer harus memastikan bahwa dia telah mengetahui semua karakter yang tidak dapat diterima, sedangkan pada metode kedua programmer hanya perlu memastikan bahwa dia telah mengidentifikasikan semua karakter yang dapat diterima sehingga programmer tidak perlu bersusah payah memikirkan karakter-karakter yang mungkin digunakan oleh attacker untuk menembus pemeriksaan karakter.
Proses sanitasi tidak hanya perlu diaplikasikan pada data user yang dilewatkan melalui environment variable. Contoh lain yang memerlukan proses sanitasi ini adalah pada pemrosesan nama file. Misalnya, script Perl yang menerima nama file dari user harus melakukan proses sanitasi terhadap nama file yang diberikan sebelum memeriksa bahwa file yang akan diakses tersebut benar- benar ada. Alasan yang mendasari hal ini adalah bahwa meta- karakter seperti > dan | memiliki arti khusus pada fungsi-fungsi untuk memanipulasi file pada Perl.

                Bug Unicode Microsoft IIS

Deface adalah suatu aktvitas mengubah halaman depan atau isi suatu situs Web sehingga tampilan atau isinya sesuai dengan yang Anda kehendaki. Microsoft Internet Information Server atau MS IIS 4.0/5.0 mempunyai suatu bug yang dinamakan unicode bug. Dengan bug ini, Anda dapat mengeksplorasi komputer target dengan hanya menggunakan browser Internet. Tujuan utama tutorial ini adalah men-deface suatu situs Web. Langkah-langkah yang harus Anda lakukan dibahas di bawah ini.
  1. Menentukan situs Anda harus menentukan target situs yang akan Anda deface.
  1. Cari informasi mengenai sistem operasi dan web server yang digunakan. Ada beberapa kemungkinan yaitu:
    • Menggunakan web server yang bukan MS IIS dan berjalan di sistem operasi yang bukan Windows NT atau Windows 2000.
    • Menggunakan web server yang bukan MS IIS tapi berjalan di sistem operasi Windows NT atau Windows
    • Menggunakan MS IIS tapi sudah di-patch atau diperbaiki bug unicode-nya.
    • Menggunakan MS IIS dan belum di-patch bug unicode-nya.
Dari semua kemungkinan di atas hanya kemungkinan terakhir yang bisa membuat misi deface Anda sukses. Cara paling sederhana untuk mengetahui sistem operasi dan webserver yang dijalankan oleh suatu situs adalah dengan menggunakan fasilitas penelaahan yang disediakan secara online di http://www.netcraft.com.

             Kesalahan pada Mesin Proxy

Penyerang bisa saja memanfaatkan kelamahan pada mesin proxy. Oleh karena penyerang tidak dapat menembus pertahanan server utama maka penyerang mengatur cara untuk mendapatkan akses ke proxy server yang juga meng-host salinan dari halaman- halaman erb yang asli, memeodifikasi halaman web pada staging area (wilayah tempat penyusunan dan persiapan) menyebabkan suatu situs bias dirusak dan diganti-ganti isinya melalui replikasi otomatis.
Titik entri yang pertama dan terlemah untuk memasuki jaringan adalah melalui port proxy HTTP. Port ini biasanya digunakan untuk melewatkan request proxy HTTP pada proxy server ke dalam jaringan walaupun situs web yang di-host pada server diproteksi oleh suatu mekanisme autentikasi password HTTP, namun penyerang dapat mencoba-coba dengan cara bruce force attack untuk mendapatkan user name dan password. Maka dari itu, administrator harus mematikan percobaan memasukkan password

yang salah, misalkan sebanyak tiga kali secara terus-menerus. Ada banyak tool untuk men-crack password secara remote diantaranya adalah brutus, WebCracker, dan lain-lain. Di sini penulis menyarankan untuk berhati-hati mendownload software dari situs-situs yang tidak terkenal karena nanti jangan-jangan kita sendiri yang akan terkena hack.
Langkah-langkah yang melengkapi usaha penyerang adalah proses replikasi otomatis yagn dieksekusi secara sistem scheduling. Hal ini menyebabkan halaman-halaman web yang sudah dimodifikasi akan terkopi ke situs utama.

                Akses Database

Database telah lama menjadi bagian integrasi dalam menjalankan bisnis. Keperluan atas penyimpanan dan pengakesan informasi secara cepat menjadi hal yang mendesak bagi tiap bisnis saat ini.
Aplikasi-aplikasi web saat ini berpasangan erat dengan database yang digunakan untuk beragam kegunaan, mulai dari menyimpan nama-nama user dan password untuk akses resmi, sampai untuk menyimpan alamat-alamat surat user dan informasi kartu kredit untuk mempermudah pembayaran. Maka dari itu pemahamam keamanan bukan hanya meliputi jaringannya saja, tapi juga akses databasenya dan yang terpenting memahami bagaimana penyerang memasuki aplikasi untuk memperoleh akses ke bagian- bagian datanya.
Microsoft SQL Server dan Oracle dapat diakses secara default pada jaringan internal, dengan kata lain jika konfigurasi firewall tidak dikonfigurasi dengan baik maka akan membuka kesempatan penyerang untuk masuk ke koneksi database.
Terbukanya TCP dan UDP 1434 (Microsoft SQLServer) atau TCP 1521 (Oracle) dapat menjadi jalan untuk memata-matai database kita. Sebagai tool-nya, dapat digunakan Fscan dan Foundstone, SQLPing2. Tool-tool ini memungkinkan penyerang untuk mengetahui alamat IP mesin SQL.

Gambar 6.5 Contoh aplikasi web server IIS dengan MS SQL Server

Jika si penyerang mempunyai kemampuan menerobos database maka tidaklah susah bagi penyerang tersebut untuk masuk ke server SQL dan melakukan perubahan, penghapusan, dan lain- lain. Keamanan database merupankan satu dari sekian banyak metodologi yang sering diabaikan dan tidak dikembangkan. Untuk melengkapi dan memperketat kebijaksanaan atas keamanan database, ada beberapa cara pencegahan dalam mengatasi tiap kelemahan.
  1. Selalu meng-updata patch, baik untuk Microsoft atau Oracle. Patch dan beberapa perbaikan baru biasanya diedarkan secara regular. Pastikan patch tersebut berjalan dengan normal dan cobalah dahulu di mesin lain yang
  2. Terapkan aturan-aturan firewall yang ketat, pastikan untuk selalu memerika konfigurasi firewall dari waktu ke waktu dan selalu memblok port-port akses database seperti TCP dan UDP 1434 (MS SQL) dan TCP 1521-1530 (Oracle).
  3. Sanitasi input yang diterima dari user. Data-data yang diterima harus diperiksa tipenya (integer, string, dan seterusnya) dan buanglah karakter meta-karakter.
  4. Membuang prosedur penyimpanan. Pastikan telah Amda membuang stored procedure (termasuk extended store procedure) dari

  1. Penggunaan stored procedured. Bila memungkinkan, gunakan kode SQL yang sudah dipakai dalam sebuah stored procedure dalam penulisan code untuk mengurangi eksploitasi serangan terhadap validasi
  2. Enkripsi Jika server database terpisah dari web server, pastikan untuk mengenkripsi session dengan beberapa cara, misalnya menggunakan IPSec built-in pada Windows 2000.
  3. Minimalisasi hak superuser. Pastikan untuk menerapakan sesedikit mungkin hak-hak akses SU pada akses

  ; Keamanan Client WWW

Pada bagian terdahulu dibahas masalah yang berhubungan dengan server WWW. Dalam bagian ini akan dibahas masalah-masalah yang berhubungan dengan keamanan client WWW, yaitu pemakai (pengunjung) biasa. Keamanan di sisi client biasanya  berhubungan dengan masalah privasi dan penyisipan virus atau Trojan.
Pelanggaran Privasi. Ketika kita mengunjungi sebuah situs web, browser kita dapat „dititipi‰sebuah cookie yang fungsinya adalah untuk menandai kita. Ketika kita berkunjung ke server itu kembali, server dapat mengetahui bahwa kita kembali dan server dapat memberikan layanan sesuai dengan keinginan (preference) kita. Ini merupakan servis yang baik, namun data-data yang sama juga dapat digunakan untuk melakukan tracking kemana saja kita  pergi. Ada juga situs web yang mengirimkan script (misal Javascript) yang melakukan interogasi terhadap server kita (melalui browser) dan mengirimkan informasi ini ke server. Bayangkan jika di dalam komputer kita terdapat data-data yang bersifat rahasia dan informasi ini dikirimkan ke server milik orang lain.
Penyisipan Trojan Horse. Cara ini merupakan penyerangan terhadap client yang lain dengan menyisipkan virus atau Trojan horse. Bayangkan apabila yang Anda download adalah virus atau Trojan yang dapat menghapus isi harddisk Anda. Salah satu contoh yang sudah terjadi adalah adanya web yang menyisipkan Trojan BackOrifice (BO) atau Netbus sehingga komputer Anda dapat dikendalikan dari jarak jauh. Dari jarak jauh orang dapat menyadap apa yang Anda ketikkan, melihat isi direktori, melakukan reboot, bahkan memformat harddisk. Untuk menghadapi sebagaian besar bahaya di Internet, paling tidak komputer kita harus dilengkapi oleh dua hal berikut dan hal ketiga sebagai opsi untk melindungi komputer kita serta untuk menyimpan bukti adanya serangan.
  • Antivirus yang diupdate secara berkala. Dapat dipilih antivirus keluaran McAfee, Norton, Panda AntiVirus, freeware AVG Antivirus, dan AntiVir serta masih banyak pilihan lain. Banyak sekali pertanyaan-pertanyaan yang ada yang menanyakan manakah yang terbaik di antara antivirus yang ada di pasaran. Perlu ditekankan bahwa semua antivirus mempunyai cara dan deteksi yang berbeda-beda, terutama dalam mempelajari pola dari suatu varian virus baru. Saat ini banyak virus yang dapat mengelabui antivirus dan menyembunyikan dirinya. Hal yang penting diperhatikan dalam pemilihan dan penggunaan suatu antivirus adalah fasilitas Update database engine dan dukungan patch. Update-lah secara berkala dari situs antivirus yang kita
  • Personal Firewall yang banyak digunakan adalah versi freeware Zone Alarm. Zone Alarm amat mudah digunakan dan cukup efektif memonitor dan mencegah akses dari Internet ke komputer kita dan sebaliknya. Penggunaan firewall di jaringan LAN tidak dapat menjamin amannya sistem dari serangan, terutama serangan yang berasal dari dalam jaringan. Penggunaan Personal Firewall saat ini menjadi keharusan untuk dapat menyaring lebih detail paket-paket data yang akan masuk dan keluar dari komputer
  • IDS (Intrusion Detection Sistems) merupakan software yang mencatat (logging) penyerangan ke komputer Anda. Hal ini dapat dilakukan dengan IDS seperti Salus, Snort, atau Black Ice Defender. Akan tetapi dalam skala jaringan yang lebih luas penggunaan IDS biasanya menggunakan device khusus yang berfungsi juga sebagai firewall. IDS dapat berfungsi sebagai sensor, director, dan communication service. IDS akan memberikan peringatan secara dini jika ada yang mencoba

menyerang atau hanya sekedar men-scan port jaringan. Pada IDS terdapat Network Security Database, Remote Monitoring and Management Sensor (IDSMs) serta akan mengirimkan email peringatan kepada administrator jika bahaya mengancam. IDs juga melayani komunikasi antara backbone device lain yang semuanya menggunakan komunikasi point- to-point. Sensor akan diitempatkan di belakang firewall. Posisi ini menguntungkan dan akan mengambarkan serangan tersebut. Dengan ditempatkan di posisi ini maka firewall akan memonitor lalu lintas paket yang masuk dan keluar.

                Web Server Security

World Wide Web merupakan sistem pertukaran informasi melalui Internet. Web dibangun melalui sebuah program yang dinamakan web server. Saat ini WWW telah merambah ke seluruh sendi kehidupan, termasuk bisnis, pemerintahan, pendidikan, keagamaan, sosial, dan budaya.
Agar informasi yang kita buat dalam sebuah halaman web dapat dilihat pengguna Internet maka dibutuhkan suatu mesin web server yang akan melayani permintaan dari user yang mengaksesnya. Seperti yang telah digambarkan di awal bab ini, ada beberapa web server yang digunakan seperti Apache dan IIS.
Saat ini Apache merupakan pilihan yang paling banyak digunakan untuk server yang berbasis UNIX/LINUX walaupun Apache juga dapat dijalankan di Windows. Dengan dukungan open source maka penyebaran Apache semakin cepat dari tahun ke tahun. Ada beberapa alasan mengapa Apache menjadi pilihan banyak admin, di antaranya:
  1. Cepat dan efisien: Apache dibuat dalam bahasa C dan karena sifatnya open source maka kita bisa saja membuang atau menambahkan baris kodenya agar lebih ramping atau lebih optimal. Saat ini ada banyak sekali literatur yang mengajari kita cara mengoptimalkan kinerja
  2. Multiplatform: mendukung berbagai platform sistem operasi dari UNIX, OS/2 sampai
  1. Stabil dan berdaya guna: saat versi baru diluncurkan dan dicoba oleh banyak orang, saat itu juga akan ketahuan bug program beserta patch yang akan dengan cepat beredar di Internet, hal ini karena banyaknya programmer dari seluruh dunia yang ikut serta dalam
  2. Mudah: para administrator akan sangat senang karena mudahnya proses maintenance karena file konfigurasi yang hanya berupa teks dapat dengan cepat dimengerti saat terjadi masalah.
Hal yang perlu diperhatikan dalam pengaturan Apache adalah masalah direktif karena Apache adalah sebuah HTTP server yang bekerja dengan melayani request TCP/IP dan memberikan respons terhadap browser tadi. Ketika Apache dijalankan maka httpd.conf akan diperiksa terlebih dulu, setelah itu baris demi baris kode konfigurasi baru akan diperiksa secara berurutan.
Server-server web dirancang untuk menerima beragam request dari host bebas di Internet dan menjadi pintu gerbang publik atau personal. Untuk membangun sebuah secure server dalam berbagai platform harus diperhatikan beberapa hal penting, misalnya user tidak pernah mengeksekusi sembarang program atau perintah shell dalam server dan script CGI yang berjalan dalam server.
Ada beberapa hal penting dalam menjaga dan membangun web server yang aman, di antaranya adalah:
  • Mengerti tentang pembagian akses UID (User ID)
  • Mengerti struktur direktori server
  • Membuat script dan program CGI secara aman
  • Mengembangkan strategi password
  • Mencatat semua aktivitas yang terjadi
  • Waspadai kegiatan browser user
  • Perhatikan HTTP dan Anonymous FTP
  • Nonaktifkan service-service (daemon) yang tidak penting
  • Perhatikan port-port yang terbuka

                Tindakan-tindakan Antisipasi

Setelah membicarakan secara garis besar kemungkinan yang dilakukan hacker untuk menyusup ke server kita, pengidentifikasian teknologi memainkan peran penting dalam dunia hacking web karena hacker bisa memilih senjata yang cocok untuk menyerang. Bukanlah hal yang mudah untuk mencegah hacker mengumpulkan informasi dari server web kita, namun ada beberapa aturan yang harus diikuti:
  1. Minimalkan kebocoran informasi dari header HTTP. Banyak web server yang dikonfigurasikan untuk tidak mengembalikan informasi selain yang diperlukan dalam header HTTP. Server- server aplikasi yang digunakan sebagai plug-in dengan web server front-end seharusnya tidak diletakkan pada header HTTP.
  2. Hindari pengiriman informasi yang keliru ke browser. Pesan- pesan kesalahan harus bisa diketahui dan dicatat dalam file log pada server web. Hanya pesan kesalahan singkat yang boleh dikembalikan ke browser sewaktu sebuah error aplikasi muncul. Untuk membingungkan hacker dan mencegahnya melakukan serangan, lakukanlah perubahan string identifikasi server pada header HTTP dan ekstensi file, tapi karena ini masalah pengaburan file pastilah solusi ini tidak akan bertahan lama. Perubahan string identifikasi server hanya mematikan permainan script dan pemindai kelemahan web
  3. Buatlah Script yang Tepat. Beberapa web server lain dapat dijadikan alternatif, antara lain Apache yang notabene merupakan web server yang paling banyak digunakan menurut data Netcraft. Memang dengan web server Apache kerusakan yang diakibatkan oleh virus/worm tersebut bisa ditekan atau bisa dikatakan tidak berdampak langsung. Namun perlu diperhatikan bahwa memang virus/worm tersebut tidak menyerang lubang keamanan, tapi dapat juga mengakibatkan kerusakan atau paling tidak membebani kerja web server. Web server menjadi sangat sibuk dan berat. Ini terlebih-lebih jika situs yang bersangkutan menggunakan halaman Error 404 khusus (not found). Ini berarti setiap ada akses yang diakibatkan oleh virus/worm ke situs tersebut,

Share:
;}

Google.com

Support

VIDEO

SPEKTAKULER