Web Server (HTTP dan HTTPS)

Web Server (HTTP dan HTTPS)



A. HTTP ( Hypertext Transfer Protocol)

1. Hypertext Transfer Protokol (HTTP) adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan yang disebut dengan dokumen hiperteks yang kemudian membentuk World Wide Web pada tahun 1990 oleh fisikawan inggris yang bernama Tim Berners Lee. Http merupakan protokol yang menyediakan perintah dalam komunikasi antar jaringan, yaitu komunikasi antara jaringan komputer client dengan web server. Dalam komunikasi ini, komputer clientmelakukan permintaan dengan mengetikkan alamat atau website yang ingin di akses. Sedangkan server mengolah permintaan tersebut berdasarkan kode protokol yang di inputkan.
HTTP disebut protokol Stateless karena setiap perintah dijalankan secara independen, tanpa pengetahuan tentang perintah yang datang sebelumnya. Ini adalah alasan utama yang sulit untuk menerapkan situs Website yang bereaksi secara cerdas untuk input pengguna.
2. Hypertext Transfer Protocol Secure (HTTPS) memiliki pengertian yang sama dengan HTTP hanya saja HTTPS memiliki kelebihan fungsi di bidang keamanan (secure). HTTPS di temukan oleh Netscape Communication Corporation. HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Layer Security(TLS) sebagai sublayer dibawah HTTP aplikasi layer yang biasa. HTTP di enkripsi dan deskripsi dari halaman yang di minta oleh pengguna dan halaman yang di kembalikan oleh web server. Kedua protokol tersebut memberikan perlindungan yang memadai dari serangan eavesdroppers, dan man in the middle attacks. Pada umumnya port yang digunakan HTTPS adalah port 443. Tingkat keamanan tergantung pada ketepatan dalam mengimplementasikan pada browser web dan perangkat lunak server dan didukung oleh algorithma penyandian yang aktual. Oleh karena itu, pada halaman web digunakan HTTPS, dan URL yang digunakan dimulai dengan ‘https://’. 
Https dapat menjamin keamanan dalam Autentikasi server yaitumemungkinkan peramban dan pengguna memiliki kepercayaan bahwa mereka sedang berbicara kepada server aplikasi sesungguhnya.Https juga mampu dalam menjaga kerahasiaan data dan Integritas data.

3. Perbedaan utama HTTP dan HTTPS

Perbedaan utama antara http dan https, dimulai dengan port default, yang 80 untuk http dan 443 untuk https. Https bekerja dengan transmisi interaksi yang normal http melalui sistem terenkripsi, sehingga dalam teori, informasi tidak dapat diakses oleh pihak selain klien dan server akhir. Ada dua jenis umum lapisan enkripsi: Transport Layer Security (TLS) dan Secure Socket Layer (SSL), yang keduanya menyandikan catatan data yang dipertukarkan.
4. Cara Kerja
Https bukan protokol yang terpisah, tetapi mengacu pada kombinasi dari interaksi HTTP normal melalui Socket Layer terenkripsi SSL (Secure) atau Transport Layer Security (TLS) mekanisme transportasi. Hal ini menjamin perlindungan yang wajar dari penyadap dan (asalkan dilaksanakan dengan benar dan otoritas sertifikasi tingkat atas melakukan pekerjaan mereka dengan baik) serangan. 
Port default TCP https: URL adalah 443 (untuk HTTP tanpa jaminan, defaultnya adalah 80). Untuk mempersiapkan web-server untuk koneksi https penerima harus sebagai administrator dan membuat sertifikat kunci publik untuk server web. Sertifikat ini dapat dibuat untuk server berbasis Linux dengan alat seperti Open SSL yang ssl atau gensslcert SuSE. Sertifikat ini harus ditandatangani oleh otoritas sertifikat satu bentuk atau lain, yang menyatakan bahwa pemegang sertifikat adalah siapa yang mereka ajukan. Web browser pada umumnya didistribusikan dengan penandatanganan sertifikat otoritas sertifikat utama, sehingga mereka dapat memverifikasi sertifikat yang ditandatangani oleh mereka.
Bila menggunakan koneksi https, server merespon koneksi awal dengan menawarkan daftar metode enkripsi mendukung. Sebagai tanggapan, klien memilih metode sambungan, dan klien dan sertifikat server pertukaran untuk otentikasi identitas mereka. Setelah ini dilakukan, kedua belah pihak bertukar informasi terenkripsi setelah memastikan bahwa kedua menggunakan tombol yang sama, dan koneksi ditutup. Untuk host koneksi https, server harus memiliki sertifikat kunci publik, yang embeds informasi kunci dengan verifikasi identitas pemilik kunci itu. Sertifikat Kebanyakan diverifikasi oleh pihak ketiga sehingga klien yakin bahwa kuncinya adalah aman.

