Konfigurasi Web Server di CentOS 6.6
Tujuan
- Mengetahui istilah web server
- Membedakan antara HTTP dengan HTTPS
- Mengetahui Konfigurasi Server DNS pada CentOS 6.6
- Mengetahui Konfigurasi Server HTTP pada CentOS 6.6
- Mengetahui Konfigurasi Server HTTPS pada CentOS 6.6
Konsep Dasar
HTTP
HTTP adalah dasar komunikasi data untuk World Wide Web (WWW). Setiap kali kita membuka website / halaman web kita akan menggunakan protokol ini.
Sisi client meminta sisi server untuk membuka komunikasi pada port 80, port terbuka sisi server 80 dan di sisi client port acak terbuka.
Berikut ini adalah gambar ketika aku membuka http://www.kaskus.us dan melihat port yang terbuka menggunakan netstat-an.
Seperti yang bisa kita lihat dari gambar, komputer klien membuka port lokal acak dan port terbuka 80 pada sisi server.
Apakah HTTP (Hyper Text Transfer Protocol) Aman?
Untuk menjawab pertanyaan ini, mari kita lihat eksperimen di bawah ini.
Dalam percobaan ini, ada 2 orang dalam satu jaringan nirkabel dan BadGuy NiceGuy. NiceGuy mencoba untuk membuka http://friendster.com kemudian login ke dalamnya. Di tempat berbeda, BadGuy dalam jaringan nirkabel yang sama dengan NiceGuy seperti yang ditunjukkan pada gambar di bawah:
BadGuy menggunakan Wireshark untuk menangkap data paket semua ditransmisikan ke / dari titik akses. Dalam hal ini BadGuy hanya mengumpulkan dan melihat data paket yang dikirim oleh orang lain.
Berikut adalah gambar ketika NiceGuy memasukkan username (email) dan password di friendster.com
Dan kemudian data berhasil ditangkap oleh BadGuy menggunakan Wireshark dengan Username:niceguy@yahuu.com dan password: heremypass.
Kesimpulan HTTP
Data paket yang dikirim menggunakan HTTP tidak terenkripsi, siapapun dapat melihat data dalam teks biasa seperti BadGuy lakukan. Itulah mengapa tidak menggunakan HTTP untuk perbankan atau transaksi di internet, dan juga itu tidak dianjurkan jika Anda membuka website halaman login yang menggunakan HTTP pada jaringan publik seperti area hotspot nirkabel.
Pengertian HTTPS
HTTPS adalah kombinasi dari Hyper Text Transfer Protocol dan Secure Socket Layer protokol (SSL) / Transport Layer Security (TLS) untuk menyediakan komunikasi terenkripsi antara web server dan klien. Biasanya HTTPS digunakan untuk internet banking, transaksi pembayaran, halaman login, dll
Protokol ini menggunakan port 443 untuk komunikasi. Website yang sudah menggunakan protokol ini GMail.com, dan juga situs-situs lain seperti PayPal, Amazon, dll.
Mari kita lihat hubungan antara komputer kita dan web server ketika kita membuat koneksi menggunakan HTTPS menggunakan netstat-an.
Seperti yang bisa kita lihat dari gambar, komputer klien membuka port lokal acak dan port terbuka 443 pada sisi server.
Apakah HTTPS (Hyper Text Transfer Protocol Secure) Aman?
Untuk menjawab pertanyaan ini, mari kita lihat eksperimen di bawah ini. Dalam percobaan ini, ada 2 orang dalam satu jaringan nirkabel dan BadGuy NiceGuy.
NiceGuy mencoba untuk membuka http://gmail.com kemudian login ke dalamnya. Di tempat berbeda, BadGuy dalam jaringan nirkabel yang sama dengan NiceGuy seperti yang ditunjukkan pada gambar di bawah:
Ketika BadGuy mencoba untuk menangkap data paket semua untuk / dari titik akses, maka akan berbeda bila menggunakan koneksi HTTPS untuk NiceGuy.
Untuk keterangan lebih jelas, mari kita lihat gambar di bawah ini ketika Input NiceGuy username dan password pada halaman login Gmail.
Seperti yang dapat Anda lihat dalam gambar di atas, itu menggunakan https untuk koneksi antara klien dan server web. Kemudian kita akan melihat apa yang BadGuy lakukan setelah NiceGuy menggunakan HTTPS untuk koneksi nya.
BadGuy menyukai tools seperti Wireshark, jadi dia mencoba lagi untuk menangkap toko bunga di cikarang data dan berharap ada sesuatu yang menarik di sana.
BadGuy tidak menemukan data polos, setiap data kirim ke / mengirim dari server dienkripsi. Gambar di atas adalah informasi login (mungkin) data yang telah ditangkap oleh BadGuy, tapi saya pikir BadGuy tidak dapat mematahkan data dienkripsi hanya dalam beberapa hari / bulan / tahun atau mungkin kita bisa disebut “tidak mungkin” (kita masih tidak tahu kapan waktu yang mungkin untuk masuk ke dalamnya).
Kesimpulan HTTPS
Data paket dikirim menggunakan HTTPS dienkripsi, orang tidak dapat melihat data paket dalam jaringan publik. Itu sebabnya HTTPS biasanya digunakan untuk perbankan atau transaksi di internet, dan halaman juga login atau halaman lain perlu untuk mengenkripsi data.
perbedaan https dengan https
Data paket yang dikirim menggunakan HTTP tidak terenkripsi, siapapun dapat melihat data dalam teks biasa seperti BadGuy lakukan. Itulah mengapa tidak menggunakan HTTP untuk perbankan atau transaksi di internet, dan juga itu tidak dianjurkan jika Anda membuka website halaman login yang menggunakan HTTP pada jaringan publik seperti area hotspot nirkabel.sedangkan Data paket dikirim menggunakan HTTPS dienkripsi, orang tidak dapat melihat data paket dalam jaringan publik. Itu sebabnya HTTPS biasanya digunakan untuk perbankan atau transaksi di internet, dan halaman juga login atau halaman lain perlu untuk mengenkripsi data. toko bunga di cibitung
Address Table
No
|
Nama
|
Sistem Operasi
|
IP Address
|
Netmask
|
Gateway
|
1.
|
Server DNS
|
CentOS 6.6
|
192.168.1.20
|
255.255.255.0
|
192.168.1.1
|
2.
|
Server HTTP
|
CentOS 6.6
|
192.168.1.21
|
255.255.255.0
|
192.168.1.1
|
3.
|
Server HTTPS
|
CentOS 6.6
|
192.168.1.22
|
255.255.255.0
|
192.168.1.1
|
4.
|
Client
|
Windows 7
|
192.168.1.23
|
255.255.255.0
|
192.168.1.1
|
KONFIGURASI DNS
1. langkah utama kita masuk ke dalam vi /etc/sysconfig/network-scripts-ifcfg-eth0 untuk memberikan IP
di Server DNS.
2. lalu di dalam, kalian setting IP nya, perhatikan kalimat yang saya beri tanda kotak dan
samakan dengan anda.disini saya menggunakan IP 192.168.43.3 jika sudah kalian save.
3. Jika sudah di save kalian restart dengan sintaks /etc/init.d/network restart.
4. Nah kemudian kalian install paket bind dan bind-utils nya.dengan sintaks :
yum install bind bind-utils.
5. Jika proses install telah berhasil, kalian masuk ke dalam vi /etc/named.conf
6. Di dalam named.conf, kalian edit file nya seperti gambar di bawah ini :
perhatikan tanda ( ; ) dan ( { } ) jangan sampai tertinggal. Jika sudah save
file tersebut.
7. Langkah berikutnya, kalian buat file forward pada direktori /var/named. Karena ada 2 Domain,
jadi kalian buat 2 file foward. Contoh alan.com & alan.net.
8. Nah di dalam var named gecha.com kalian edit seperti ini, dan jangan lupa masukan IP Address
HTTP nya. alan.com adalah Web Server HTTP.
jika sudah jangan lupa di save file tersebut.
9. Sekarang masuk ke forward alan.net
10. Disini juga sama kalian edit seperti gambar di bawah ini dan tambahkan IP Address HTTPS nya.
jika sudah jangan lupa di save file tersebut.
11. Nah tadi kan udah tuh dua Domain Forward nya ada alan.com sama alan.net. Sekarang kita
masuk ke dalam vi /var/named/reverse.alan. untuk mengedit file di dalam nya.
12. Di dalam, kalian edit seperti gambar di bawah ini : lalu disave
13. Langkah berikutnya kalian hubah group file nya menjadi named. Dengan Sintaks :
chgrp named forward.alan.com
chgrp named forward.alan
chgrp named reverse.alan
14. Jika sudah kalian restart DNS nya dengan sintaks :
service named restart
15. Setelah di restart, kalian cek hasil konfig nya menggunakan nslookup (nama domain)
KONFIGURASI DNS TELAH SELESAI
- the second step( 2) : KONFIGURASI HTTP DENGAN METODE NFS atau sinkronisasi
16. Langkah pertama di konfig HTTP dengan metode NFS ini. kalian install NFS dahulu di
Web Server HTTP dengan sintaks :
yum install nfs-utils nfs-utils-lib
17. Jika sudah di install, kalian buar direktori root Web Servernya.saya beri nama alanweb
18. Langkah beriutnya, kalian masuk ke dalam file exports untuk mengedit exports nya.
19. Nah di dalam export kalian isi file tersebut dengan script di bawah ini :
alanweb adalah direktori root yang tadi di buat
192.168.43.5 adalah IP Address Web Server HTTPS
Jika sudah jangan lupa di save,
20. Nah abis di isi exports nya, kalian restart dan jalan NFS nya dengan service rpcbind start
service nfs start
21. Berikutnya kalian jalankan exportfs -a
22. Langkah berikutnya, jangan sampai lupa untuk mematikan SELINUX nya. kalian masuk ke
vi /etc/selinux/config
23. Kemudian di dalam, kalian lihat SELINUX , kalian hubah menjadi SELINUX=DISABLED.
jika sudah jangan lupa di save.
24. Langkah berikutnya kalian hubah setenforce nya menjadi setenforce 0.
25. Nah langkah berikutnya guys, kalian install httpd dan php pada Web Server HTTP dengan sintaks
yum install httpd php
26. Jika sudah selesai, kalian buat direktori public_html sebagai penyimpanan file html dll. dan buat
juga password.
27. Kemudian jika sudah di buat, kalian login sebagai direktori tadi dengan sintaks :
cd /(nama rootnya)
28. Kemudian kalian buat file htaccess dengan sintaks : vi .htaccess.
29. Nah di dalam htaccess, kalian edit seperti gambar di bawah ini :
30. Berikutnya kalian buat user login pada user gecha dengan sintaks :
htpasswd -cm /gechaweb/password/.htpasswd gecha
31. Kemudian kita edit file conf nya, kalian masuk ke sintaks yang ada di gambar.
32. Disini kalian harus jelih matanya, kalian scrol kebawah sampai ketemu
dan edit seperti tanda yang saya berikan.
alanweb itu adalah root Web Server, dan AuthConfig agar yang mengakses
harus login terlebih dahulu.
gechaweb itu adalah root Web Server, dan AuthConfig agar yang mengakses
harus login terlebih dahulu.
33. Masih di tempat tadi, kalian scroll kebawah lagi sampai ketemu VirtualHost seperti yang saya
tandai, kalian edit dan perhatikan tanda (#) nya jangan sampai tertinggal.
jika sudah jangan lupa di save.
34. Lanjut guys, sekarang kalian masuk ke vi /alanweb/public_html/index.html untuk membuat
file html pada direktori /alanweb/public_html
35. Nah di dalammya, kalian isikan script htmlnya itu terserah.
36. Setelah itu coba jalankan httpd nya dengan sintaks : service httpd start
pastikan OK dan tidak ada yang gagal.
- the third step : KONFIGURASI WEB SERVER HTTPS
37. Oke sekarang kita beralih ke HTTPS, langkah pertama kalian harus install dulu NFS di HTTPS
dengan sintaks : yum install nfs-utils nfs-utils-lib
38. Jika install sudah selesai, kalian buat direktori tempat mounting NFS nya, dan langsung coba
melakukan mounting NFS nya, sintaks :
mkdir /alanweb
mount 192.168.43.4:/alanweb/alanweb
39. Jangan lupa untuk Disable Selinux nya juga seperti tadi.
vi /etc/selinux/config
dan disave
40. Nah ubah juga setenforce nya menjadi 0.
setenforce 0.
41. Karena saya menggunakan HTTPS, jadi install dulu httpd php dan mod_ssl sintaks :
yum install httpd php mod_ssl
ini gambar proses.
42. Nah kalo install udah selesai, kalian buat direktori untuk menyimpan ssl nya. dengan sintaks :
mkdir /etc/httpd/ssl
43. Jika sudah di buat, kalian generate ssl nya dengan sintaks di gambar.
44. Jika sudah, kalian masuk ke vi /etc/httpd/conf.d/ssl.conf untuk edit file ssl conf nya.
45. Nah kalian scroll kebawah, matanya gaboleh kedip biar gakelewat XD. Cari
46. Masih di dalam file ini, kalian scroll kebawah lagi sampe ketemu SSLCertificateFile dan
KeyFile. kalian ubah lokasi path ssl nya.
jika sudah jangan lupa di save
47. Langkah berikutnya kalian jalankan httpd nya dengan sintaks :
service httpd start
-the fourth step : ACCESS FROM CLIENT
48. Pertama atur ip kita
49. Kemudian buka Web Browser. Percobaan pertama coba akses web tanpa ssl yaitu
http://alan.com
nanti pasti akan di minta password untuk login. Login dengan username dan password
yang baru di tambahkan di Server.
50. Nah kalo udah login, nanti tampilannya begini.
51. Percobaan kedua, akses web dengan menggunakan ssl, yaitu https://alan.net
nanti akan muncul begini, karena ssl nya gratisan, langsung aja klik proceed to www.alan.nett(unsafe)
52. Nanti bakal begini, tapi https nya di coret karena ini unsafe karena ssl gratisan.
jadi kesimpulannya jika http harus login sedangkan https tak perlu untuk login selamat mencoba :)
Comments