Keamanan Apache Web Server
Dan Secure Socket Layer (SSL)
Oleh
Muchammad Sholeh
Staff Keamanan Sistem Informasi
Sistem Info...


Teori

Topik

−

Definisi Web Server

−

Definisi Apache Web Server

−

Arsitektur Web Portal

−

Faktor Kemungkinan Se...
Definisi Web Server
Webserver adalah suatu layanan untuk menterjemahkan
permintaan serta permohonan dari bahasa pemrograma...
Aplikasi Web Server


Apache Web Server - The HTTP Web Server



Apache Tomcat



Internet Information Services (IIS)

...
Definisi Apache Web Server
Apache web server merupakan aplikasi perangkat lunak
web server open source yang mudah di konfi...
Keunggulan Apache Web Server








Free software (Gratis!!!!!) 
Multiplatform, Apache dapat berjalan di beberapa si...
Arsitektur Web Portal
Windows/Linux Server
Web Application
Database Server
Web Server

User Interface
Faktor Kemungkinan Serangan Terhadap
Webserver

3 Faktor Serangan
DoS, Sniffing attack,dll
Sql Injection, Cross Site Scrip...
Serangan Berbasis Aplikasi
Windows/Linux Server
Web Application
Database Server
Web Server

Ancaman berbasis web seperti
S...
Serangan Berbasis Jaringan
Komputer
Windows/Linux Server
Web Application
Database Server
Web Server

Serangan
Berbasis
Jar...
Contoh Sniffing Paket
Ilustrasi Sniffing

Tools : ettercap, wireshark
Serangan Berbasis User
Windows/Linux Server
Web Application
Database Server
Web Server
Ancaman terhadap user yang
tidak me...
Serangan Berbasis User
(Cont)

Klik kanan pilih
view page source
Kenapa SSL Protocol








Menjamin kerahasiaan pesan, sehingga tidak
bisa dibaca oleh pihak yang tidak diinginkan
Me...
suatu serangan yang merekam atau menangkap data/message
yang lewat melalui jaringan, dimana serangan ini tidak dapat dihin...
Ilustrasi HTTP Vs HTTPS

Normal HTTP (80)
User

X

User

Intruder/penyusup

SSL Certificate
Secure HTTP (443)

Encrypted C...
Definisi Dari SSL
Salah satu cara untuk meningkatkan keamanan web server adalah dengan
menggunakan enkripsi pada komunikas...
OSI Model

Open System Interconnection

Secure Socket Layer
(SSL) is Here
Tools Dari Scanning Web Server


Nikto.pl



WebScarab



Webshag v1.00 - Web Server Auditing Tool



DLL

Source : ht...
Topologi Jaringan Komputer
Praktek


Install Apache 2 Web Server
# sudo apt-get install apache2
Test Apache Web Server
# /etc/init.d/apache2 start
buka browser mozilla dan ketik http://
localhost/

Note : Biasanya pada...
Konfigurasi Apache Web Server
Konfigurasi Apache 2 Web Server
Ketik perintah di bawah ini :

# pico /etc/apache2/apache2.conf
Menyembunyikan
Informasi Platform
Server
Kenapa ?
Footprinting


Sistem Operasi ?



Versi Aplikasi ?

Teknik paling awal sekali yang harus dilakukan oleh seorang hacker ...
Hasil Scanning menggunakan tools Nmap, Advance Scanner atau
Super Scan
ServerSignature Off
Berfungsi untuk menyembunyikan informasi yang ada pada apache web server
baik itu versi dan operating ...
Contoh (cont)
Ada beberapa pilihan penggunaan directive ServerTokens ini, yaitu (sebagai contoh):
ServerTokens Prod : meng...
Cont

ServerSignature On

ServerTokens Full
Cont

ServerSignature Off

ServerTokens Prod
Meminimalisasi Serangan DoS
(Denial of Service)
Serangan bertubi-tubi terhadap server secara terus menerus untuk mengirimk...
Meminimalisasi Serangan DoS
(Denial of Service)












