Dokumen tersebut memberikan penjelasan tentang konfigurasi keamanan HTTPS menggunakan Apache web server. Langkah-langkahnya meliputi instalasi Apache dan modul PHP, membuat sertifikat SSL, mengaktifkan modul SSL dan PHP, serta merestart Apache setelah konfigurasi. Modul keamanan tambahan seperti mod_security dan mod_chroot juga dijelaskan cara pengkonfigurasi dan pengujiannya untuk membatasi akses dan meningkatkan keamanan situs web.
2. 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
3. Macam Web Server
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
4. APACHE Web Server dengan HTTPS
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.
5. Ilustrasi Koneksi
HTTP vs HTTPS
Normal HTTP (80)
User
SSL Certificate
X
User
Encrypted Connection
Secure HTTP (443)
6. Mengkonfigurasi HTTPS
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”
7. Mengkonfigurasi HTTPS
Mengaktifkan modul php4
• a2enmod
• dijawab dengan “php4”
mengaktifkan modul ssl
• a2enmod
• dijawab dengan “ssl”
8. Mengkonfigurasi HTTPS
Kemudian Edit
• /etc/apache2/sites-enabled/website-ssl
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
...
</VirtualHost>
9. Membuat Sertikat SSL
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
10. Mengkonfigurasi HTTPS
Menambahkan Port Listen Untuk
SSL,untuk melakukanya edit file:
• /etc/apache2/ports.conf
Tambahkan Baris :
• Listen 443
16. 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
23. 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
24. 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
25. 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