Selasa, 30 April 2019

Keamanan Web

Konsep solusi keamanan web merupakan beberapa usaha pemilik halaman web, pengelola halaman web atau para admin web server untuk mengamankan dan melakukan langkah-langkah pengamanan
informasi. Meskipun pengamanan informasi tersebut harus dilakukan secara komperhensif serta berkesinambungan karena proses deface halaman web akan dilakukan ketika terjadi kelengahan para penanggung jawab halaman web.

A. PENDAHULUAN

Keamanan Web menjadi lebih lagi dibutuhkan dengan adanya kasus-kasus pencurian melalui Web, penipuan, perusakan, virus, worm, dan lain-lain. Karena pentingnya masalah kemanan ini maka bagi setiap orang yang ingin mengembangkan Webnya sudah selayaknya mempersiapkan diri sebaik-
baiknya. Apalagi jika dalam pengembangan Web akan digunakan untuk aplikasi-aplikasi yang rentan atau kritis, maka kemanan yang baik akan menghindarkan kerugian yang mungkin didapat yang jumlahnya mungkin bisa sangat besar, baik secara material maupun nonmaterial.

B. ANALISIS MASALAH
Sebagai konsekuensi kepraktisan dan kemudahannya, instalasi default PHP banyak memiliki kelemahan keamanan.Variabel global di PHP dapat berasal dari masukan pengunjung Web (dari
GET/POST/Cookie), sehingga bila programernya ceroboh tidak melakukan inisialisasi tiap variabel sebelum pemakaian, seorang penyerang dapat memasukkan nilai-nilai awal variabel ke dalam skrip untuk mengubah kelakuannya. Sebelum PHP 3.0.18 terdapat bug pada file upload yang banyak dieksploitasi untuk menembus banyak situs PHP. Dalam bug ini interpreter PHP dapat diakali untuk
menulisi file di filesystem server manapun sesuai keinginan penyerangnya, karena path dapat dimasukkan lewat form HTML. Beberapa kelemahan ini dapat dikonfigurasi atau dimatikan. Karena itu seorang programer PHP dan admin perlu mengetahui opsi-opsi konfigurasi PHP agar sistem mereka lebih aman.

C. LUBANG KEAMANAN PHP
PHP dapat dijalankan sama seperti aplikasi CGI (Common Gateway Interface) seperti web server yang terintegrasi. Interpreter PHP mempunyai kemampuan untuk mengakses hampir semua host-file system, network interfaces, IPC, dan lain-lain. Konsekwensinya PHP potensial mendapat serangan dari attacker. Untuk meminimalkan serangan programmer harus menyadari dan mengetahui hal-hal
yang tidak diharapkan (merusak) saat program dijalankan, yaitu pengetahuankelemahan suatu sistem dan modus serangan secara umum yang diarahkan untuk mengganggu keamanan program tersebut. Lubang keamanan yang paling
umum di dalam skrip PHP dan tak
terkecuali pada aplikasi web yang
manapun, adalah berkaitan dengan User
Input. Banyak skrip menggunakan
informasi user yang legal dalam bentuk
format web dan memproses informasi
ini dengan berbagai cara. Jika user input
ini dilegalkan tanpa batasan, maka user
input potensial menyisipkan perintah-
perintah yang tidak diinginkan dalam
skrip.

SQL Injections
Selain itu metode SQL Injections
banyak pula digunakan untuk
memanfaatkan kelemahan pada mesin
server SQLnya, misalnya server yg
menjalankan aplikasi tersebut. Hal ini
dilakukan dengan mencoba
memasukkan suatu script untuk
menampilkan halaman error di browser,
dan biasanya halaman error akan
menampilkan paling tidak struktur dari
hirarki server dan logika program.
Metode ini memasukan “karakter” query
tertentu pada sebuah “text area” Trend
keamanan dan Serangan komputer| ver 1
atau di address browser dengan perintah-
perintah dasar SQL seperti SELECT,
WHERE, CREATE, UPDATE, dan lain-
lain.
Cross site script (XSS)
Type lubang keamanan sistem lainnya
yang biasa ditemukan di web based
applications dengan melakukan code
injections dengan malicious web
pengguna kepada halaman web yang
dilihat oleh user lainnya dimana
memungkinkan penyerang untuk
mencuri cookies, menipu user dengan
memberikan credentials mereka,
memodifikasi penampilan page,
mengeksekusi seluruh sort dari
malicious javascript code
Web Spoofing
• Web Spoofing
– Membuat web lain yang “copy paste/
identik” dari web asli – Membeli domain
yang hampir identik
• Ex : klikbca.com (existing)
• Lalu dibeli domain clikbca.com /
clickbca.com / clickbca.net
– Menangkap user dan password
Penanganan
• Digital Certificate
• Verisign, iTrust, …
• CA (Certificate Authority)
• https

