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,...