2. Langkah – Langkah Instalasi
A. Web Server (Apache2)
1. Untuk menginstall paket web server ketik perintah “apt install apache2 php” . dan tunggu hingga selesai.


2. Pindah ke direktori sites-available dengan perintah cd /etc/apache2/sites-available/ 


3. Anda bisa  melihat isi direktori dengan perintah ls dapat terlihat 2 file. Kita coba melihat file 000-default.conf dengan konfigurasi “nano 000-default.conf”.

 

4. Kita masuk ke direktori tempat menyimpan file web server, pada /var/www/html. Kita ketik perintah “cd /var/www/html” . Setelah itu konfigurasikan file index.html didalamnya ketik “nano index.html”.  Lalu jangan lupa save.

 

5. Setelah itu restart service apache2nya. Ketik “/etc/init.d/apache2 restart”. Jika gagal berarti ada konfigurasi yang salah. 


6. Kita coba buka di dalam web browser dengan mengetikkan http://AlamatIp anda. Jika berhasil aka nada tampilan seperti gambar dibawah. 


Kita juga dapat mengakses didalam debian dengan service “w3m”. anda bisa menginstal service nya dengan mengetik “apt install w3m” dan mengetik w3m http://AlamatIp


B. Web Server Secure (HTTPS)
1. Install paket “openssl ssl-cert” dengan mengetik perintah “apt install openssl ssl-cert” karena disini saya telah mengintall maka disitu tampil “already the newest version” .


2. Setelah itu kita buat sertifikan sendiri (self-signed) dengan mengetik perintah berikut.

openssl req –x509 –newkey rsa:1024 –keyout /etc/ssl/private/apache2.pem –out /etc/ssl/certs/apache.crt –nodes –days  365


Setelah itu isi data-data tentang diri anda.


3. Setelah itu kita rubah permission folder yang telah kita buat tadi, agar admin saja yang dapat mengakses dan hanya perintah read & write saja. Ketik perintah “chmod 600 /direktori” .


4. Langkah selanjutnya kita masuk ke direktori /etc/apache2/sites-available/ dengan mengetik perintah “cd /etc/ apache2/sites-available/” dan kita konfigurasikan file default-ssl.conf dengan peintah “nano default-ssl.conf”


5. Kita aktifkan “SSLEngine on”, lalu “SSLCertificateFile” dan “SSLCertificateKeyFile” arahkan ke direktori tempat sertifikat yang telah kita buat tadi.

 

6. Kita aktifkan konfigurasi file situs ssl dengan perintah “a2ensite default-ssl.conf” .


7. Setelah itu kita aktifkan konfigurasi sertifikat sslnya dengan perintah “a2enmod ssl” .


8. Setelah itu kita restart service apachenya dengan perintah “/etc/init.d/apache2.restart”


9. Kita coba buka dengan web browser lagi, ketik https://AlamatIp akan tampil peringatan seperti gambar dibawah. Kita tetap masuk saja

 



C. Redirect HTTP ke HTTPS
1. Kita konfigurasikan file 000-default.conf pada /etc/apache2/sites-available/ dengan “nano /etc/apache2/sites-available/000-default.conf” tambahkan script “RedirectPermanent / https://AlamatIp. dibawah DocumentRoot.

 

2. Kemudian kita restart service apache2 dengan perintah “/etc/init.d/apache2 restart”


3. Kita coba buka website kita dengan ketik http://AlamatIp . Jika berhasil maka akan langsung diarahkan ke web HTTPS.

 


Jika benar akan tampil seperti gambar diatas. Kalau tidak berhasil maka ada konfigurasi yang salah.
Kesimpulan, Jika kita hendak membuat web server tentunya kita harus memperhatikan tingkat keamanan nya. Entah kita memilih HTTP atau HTTPS. Karena  HTTPS memiliki keamanan lebih daripada HTTP

Demikian Tutorial dari saya. Apabila ada yang kurang saya minta maaf. Jangan lupa comment dan bagikan artikel ini jika dinilai bermanfaat. Terima Kasih 
 

 


Postingan terkait:

Belum ada tanggapan untuk "Web Server (HTTP dan HTTPS)"

Post a Comment