D. PEMBAHASAN KONSEP/SOLUSI

Dari beberapa vulnerabilities
pemograman aplikasi berbasis PHP yang
telah di paparkan di atas, maka dapat
diusulkan beberapa konsep solusi, yaitu :

Validasi Login

Tulisan ini diperuntukan bagi para
newbie yang ingin membuat system
login pada webnya dengan php. Apa yg
akan dipaparkan berikut ini sebenarnya
sangat umum dan dapat diperoleh dari
berbagai sumber yang berhubungan
dengan php. Berikut ini hal-hal yang
harus kita pertimbangkan ketika
membuat login:
1. Pastikan form login adalah form dari
server kita.
2. Amankan input text untuk user dan
password, metoda dan format data.
3. Hindari penggunaan register global
(untuk php v 4.2.0 keatas sudah
disable).
4. Expired time dari login yang
dilakukan.
5. Pastikan file yang tidak boleh
diakses tidak dapat dipanggil secara
langsung.

SQL Injection

Hilangkan Karakter-Karakter Escape
dalam Perintah SQL
Kesalahan umum yang terjadi adalah
penggunaan nilai variabel yang
disediakan oleh user atau URL dalam
sebuah query SQL tanpa menghilangkan
karakter-karakter khusus. Perhatikan
contoh kode fragmen berikut dari sebuah
skrip yang dirancang untuk mengecek
kebenaran username dan password yang
dimasukkan dalam halaman HTML:
$query = “SELECT * FROM users
WHERE username=‟ “ . $username
. “ „ AND password=‟ “ .
$password . “ „ “;
// record yang memenuhi
perintah di atas terdapat di
suatu tempat
if (record_exists($query)) {
echo “Access granted”;
} else {
echo “Access denied”;
}

Penggunaan HTTPS Protokol

Solusi selanjutnya kita dapat pergunakan
protokol yang dapat mendukung segi
keamanan yaitu https. HTTPS (HTTP
melalui SSL or HTTP Secure),
merupakan protokol HTTP yang
menggunakan Secure Socket Layer
(SSL) atau Transport Layer Security
(TLS) sebagai sub layer dibawah HTTP
aplikasi layer yang biasa. HTTP di
enkripisi dan deskripsi dari halaman
yang diminta pengguna serta halaman
yang dikembalikan oleh web server.
HTTPS digunakan untuk melindungi
dari orang mengakses tanpa izin dan dari
serangan man-in-themiddle.HTTPS
dikembangkan oleh Netscape.

HTTPS, TLS, and SSL

Https adalah versi aman dari HTTP,
protokol komunikasi dari World Wide
Web menyediakan autentikasi dan
komunikasi tersandi dan penggunaan
dalam komersi elektris. Pendekatan
HTTPS sangatlah simpel, Client
membuat koneksi ke server, melakukan
negosiasi koneksi SSL, kemudian
mengirim HTTP tersebut melalui
aplikasi SSL. Deskripsi ini
menjadikannya terlihat mudah. Selain
menggunakan komunikasi plain text,
HTTPS menyandikan data sesi
menggunakan protokol SSL (Secure
Socket layer) atau protokol TLS
(Transport Layer Security). Kedua
protokol tersebut memberikan
perlindungan yang memadai dari
serangan eavesdroppers, dan man in the
middle attacks.

DAFTAR PUSTAKA

Clancy Malcolm, Ten Security Check
For PHP, Website,
http://www.onlamp.com/pub/
a/php/2003/0
3/20/php_security.htm
Jordan Dimov,On The Security Of
PHP, Website :
http://www.developer.com/lang
/php/ article.php/922871
Sufehmi, Harry, Security di PHP,
Website
http://www.tf.itb.ac.id/~eryan/P
hp/ PHPSecurity.txt
John Coggeshall ,PHP
Security,Website
http://www.onlamp/pub/au/135
Kadir, Abdul, Dasr Penmrograman
Web Dinamis Menggunakan
PHP, Andi, Yogyakarta, 2002.
An ISS Technical White Paper, Web
Application Protection

Tidak ada komentar:

Posting Komentar