websecure.ppt

Post on 26-May-2015

587 views 2 download

Transcript of websecure.ppt

APACHE 2Secure HTTP With Apache Web Server

By GOODLE CREW

Web Server

Adalah suatu daemon yang berfungsi menerima request melalui protocol http baik dari local maupun dari internet

Informasi yang direquest oleh web browser bisa berupa file yang ada dalam storage atau meminta server untuk melakukan funsgi tertentu

IIS (web server untuk html & asp ).Bisa jalan di OS Windows

APACHE webserver (web server untuk html,php,asp,jsp, dsb).Bisa jalan di OS Windows dan LINUX. Sifatnya modular dengan ditambahkan libapache2

Macam Web Server

HTTPS adalah varian dari protocol HTTP dimana user mengakses dengan https://

Data yang dikirim ke server adalah data yang terenkripsi.

Enkripsi yang digunakan adalah enkripsi SSL (Secure socket Layer).

Menggunakan TCP port 443.

APACHE Web Server dengan HTTPS

Ilustrasi Koneksi HTTP vs HTTPS

SSL Certificate

Normal HTTP (80)

Encrypted Connection

Secure HTTP (443)

User

UserX

Install apache2 dan modul PHP4• # apt-get install apache2 php4 libapache2-mod-

php4

Buat Duplikat dari file:/etc/apache2/sites-available/default

• # cp /etc/apache2/sites-available/default

/etc/apache2/sites-available/website-ssl Buat link untuk mengaktifkan modul ssl

saat apache di load• # a2ensite

• Masukkan “website-ssl”

Mengkonfigurasi HTTPS

Mengkonfigurasi HTTPS

Mengaktifkan modul php4• a2enmod

• dijawab dengan “php4”

mengaktifkan modul ssl• a2enmod

• dijawab dengan “ssl”

Kemudian Edit • /etc/apache2/sites-enabled/website-ssl

NameVirtualHost *:443

<VirtualHost *:443>

SSLEngine On

SSLCertificateFile /etc/apache2/ssl/apache.pem

...

</VirtualHost>

Mengkonfigurasi HTTPS

Generate Sertifikat anda sendiri dengan• # apache2-ssl-certificate

• kalo apache2-ssl-certificate tidak ada gunakan :• # mkdir /etc/apache2/ssl

• # openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

• Kemudian anda akan diminta memasukkan kode negara(ID),State atau propinsi,Nama Kota,Company,Section Unit,Domain,alamat email

Membuat Sertikat SSL

Menambahkan Port Listen Untuk SSL,untuk melakukanya edit file:• /etc/apache2/ports.conf

Tambahkan Baris :• Listen 443

Mengkonfigurasi HTTPS

Restart APACHE2• /etc/init.d/apache2 restart

Mengkonfigurasi HTTPS

Buka web browser Cobalah ketikkan https://localhost/

Mencoba Setting HTTPS

Tampilan HTTPS

Tampilan HTTP biasa

mod-security

Mengkonfigurasi mod-security

Mod-security ???• Bagaimana cara anda untuk membatasi SQL

injection, mendefinisikan hanya satu web browser saja yg boleh akses, jumlah data, dll... --> membatasi lewat aplikasi

• Apache2 menyediakan modul • libapache2-mod-security

Mengkonfigurasi mod-security

Install :• # apt-get install libapache2-mod-security

Mengaktifkan module• a2enmod

• isi dengan “mod-security”

Mengkonfigurasi mod-security

Copy contoh konfigurasi• # cd /etc/apache2/conf.d

• # cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full mod-security.conf

Restart apache• # /etc/init.d/apache2 restart

Uji Coba mod-security

Jalankan aplikasi testingnya• # cd /usr/share/mod-security/test/

• # ./run-test.pl localhost *.test

Buka website dengan webbrowser “w3m” dan mozilla• # w3m http://localhost

• akan terjawab IIS ... lo bukannya tadi install apache2 ???

Mod-chroot

Chroot

chroot – change root directory• dir /var/www/

berubah seolah-olah menjadi dir “/”

apache2 jalan di chroot

Mengkonfigurasi mod-chroot

Install module chroot• # apt-get install libapache2-mod-chroot

Aktifkan module chroot• # a2enmod

• isi dengan “mod_chroot”

Mengkonfigurasi mod-chroot

Buat konfigurasi untuk mod-chroot, bisa di /etc/apache2/conf.d• # cd /etc/apache2/conf.d

• vim mod-chroot<IfModule mod_chroot.c>

LoadFile /lib/libgcc_s.so.1

</IfModule>

ChrootDir /var/www

Mengkonfigurasikan mod-chroot

Buat dir untuk chroot• # mkdir -p /var/www/var/run

Jalankan apache2• # /etc/init.d/apache2 start

Rubah pidfile• # cd /var/run

• # ln -s /var/www/var/run/apache2.pid apache2.pid

Mengkonfigurasi mod-chroot

buat file coba.php<? system(“ls /etc”);?>

Script php untuk melihat isi dir /etc Bandingkan hasilnya antara ada mod-

chroot dan tidak menggunakan mod-chroot

Selamat mencoba,...