SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
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


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!!!
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.
Aplikasi Web Server


Apache Web Server - The HTTP Web Server



Apache Tomcat



Internet Information Services (IIS)



DLL

Target
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/
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)
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 Scripting,dll

Serangan
Berbasis Aplikasi

User - unprivileged

Serangan
Berbasis Jaringan
Komputer

Serangan
Berbasis Aturan
User
Serangan Berbasis Aplikasi
Windows/Linux Server
Web Application
Database Server
Web Server

Ancaman berbasis web seperti
SQL injection, XSS

Serangan
Berbasis Aplikasi
User Interface
Serangan Berbasis Jaringan
Komputer
Windows/Linux Server
Web Application
Database Server
Web Server

Serangan
Berbasis
Jaringan
Ancaman berbasis jaringan
komputer seperti sniffing,
DoS
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 mempunyai
otorisasi/privileged untuk
merubah isi konten website
tersebut

Serangan
Berbasis User
User Interface
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
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
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)
Ilustrasi HTTP Vs HTTPS

Normal HTTP (80)
User

X

User

Intruder/penyusup

SSL Certificate
Secure HTTP (443)

Encrypted Connection
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.
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 : http://sectools.org/web-scanners.html
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 saat instalasi apache 2 selesai, maka layanan apache 2
automatic run tanpa harus menjalankan service
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 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
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 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
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
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 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
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)
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
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
/* 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
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
Install Secure Socket
Layer Dengan
OpenSSL
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).
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

sholeh@sholeh-desktop:/etc/apache2/training/ssl$

Sudah berada pada folder ssl
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)
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
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
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
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>
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
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 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
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
Terima Kasih

Contenu connexe

Tendances (18)

Lapres https
Lapres httpsLapres https
Lapres https
 
Laporan Resmi HTTP
Laporan Resmi HTTPLaporan Resmi HTTP
Laporan Resmi HTTP
 
Konfigurasi proxy server
Konfigurasi proxy serverKonfigurasi proxy server
Konfigurasi proxy server
 
Kamdat proxy radius
Kamdat proxy radiusKamdat proxy radius
Kamdat proxy radius
 
Squid indonesia
Squid indonesiaSquid indonesia
Squid indonesia
 
Laporan resmi praktikum 2 keamanan data
Laporan resmi praktikum 2 keamanan dataLaporan resmi praktikum 2 keamanan data
Laporan resmi praktikum 2 keamanan data
 
Lapres ftp
Lapres ftpLapres ftp
Lapres ftp
 
Qmail P to V Migration
Qmail P to V MigrationQmail P to V Migration
Qmail P to V Migration
 
Supriyanto squidproxyserver
Supriyanto squidproxyserverSupriyanto squidproxyserver
Supriyanto squidproxyserver
 
HeartBlead Pada Open SSL
HeartBlead Pada Open SSLHeartBlead Pada Open SSL
HeartBlead Pada Open SSL
 
FreeBSD Installation
FreeBSD InstallationFreeBSD Installation
FreeBSD Installation
 
websecure.ppt
websecure.pptwebsecure.ppt
websecure.ppt
 
DDoS dengan LOIC, HOIC dan Slowloris.pl
DDoS dengan LOIC, HOIC dan Slowloris.plDDoS dengan LOIC, HOIC dan Slowloris.pl
DDoS dengan LOIC, HOIC dan Slowloris.pl
 
1.1 lab-instalasi dan konfigurasi ssh
1.1 lab-instalasi dan konfigurasi ssh1.1 lab-instalasi dan konfigurasi ssh
1.1 lab-instalasi dan konfigurasi ssh
 
FreeBSD Web Server
FreeBSD Web ServerFreeBSD Web Server
FreeBSD Web Server
 
(2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu (2012) 4.proxy pada ubuntu
(2012) 4.proxy pada ubuntu
 
Lebih dalam dengan Telnet dan SSH
Lebih dalam dengan Telnet dan SSHLebih dalam dengan Telnet dan SSH
Lebih dalam dengan Telnet dan SSH
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
 

Similaire à Ssl presentation verindo_rev_sholeh

Tugas pw [21] web server - fix
Tugas pw [21] web server - fixTugas pw [21] web server - fix
Tugas pw [21] web server - fixkwonnie
 
#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptxIDELSAMANGUN
 
Web Server, DNS Server, dan FTP Server
Web Server, DNS Server, dan FTP ServerWeb Server, DNS Server, dan FTP Server
Web Server, DNS Server, dan FTP ServerIsna Dwi Setianingsih
 
Perkembangan web server di linux
Perkembangan web server di linuxPerkembangan web server di linux
Perkembangan web server di linuxNursaniATakome
 
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
Pemrograman-Berbasis-Web-Pertemuan-1.pptPemrograman-Berbasis-Web-Pertemuan-1.ppt
Pemrograman-Berbasis-Web-Pertemuan-1.pptAbdurRozak19
 
Tugas atpi cornelia matthiasjanu
Tugas atpi cornelia matthiasjanuTugas atpi cornelia matthiasjanu
Tugas atpi cornelia matthiasjanuFebriy Y
 
14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]Krisman Tarigan
 
Serangan Dari Dalam Jaringan
Serangan Dari Dalam JaringanSerangan Dari Dalam Jaringan
Serangan Dari Dalam JaringanDita Tri Utami
 
Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587nurul azmi
 
Web Hacking (basic)
Web Hacking (basic)Web Hacking (basic)
Web Hacking (basic)Ammar WK
 
konfigurasi web server
konfigurasi web serverkonfigurasi web server
konfigurasi web serverMuhammad Anang
 

Similaire à Ssl presentation verindo_rev_sholeh (20)

Konfigurasi web server
Konfigurasi web serverKonfigurasi web server
Konfigurasi web server
 
Tugas pw [21] web server - fix
Tugas pw [21] web server - fixTugas pw [21] web server - fix
Tugas pw [21] web server - fix
 
#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx#15 Web Security bisnis digital belajar pemograman.pptx
#15 Web Security bisnis digital belajar pemograman.pptx
 
web-security
web-securityweb-security
web-security
 
Web Server, DNS Server, dan FTP Server
Web Server, DNS Server, dan FTP ServerWeb Server, DNS Server, dan FTP Server
Web Server, DNS Server, dan FTP Server
 
Perkembangan web server
Perkembangan web serverPerkembangan web server
Perkembangan web server
 
Perkembangan web server di linux
Perkembangan web server di linuxPerkembangan web server di linux
Perkembangan web server di linux
 
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
Pemrograman-Berbasis-Web-Pertemuan-1.pptPemrograman-Berbasis-Web-Pertemuan-1.ppt
Pemrograman-Berbasis-Web-Pertemuan-1.ppt
 
Penjelasan Materi Web Server
Penjelasan Materi Web Server Penjelasan Materi Web Server
Penjelasan Materi Web Server
 
Tugas Pw [21]
Tugas Pw [21]Tugas Pw [21]
Tugas Pw [21]
 
Tugas atpi cornelia matthiasjanu
Tugas atpi cornelia matthiasjanuTugas atpi cornelia matthiasjanu
Tugas atpi cornelia matthiasjanu
 
14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]14001326 all-about-squid-apache - [the-xp.blogspot.com]
14001326 all-about-squid-apache - [the-xp.blogspot.com]
 
Serangan Dari Dalam Jaringan
Serangan Dari Dalam JaringanSerangan Dari Dalam Jaringan
Serangan Dari Dalam Jaringan
 
Presentasi (2).pptx
Presentasi (2).pptxPresentasi (2).pptx
Presentasi (2).pptx
 
Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587Tugas 2 0317-nurul azmi-1412510587
Tugas 2 0317-nurul azmi-1412510587
 
Squid apache
Squid apacheSquid apache
Squid apache
 
Web Hacking (basic)
Web Hacking (basic)Web Hacking (basic)
Web Hacking (basic)
 
konfigurasi web server
konfigurasi web serverkonfigurasi web server
konfigurasi web server
 
Pbw week 01 basics
Pbw week 01   basicsPbw week 01   basics
Pbw week 01 basics
 
websecure.ppt
websecure.pptwebsecure.ppt
websecure.ppt
 

Plus de Muchammad Sholeh (13)

Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application Hacking
 
Roadmap govcsirt versi sholeh
Roadmap govcsirt versi sholehRoadmap govcsirt versi sholeh
Roadmap govcsirt versi sholeh
 
Spreadsheet
SpreadsheetSpreadsheet
Spreadsheet
 
Softwarelegal dirjenaptika-sholeh
Softwarelegal dirjenaptika-sholehSoftwarelegal dirjenaptika-sholeh
Softwarelegal dirjenaptika-sholeh
 
Se legal foss makassar
Se legal foss makassarSe legal foss makassar
Se legal foss makassar
 
Openoffice 3.2.1 presentation
Openoffice 3.2.1 presentationOpenoffice 3.2.1 presentation
Openoffice 3.2.1 presentation
 
Ooo writer pendahuluan
Ooo writer pendahuluanOoo writer pendahuluan
Ooo writer pendahuluan
 
Ooo writer
Ooo writerOoo writer
Ooo writer
 
IT Government
IT GovernmentIT Government
IT Government
 
Open source Traning at Brebes
Open source Traning at BrebesOpen source Traning at Brebes
Open source Traning at Brebes
 
Dss pert1
Dss pert1Dss pert1
Dss pert1
 
Pert1 netprog
Pert1 netprogPert1 netprog
Pert1 netprog
 
Gov csirt sholeh
Gov csirt sholehGov csirt sholeh
Gov csirt sholeh
 

Ssl presentation verindo_rev_sholeh

  • 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.  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. 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. Aplikasi Web Server  Apache Web Server - The HTTP Web Server  Apache Tomcat  Internet Information Services (IIS)  DLL Target
  • 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. 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. Arsitektur Web Portal Windows/Linux Server Web Application Database Server Web Server User Interface
  • 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. 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. Serangan Berbasis Jaringan Komputer Windows/Linux Server Web Application Database Server Web Server Serangan Berbasis Jaringan Ancaman berbasis jaringan komputer seperti sniffing, DoS
  • 12. Ilustrasi Sniffing Tools : ettercap, wireshark
  • 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. Serangan Berbasis User (Cont) Klik kanan pilih view page source
  • 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. 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. Ilustrasi HTTP Vs HTTPS Normal HTTP (80) User X User Intruder/penyusup SSL Certificate Secure HTTP (443) Encrypted Connection
  • 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. OSI Model Open System Interconnection Secure Socket Layer (SSL) is Here
  • 20. Tools Dari Scanning Web Server  Nikto.pl  WebScarab  Webshag v1.00 - Web Server Auditing Tool  DLL Source : http://sectools.org/web-scanners.html
  • 22. Praktek  Install Apache 2 Web Server # sudo apt-get install apache2
  • 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
  • 25. Konfigurasi Apache 2 Web Server Ketik perintah di bawah ini : # pico /etc/apache2/apache2.conf
  • 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.
  • 30. Hasil Scanning menggunakan tools Nmap, Advance Scanner atau Super Scan
  • 31. 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
  • 32. 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
  • 35. 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
  • 36. 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)
  • 37. 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
  • 38. 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
  • 39. /* 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
  • 40. 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
  • 41. Install Secure Socket Layer Dengan OpenSSL
  • 42. 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).
  • 43. Install SSL (Secure Socket Layer) # apt-get install openssl ssl-cert Library dari SSL Toolkit Cryptography Enter
  • 44. 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
  • 45. 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)
  • 46. 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
  • 47. 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
  • 48. 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
  • 49. 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>
  • 50. 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
  • 51. TeSt - Buka browser mozilla firefox, dan ketik url : https://localhost/
  • 59. Security Is Not Technology And Product, But Security Is You
  • 60. 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
  • 61. 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