Timeout 60 (Menunjukkan berapa lama waktu pengiriman dan...
Buffer Overflows
Buffer Overflow adalah suatu serangan yang
menyerang engine (web server) yang memiliki
vulnerability (kel...
H ttpd A ttack
Kerawanan serta kelemahan yang terdapat dalam HTTPD ataupun
webserver ada lima macam: buffer overflows, htt...
/* connects to the vulnerable webdexproxy server. */
unsigned short proxy_connect(char *hostname,unsigned short port){
sig...
Buffer Overflows
(cont)








LimitRequestBody 10240 (Membatasi request secara
keseluruhan dari client ke server)
Li...
Install Secure Socket
Layer Dengan
OpenSSL
Install SSL Menggunakan
OpenSSL
OpenSSL adalah sebuah toolkit kriptografi yang mengimplementasikan protokol jaringan Secur...
Install SSL (Secure
Socket Layer)
# apt-get install openssl ssl-cert

Library dari SSL
Toolkit Cryptography

Enter
Membuat Folder Utk
Key dari SSL
Enter

$ sudo mkdir -p /etc/apache2/training/ssl
$ cd /etc/apache2/training/ssl

Enter

sh...
Membuat Kunci CA
root@sholeh-desktop:/etc/apache2/training/ssl# openssl genrsa 1024 > training.key
Generating RSA private ...
Membuat Certificate
Signing Request
(CSR)
# openssl req -new -key training.key > training.csr
You are about to be asked to...
Memberikan Signature
Untuk Certificate
# openssl x509 -req -days 365 -in training.csr -signkey training.key -out training....
Cont
Tambahkan port 443 pada :
# /etc/apache2/port.conf
gunakan editor pico untuk memasukan port 443, seperti dibawah ini ...
Cont
Setelah itu ketik dibawah ini pada folder /etc/apache2/site-available/secure dengan
editor text pico, dengan perintah...
Cont
Untuk mengaktifkan modul ssl, ketik :
# a2enmod ssl
This module is already enabled!
Untuk mengaktifkan site secure, k...
TeSt
- Buka browser mozilla firefox, dan ketik url :
https://localhost/
Https Encrypted

Authenticated By Depkominfo
Information Certificate
Validate Not Before
Validate Not After
Certificate Signature Algorithm
Certificate Signature Value
Question !!
Security Is Not
Technology And
Product, But Security
Is You
Kesimpulan







Tetap Sadar akan Betapa Pentingnya
Keamanan Informasi
Training/Pelatihan IT Security
Membangun Penge...
Beberapa Link Bagus Untuk Dikunjungi :
http://www.owasp.org/index.jsp
http://www.webappsec.org/projects/
http://www.cgisec...
Terima Kasih
Ssl presentation verindo_rev_sholeh
Upcoming SlideShare
Loading in …5
×

Ssl presentation verindo_rev_sholeh

784 views
577 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
784
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ssl presentation verindo_rev_sholeh

  1. 1. Keamanan Apache Web Server Dan Secure Socket Layer (SSL) Oleh Muchammad Sholeh Staff Keamanan Sistem Informasi Sistem Informasi Perangkat Lunak dan Konten – Depkominfo mailto : muchammad.sholeh@gmail.com/sholeh@depkominfo.go.id Sosialisasi Topologi Keamanan Informasi – E-Government ( Depkominfo) 14 – 15 Juli 2008 Hotel Acacia - Jakarta
  2. 2.  Teori Topik − Definisi Web Server − Definisi Apache Web Server − Arsitektur Web Portal − Faktor Kemungkinan Serangan Terhadap Web Server −  Definisi SSL & Kenapa SSL Praktek − Instalasi Apache Web Server − Konfigurasi Apache Web Server − Instalasi SSL Dengan Openssl − Konfigurasi SSL − Test !!! − Question!!!
  3. 3. Definisi Web Server Webserver adalah suatu layanan untuk menterjemahkan permintaan serta permohonan dari bahasa pemrograman web (seperti HTML,PHP,ASP) untuk ditampilkan pada protokol HTTP yang terdapat pada port 80 atau sering disebut HTTP Server, dimana hasil permintaan itu dapat ditampilkan lewat browser mozilla, IE, dll.
  4. 4. Aplikasi Web Server  Apache Web Server - The HTTP Web Server  Apache Tomcat  Internet Information Services (IIS)  DLL Target
  5. 5. Definisi Apache Web Server Apache web server merupakan aplikasi perangkat lunak web server open source yang mudah di konfigurasi sesuai kebutuhan serta handal, lebih lengkap bisa dilihat dan di download : http://jakarta.apache.org/
  6. 6. Keunggulan Apache Web Server     Free software (Gratis!!!!!)  Multiplatform, Apache dapat berjalan di beberapa sistem operasi (BSD, Linux, Microsoft Windows,dll ) serta platform lainnya Fleksibel, mudah settingnya (fleksibilitas untuk di setting dengan PHP dan MySQL Dapat di tambahkan modul baru seperti Mod_security (by: Ivan Ristic)
  7. 7. Arsitektur Web Portal Windows/Linux Server Web Application Database Server Web Server User Interface
  8. 8. Faktor Kemungkinan Serangan Terhadap Webserver 3 Faktor Serangan DoS, Sniffing attack,dll Sql Injection, Cross Site Scripting,dll Serangan Berbasis Aplikasi User - unprivileged Serangan Berbasis Jaringan Komputer Serangan Berbasis Aturan User
  9. 9. Serangan Berbasis Aplikasi Windows/Linux Server Web Application Database Server Web Server Ancaman berbasis web seperti SQL injection, XSS Serangan Berbasis Aplikasi User Interface
  10. 10. Serangan Berbasis Jaringan Komputer Windows/Linux Server Web Application Database Server Web Server Serangan Berbasis Jaringan Ancaman berbasis jaringan komputer seperti sniffing, DoS
  11. 11. Contoh Sniffing Paket
  12. 12. Ilustrasi Sniffing Tools : ettercap, wireshark
  13. 13. Serangan Berbasis User Windows/Linux Server Web Application Database Server Web Server Ancaman terhadap user yang tidak mempunyai otorisasi/privileged untuk merubah isi konten website tersebut Serangan Berbasis User User Interface
  14. 14. Serangan Berbasis User (Cont) Klik kanan pilih view page source
  15. 15. Kenapa SSL Protocol     Menjamin kerahasiaan pesan, sehingga tidak bisa dibaca oleh pihak yang tidak diinginkan Menjamin keutuhan pesan, sehingga tidak bisa diubah-ubah di tengah jalan Menjamin keabsahan/keaslian, sehingga meyakinkan pihak-pihak yang berkomunikasi antara client dan server Meminimalisasi serangan sniffing data
  16. 16. suatu serangan yang merekam atau menangkap data/message yang lewat melalui jaringan, dimana serangan ini tidak dapat dihindarkan Sniffing Attack (Tools sniff : snort, tcpdump, ettercap,wireshark)
  17. 17. Ilustrasi HTTP Vs HTTPS Normal HTTP (80) User X User Intruder/penyusup SSL Certificate Secure HTTP (443) Encrypted Connection
  18. 18. Definisi Dari SSL Salah satu cara untuk meningkatkan keamanan web server adalah dengan menggunakan enkripsi pada komunikasi terhadap tingkat socket. Dengan menggunakan enkripsi, orang tidak bisa menyadap data-data (transaksi) yang dikirimkan dari client ke web server. Dengan kata lain SSL (Secure Socket Layer) Hanya mengamankan jalur komunikasi (secure connection) transaksi yang terbungkus dan terenkripsi/acak antara client dan server.
  19. 19. OSI Model Open System Interconnection Secure Socket Layer (SSL) is Here
  20. 20. Tools Dari Scanning Web Server  Nikto.pl  WebScarab  Webshag v1.00 - Web Server Auditing Tool  DLL Source : http://sectools.org/web-scanners.html
  21. 21. Topologi Jaringan Komputer
  22. 22. Praktek  Install Apache 2 Web Server # sudo apt-get install apache2
  23. 23. Test Apache Web Server # /etc/init.d/apache2 start buka browser mozilla dan ketik http:// localhost/ Note : Biasanya pada saat instalasi apache 2 selesai, maka layanan apache 2 automatic run tanpa harus menjalankan service
  24. 24. Konfigurasi Apache Web Server
  25. 25. Konfigurasi Apache 2 Web Server Ketik perintah di bawah ini : # pico /etc/apache2/apache2.conf
  26. 26. Menyembunyikan Informasi Platform Server
  27. 27. Kenapa ?
  28. 28. Footprinting  Sistem Operasi ?  Versi Aplikasi ? Teknik paling awal sekali yang harus dilakukan oleh seorang hacker sebelum serangan di lakukan adalah melakukan proses footprinting, atau dalam bahasa keren-nya intelejen awal tentang segala sesuatu yang berkaitan dengan target yang dituju. Dengan cara ini seorang penyerang akan memperoleh profile / postur keamanan yang lengkap dari organisasi / jaringan yang akan di serang, untuk menggali semua informasi yang ada pada target mulai dari OS , Aplikasi, port informasi, dll
  29. 29. Hasil Scanning menggunakan tools Nmap, Advance Scanner atau Super Scan
  30. 30. ServerSignature Off Berfungsi untuk menyembunyikan informasi yang ada pada apache web server baik itu versi dan operating system platform tersebut, karena seorang attacker akan berusaha untuk menggali informasi yang ada pada komputer target guna untuk melancarkan serangannya ServerTokens Prod Berfungsi untuk menyembunyikan informasi yang ada pad apache web server, agar memudahkan attacker mengumpulkan informasi yang ada pada server
  31. 31. Contoh (cont) Ada beberapa pilihan penggunaan directive ServerTokens ini, yaitu (sebagai contoh): ServerTokens Prod : menghasilkan respon server -> Apache ServerTokens Major : menghasilkan respon server -> Apache/2 ServerTokens Minor : menghasilkan respon server -> Apache/2.0 ServerTokens Min : menghasilkan respon server -> Apache/2.0.41 ServerTokens OS : menghasilkan respon server -> Apache/2.0.41 (Unix) ServerTokens Full ( atau tidak dideklarasikan) : menghasilkan respon server -> Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
  32. 32. Cont ServerSignature On ServerTokens Full
  33. 33. Cont ServerSignature Off ServerTokens Prod
  34. 34. Meminimalisasi Serangan DoS (Denial of Service) Serangan bertubi-tubi terhadap server secara terus menerus untuk mengirimkan paket dengan berkapasitas besar sehingga melumpuhkan layanan terhadap server, dengan kata lain serangan yang bertujuan utk menghabiskan resources/sumber yang dimiiki oleh komputer target atau server. Misalkan menggunakan tools DosHttp,Syndrop, dll. dll
  35. 35. Meminimalisasi Serangan DoS (Denial of Service)       Timeout 60 (Menunjukkan berapa lama waktu pengiriman dan penerimaan request diizinkan.Defaultnya adalah 300 detik) KeepAlive On ( Kemampuan server menerima request secara simultan yang berasal dari satu koneksi) KeepAliveTimeout 15 ( Waktu yang ditentukan untuk menunggu request selanjutnya dari satu koneksi, maka anda bisa rubah menjadi 15, hal ini akan meminimalkan server kita di serang oleh DOS) StartServers 10 (Jumlah server yang dijalankan oleh apache untuk inisialisasi ketika apache pertama kali dieksekusi) MinSpareServers 10 (Jumlah server yang dibutuhkan untuk melayani setiap request yang masuk) ->biasa digunakan untuk situs web yang sangat sibuk MaxSpareServers 20 (Jumlah server yang dibutuhkan untuk melayani setiap request yang masuk)
  36. 36. Buffer Overflows Buffer Overflow adalah suatu serangan yang menyerang engine (web server) yang memiliki vulnerability (kelemahan) dalam masalah alokasi memori (buffer) dengan cara memaksakan malicious code/script jahat agar dieksekusi oleh engine (web server) untuk memperoleh akses root shell H ttpd A ttack
  37. 37. H ttpd A ttack Kerawanan serta kelemahan yang terdapat dalam HTTPD ataupun webserver ada lima macam: buffer overflows, httpd bypasses, cross scripting, web code vulnerabilities, dan URL floods. HTTPD Buffer Overflow bisa terjadi karena attacker menambahkan errors pada port yang digunakan untuk web traffic dengan cara memasukan banyak carackter dan string untuk menemukan tempat overflow yang sesuai. Ketika tempat untuk overflow ditemukan, seorang attacker akan memasukkan string yang akan menjadi perintah yang dapat dieksekusi. Bufer-overflow dapat memberikan attacker akses ke command prompt
  38. 38. /* connects to the vulnerable webdexproxy server. */ unsigned short proxy_connect(char *hostname,unsigned short port){ signed int sock; struct hostent *t; struct sockaddr_in s; sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); s.sin_family=AF_INET; s.sin_port=htons(port); printf("[*] attempting to connect: %s:%d.n",hostname,port); if((s.sin_addr.s_addr=inet_addr(hostname))){ if(!(t=gethostbyname(hostname))) printe("couldn't resolve hostname.",1); memcpy((char *)&s.sin_addr,(char *)t->h_addr,sizeof(s.sin_addr)); } signal(SIGALRM,sig_alarm); alarm(TIMEOUT); if(connect(sock,(struct sockaddr *)&s,sizeof(s))) printe("webdesproxy connection failed.",1); alarm(0); printf("[*] successfully connected: %s:%d.n",hostname,port); sleep(1); printf("[*] sending string:n"); printf("[+] "GET http://[NOPSx250][JMP4][EIP/"CALL ESP"][NOPSx32]" "[SHELLCODE]/nn"n"); write(sock,getbuf(tbl.addr),BUFSIZE); sleep(1); printf("[*] closing connection.nn"); close(sock); return(0); } Potongan Script Buffer Overflow yang dibuat dari bahasa C untuk, lebih jelasnya lihat di http://www.milw0rm.com/exploits/3913
  39. 39. Buffer Overflows (cont)     LimitRequestBody 10240 (Membatasi request secara keseluruhan dari client ke server) LimitRequestFields 40 (membatasi maksimal kapasitas dari fields header sebuah permohonan pesan terhadap web server) LimitRequestFieldsize 100 (membatasi maksimum ukuran dari http request field header terhadap web server) LimitRequestLine 500 (Membatasi maksimum ukuran baris dari http request terhadap web server) Tambahkan Konfigurasi diatas pada directory : /etc/apache2/httpd.conf menggunakan editor nano atau pico
  40. 40. Install Secure Socket Layer Dengan OpenSSL
  41. 41. Install SSL Menggunakan OpenSSL OpenSSL adalah sebuah toolkit kriptografi yang mengimplementasikan protokol jaringan Secure Sockets Layer (SSL v2/v3) dan Transport Layer Security (TLS v1) termasuk berbagai standar kriptografi lainnya yang di butuhkan. Openssl sendiri adalah program di Linux yang sifatnya command line tidak menggunakan grafik user interface (GUI).
  42. 42. Install SSL (Secure Socket Layer) # apt-get install openssl ssl-cert Library dari SSL Toolkit Cryptography Enter
  43. 43. Membuat Folder Utk Key dari SSL Enter $ sudo mkdir -p /etc/apache2/training/ssl $ cd /etc/apache2/training/ssl Enter sholeh@sholeh-desktop:/etc/apache2/training/ssl$ Sudah berada pada folder ssl
  44. 44. Membuat Kunci CA root@sholeh-desktop:/etc/apache2/training/ssl# openssl genrsa 1024 > training.key Generating RSA private key, 1024 bit long modulus .....++++++ ...................................................++++++ e is 65537 (0x10001)
  45. 45. Membuat Certificate Signing Request (CSR) # openssl req -new -key training.key > training.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [AU]:ID State or Province Name (full name) [Some-State]:Indonesia Locality Name (eg, city) []:Jakarta Pusat Organization Name (eg, company) [Internet Widgits Pty Ltd]:DEPKOMINFO Organizational Unit Name (eg, section) []:Keamanan Sistem Informasi Common Name (eg, YOUR name) []:depkominfo.go.id Email Address []:sholeh@kamsifo.web.id Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:ketikaja An optional company name []:SIPLK
  46. 46. Memberikan Signature Untuk Certificate # openssl x509 -req -days 365 -in training.csr -signkey training.key -out training.cert Signature ok subject=/C=ID/ST=Indonesia/L=Jakarta Pusat/O=DEPKOMINFO/ OU=Keamanan Sistem Informasi/CN=depkominfo.go.id/emailAddress=sholeh@kamsifo.web.id Getting Private key root@sholeh-desktop:/etc/apache2/training/ssl# ls training.cert training.csr training.key Key yang telah kita buat terkumpul dalam satu folder
  47. 47. Cont Tambahkan port 443 pada : # /etc/apache2/port.conf gunakan editor pico untuk memasukan port 443, seperti dibawah ini : # pico /etc/apache2/port.conf Ketik Listen 443 Karena protokol SSL berjalan di port 443
  48. 48. Cont Setelah itu ketik dibawah ini pada folder /etc/apache2/site-available/secure dengan editor text pico, dengan perintah pico /etc/apache2/site-available/secure : NameVirtualHost *:443 <VirtualHost *:443> ServerName localhost Serveradmin admin@kamsifo.web.id DocumentRoot /var/www/ SSLEngine On SSLCertificateFile /etc/apache2/training/ssl/training.cert SSLCertificateKeyFile /etc/apache2/training/ssl/training.key ErrorLog /home/depkominfo/secure/log/error.log CustomLog /home/depkominfo/secure/log/custom.log combined ServerSignature On </VirtualHost>
  49. 49. Cont Untuk mengaktifkan modul ssl, ketik : # a2enmod ssl This module is already enabled! Untuk mengaktifkan site secure, ketik : # a2ensite secure This site is already enabled! Restart apache 2 dengan perintah : # /etc/init.d/apache2 force-reload -> Enter
  50. 50. TeSt - Buka browser mozilla firefox, dan ketik url : https://localhost/
  51. 51. Https Encrypted Authenticated By Depkominfo
  52. 52. Information Certificate
  53. 53. Validate Not Before
  54. 54. Validate Not After
  55. 55. Certificate Signature Algorithm
  56. 56. Certificate Signature Value
  57. 57. Question !!
  58. 58. Security Is Not Technology And Product, But Security Is You
  59. 59. Kesimpulan     Tetap Sadar akan Betapa Pentingnya Keamanan Informasi Training/Pelatihan IT Security Membangun Pengetahuan IT Security Lewat Miling List (Linux Security,Security Focus, Internet Alert dll ) Tetap Menjaga Keamanan dan Selalu Review Prosedur, Ceklist Keamanan dan Kebijakan IT Security Sesuai Kebutuhan
  60. 60. Beberapa Link Bagus Untuk Dikunjungi : http://www.owasp.org/index.jsp http://www.webappsec.org/projects/ http://www.cgisecurity.com/ http://www.isecom.org/osstmm/ http://www.milw0rm.com/dos.php
  61. 61. Terima Kasih

×