Rabu, 25 Februari 2015

Konfigurasi HTTPS menggunakan openssl pada Linux Ubuntu 14.04 LTS

PERTANYAAN PENDAHULUAN

Perbedaan utama http dan https
Beberapa 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. 


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.

Situs yang menggunakan HTTPS : 

Instalasi Paket
#apt-get install openssl


Ketentuan
 IP Address Web Server = 192.168.98.1/24
 IP Address DNS Server = 192.168.98.1/24
 

Konfigurasi DNS Server
Buat subdomain berikut :

Subdomain departemen marketing : admin.[nama_anda].com
Contoh : admin.dilla.com


Sertifikat SSL
Buat sertifikat SSL di dalam direktori /etc/apache/sertifikat dengan nama file sertfikat sesuai dengan
nama anda
#openssl req -x509 -nodes -days 365 –newkey rsa:2048 –keyout /etc/apache2/sertifikat/[nama_anda].key -out /etc/apache2/sertifikat/[nama_anda].crt



Jika berhasil, maka akan terbentuk dua buah file pada direktori /etc/apache2/sertifikat dengan nama :
[nama_anda].key dan [nama_anda].crt


Konfigurasi Virtual Host pada Web Server Apache 

  1. Tambahkan konfigurasi berikut pada /etc/apache2/sites-enabled/000-default.conf
    <VirtualHost *:80>
    ServerName admin.[nama_anda].com
    ServerAdmin admin@[nama_anda].com
    DocumentRoot /var/www/admin
    Redirect permanent / https://admin.[nama_anda].com/
    </VirtualHost>

    <Directory "/var/www/admin">
    Options Indexes FollowSymLinks MultiViews ExecCGIAllowOverride AllOrder allow,denyAllow from all
    </Directory>

    <VirtualHost *:443>
    ServerName admin.[nama_anda].com
    ServerAdmin admin@[nama_anda].com
    DocumentRoot /var/www/admin
    SSLEngine on
    SSLCertificateFile /etc/apache2/sertifikat/[nama_anda].crt
    SSLCertificateKeyFile /etc/apache2/sertifikat/[nama_anda].key
    </VirtualHost>

    <Directory "/var/www/admin">
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>


  1. Aktifkan modul SSL
    #a2enmod ssl
  2. Pada direktori /var/www/admin , buat file “index.php” dengan isi sebagi berikut :
    <html>
              <body>
                         <h1>Uji Coba HTTPS</h1>
              </body>
    </html>






    Pastikan client telah terhubung dengan server dan terkoneksi dengan IP dinamis yang diberikan oleh server. Lalu buka browser kemudian akses admin.dilla.com



    TEST AKHIR

    1. Jelaskan parameter yang ada pada perintah berikut :
    openssl req -x509 -nodes -days 365 –newkey rsa:2048 –keyout /etc/apache2/sertifikat/aryadi.key -out /etc/apache2/sertifikat/aryadi.crt
    • opensll -> adalah Aplikasi pada linux untuk menjalankan prosedur “Generating A Certificate” atau membuat sertifikat untuk domain yang digunakan
    • req -> private key yang digunakan untuk menyetujui Certificate Signing Request
    • -x509 -> format sertifikat yang digunakan
    • -days 365 -> sertifikat aktif sampai dengan 365 hari
    • -newkey -> berfungsi sebagai kunci untuk ssl
    • -keyout -> file yang dienkripsi seperti /etc/apache2/sertifikat/aryadi.key
    • aryadi.key -> file ditempatkannya private key
    • aryadi.crt -> file ditempatkannya Sertifikat
    2. Apakah yang dimaksud pada konfigurasi berikut :

    <VirtualHost *:443>
    ServerName admin.dilla.com
    ServerAdmin admin@dilla.com
    DocumentRoot /var/www/admin
    SSLEngine on
    SSLCertificateFile /etc/apache2/sertifikat/dilla.crt
    SSLCertificateKeyFile /etc/apache2/sertifikat/dilla.key
    </VirtualHost>

    Konfigurasi diatas merupakan konfigurasi virtual host untuk domain admin.aryadi.com dimana ServerAdminnya adalah admin@dilla.com. dimana file HTML dari admin.aryadi.com disimpan pada direktori /var/www/admin. domain tersebut juga mengaktifkan SSLEngine dengan letak file sertifikat berada pada direktori /etc/apache2/sertifikat/ dengan nama aryadi.crt serta letak file key pada direktori /etc/apache2/sertifikat/ dengan nama dilla.key

    3. Apa fungsi dari konfigurasi berikut :
    Redirect permanent / https://admin.dilla.com/
    Konfigurasi diatas merupakan konfigurasi untuk mendirect permanent semua domain yang ada di root (/) ke halaman https://admin.dilla.com/


    Referensi :
    [1] http://ilmukomputer.org/2013/01/30/perbedaan-http-dan-https/
    [2] http://aryadi.student.telkomuniversity.ac.id/2015/02/26/konfigurasi-https-hyper-text-transfer-protocol-secure/





     

    Rabu, 18 Februari 2015



    Konfigurasi Proxy server di Linux Ubuntu 14.04 LTS

     

     PERTANYAAN PENDAHULUAN

    1. Apakah fungsi dari proxy server?Proxy server dalam suatu jaringan memiliki tiga fungsi utama yaitu sebagai Connection sharing, filtering, dan caching.  

      - Connection sharing
      Bertindak sebagai gateway yang menjadi batas antara jaringan lokal dan jaringan luar. Gateway juga bertindak sebagai titik dimana sejumlah koneksi dari pengguna lokal akan terhubung kepadanya dan koneksi jaringan luar juga terhubung kepadanya. Dengan demikian koneksi dari jaringan lokal ke internet akan menggunakan sambungan yang dimiliki oleh gateway secara bersama-sama (connecion sharing).

      - Filtering
      Bekerja pada layar aplikasi sehingga berfungsi sebagai Firewalll paket filtering yang digunakan untuk melindungi jaringan lokal terhadap gangguan atau serangan dari jaringan luar. Dapat dikonfigurasi untuk menolak situs web tertenu pada waktu-waktu tertentu.

      - Caching
      Proxy Server memiliki mekanisme penyimpanan obyek-obyek yang sudah diminta dari server-server di internet. Mekanisme caching akan menyimpan obyek-obyek yang merupakan permintaan dari para pengguna yang di dapat dari internet.
    2.  Apakah kelebihan dan kekurangan menggunakan proxy server?

      Kelebihan proxy server dalam suatu jaringan TCP/IP adalah:
      • Keamanan jaringan lebih terjaga, karena adanya proxy sebagai pembatas antara jaringan lokal dan jaringan luar (internet).
      • Pengaksesan kembali terhadap situs-situs yang telah diakses sebelumnya menjadi lebih cepat, karena pengaksesan tidak perlu ke jaringan luar (internet) melainkan ada pada direktori cache proxy.
      • Terdapat fasilitas filtering, baik filtering pengguna, content dan waktu akses.
         
      Kekurangan Kekurangan proxy server dalam suatu jaringan TCP/IP adalah:   
      • Pengaksesan terhadap situs yang belum pernah dibuka sebelumnya akan menjadi lebih lambat, karena client harus meminta terlebih dahulu ke pada proxy, setelah itu baru proxy yang akan meminta request dari client tersebut ke pada penyedia layanan internet.
      • Bila proxy server terlambat melakukan update cache, maka client akan mendapatkan content yang belum update ketika melakukan request content tersebut. 
       
    KONFIGURASI

    • Instalasi Paket
      untuk memulai konfigurasi sebelumnya harus mengistall paket squid untuk proxy dengan perintah #apt-get install squid3
     Konfigurasi 1
    • Edit /etc/squid3/squid.conf :
      Ubah :
      http_access deny all
      Menjadi :
      http_access allow all



    b.) Restart Service Squid3 dengan mengetikkan perintah:
          #service squid3 restart
     



    Pengamatan :

    1. konfigurasi browser client agar menggunakan proxy 172.168.9.1:3128
      contoh di browser mozila firefox :

       

      2. Akses www.google.com, www.facebook.com dan www.detik.com. Apa yang terjadi ?
       
      hasil : 
      dari  www.google.com, www.facebook.com dan www.detik.com akan gagal dan outpunya seperti ini



    Konfigurasi 2

    • tambahkan beberapa konfigurasi : nano .etc.squid3/urlbox.txt
    • buat file /etc/squid3/urlbox.txt
      kemudian isi dengan : nano /etc/squid3/url.txt

    • face

      detik
    • restart service squid
      #service squid3 restart
     Pengamatan :
    1. konfigurasi browser client agar menggunakan proxy 172.168.9.1:3128
      contoh di browser mozila firefox :

    2. Akses www.google.com, www.facebook.com dan www.detik.com. Apa yang terjadi ?
                  
                hasil : 
                dari  www.google.com, www.facebook.com dan www.detik.com akan gagal dan outpunya
                seperti ini

                              
               
     
     
     Konfigurasi 3
    1. edit /etc/squid3/squid.conf :
      tambahkan beberapa konfigurasi sehingga terlihat seperti dibawah

       
      2. buat user proxy
       3. ubah permission file users

      4. restart service squid
       #service squid restart

       Pengamatan :
      1. konfigurasi browser client agar menggunakan proxy 172.168.9.1:3128
        contoh di browser mozila firefox :

      2. Akses www.google.com, www.facebook.com dan www.detik.com. Apa yang terjadi ?

                hasil :
                hanya www.facebook.com lah yang bisa ter-akses walaupun meminta user dan password
                yang telah dibuat oleh proxy server tersebut. sedangkan www.google.com dan
                www.detik.com tidak bisa ter-akses

       
       
        
      TEST AKHIR

      1.         Apakah perbedaan yang terjadi antara Konfigurasi I, Konfigurasi II dan Konfigurasi
              III!Jelaskan!
      Perbedaan yang terjadi antara konfigurasi I, II, & III terletak pada situs yang di proxy yaitu pada konfigurasi I semua situs di blok, pada konfigurasi II, hanya beberapa situs atau keyword yang di blok tergantung isi dari file urlbok.txt, pada konfigurasi III pada dasarnya sama dengan konfigurasi II tapi, pada konfigurasi III semua situs atau keyword yang tidak terdapat pada urlblok.txt, bisa di akses tetapi kita harus melakukan autentikasi username dan password yang terdaftar pada Proxy Server.
      2.     Apakah maksud dari konfigurasi berikut :
                  auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/users
                  acl foo proxy_auth REQUIRED
                  acl bar proxy_auth lisa sarah frank joe
                  acl daytime time 08:00-17:00
                  http_access allow foo daytime
                  http_access allow bar
                  http_access deny all

      pengertian dari script konfigurasi diatas yaitu, REQUIRED adalah unutk setiap pengguna yang telah terdaftar atau terotentikasi akan dicocokan dengan ACL. yang terdaftar sebagai pengguna pada Proxy Server adalah bernama lisa sarah frank joe untuk diizinkan mengakses Proxy sepanjang waktu, sedangkan lainnya hanya pada waktu 08:00 - 17:00.

    Rabu, 11 Februari 2015

    [TUTORIAL] Membangun Virtual Host


    membuat virtual host dari ubuntu

    installasi paket :
    -Apache2 --> #apt-get install apache2
    -php5 --> #apt-get install php5
    -mysql-server --> #apt-get install mysql-server
    -php5-mysql --> #apt-get install php5-mysql 

    1. Setelah itu untuk membuat virtualhost pertama-tama, kita harus membuat DNS. Bisa dilihat pada gambar dibawah.


    2. Setelah DNS berhasil dibuat, maka lakukan setting dhcp pada client.

    3. Untuk memulai, membuat virtualhost. Langkah awal tambahkan konfigurasi pada /etc/apache2/sites-enabled/000-default.conf

    4. Buat direktori marketing dan it.


    • Mkdir /var/www/marketing
    • Mkdir /var/www/it
    Pada direktori marketing dan it buat file index.php



    Pengamatan

    1. Konfigurasi klien Web Server dengan IP Address 172.17.9.70/26

    Gunakan browser untuk mengakses marketing.dilla.com dan it.dilla.com
    Apa yang terjadi?


    Tidak bisa di akses karena tidak mendapat izin, karena yang dapat mengakses website tersebut hanya ip 172.17.9.2-172.17.9.65 seperti yang dikonfigurasi pada “/etc/apache2/sites-enabled/000-default.conf”

    2. Konfigurasi klien web server dengan IP Address 172.17.9.65/26 (sesuai ip address yang diberikan oleh DHCP server)

    Gunakan browser untuk mengakses marketing.dilla.com dan it.dilla.com
    Apa yang terjadi?




    Dapat di akses karena ip address yang dimiliki oleh client yang didapatkan dari DHCP server termasuk ip address yang dapat mengakses website marketing.dilla.com dan it.dilla.com sesuai yang dikonfigurasi pada “/etc/apache2/sites-enabled/000-default.conf”

    Rabu, 04 Februari 2015

    [TUTORIAL] Instalasi dan Konfigurasi DHCP Server di Ubuntu 14.04 LTS


      Server adalah komputer yang berfungsi sebagai penyedia layanan bagi komputer client. Sedangkan komputer client berfungsi sebagai penerima  layanan dari komputer server.
      Salah satu fungsi komputer server adalah DHCP Server. DHCP Server adalah pemberian alamat IP ke client yang menerima atau client yang telah mengkoneksikan jaringannya ke jaringan komputer server.
      Kali ini, kita akan mencoba melakukan instalasi dan konfigurasi DHCP Server di Ubuntu 14.04 LTS. DHCP sendiri adalah layanan pemberian otomatis pada client.


           1. Masuk dulu ke root. Jadikan status user menjadi root dengan menggetikkan perintah “sudo su” > enter lalu masukkan password > enter

    2. Setelah user telah berada di root, mari lihat apakah sever DHCP sudah terinstall atau belum dengan perintah “dpkg –l | grep dhcp” > enter, bila terdapat tampilan dibawah berarti paket DHCP sudah terinstall

    3. Jika belum terinstall, maka instalasi paket dengan cara download #apt-get install isc-dhcp-server sampai selesai ya ditunggunya



    4. Lalu selanjutnya konfigurasi interface yang digunakan untuk memberikan layanan dhcp-nya deh, dengan cara edit # /etc/default/isc-dhcp-server



    Akan menghasilkan script. Cari script INTERFACES=””, lalu tambahkan “eth0” atau sesuaikan dengan LAN anda yang aktif dengan format “ethx”. Simpan dan keluar konfigurasi dengan menekan CTRL + X, lalu Y > enter

      
          5. Berikutnya mari konfigurasi parameter layanan dhcp, seperti dibawah ini :

    Akan menghasilkan script seperti ini. Ganti konfigurasi DHCP sebelumnya seperti di bawah ini (konfigurasi IP boleh disesuaikan). Setelah konfigurasi simpan dan keluar dari konfigurasi dengan menekan CTRL + X lalu Y > enter. 



    Keterangan :
    Ø  Edit pada barisan ke-52, hilangkan semua tanda # kecuali tanda # pada A Slightly ....
    Ø  Subnet : isiikan Netwrok ID dari IP
    Ø  Netmask : subnet mask yang digunakan
    Ø  Domain name server : tulis nama domain server sesuai keinginan
    Ø  Nomain name : nama domain anda
    Ø  Routers : ip routers yang digunakan
    Ø  Broadcast address : IP broadcast dari IP
    Ø  Default lease time : waktu default DHCP
    Ø  Max lease time : waktu maksimal pilih sesuai keinginan, 7200 = 2 jam 
    Setelah selesai melakukan pengeditan lakukan save, Jangan lupa CTRL +X lalu Y > ENTER


        6. Selanjutnya periksa jaringannya dulu dengan #service networking restart, lalu restart service DHCP yang telah kita konfigurasi dari tadi yaaaa dengan cara #service isc-dhcp-server restart atau #/etc/init.d/isc-dhcp-server restart 

    7. Jangan lupa di restart atau reboot pc/virtual yang tadi, lalu hidupkan kembali


    Proses installasi dan konfigurasi telah selesai, mari kita pindah ke eksekusi client dan server ya. Sebagai server adalah virtual, sedangkan client adalah pc nyata.
    • Untuk menguji koneksi server dengan client, hubungkan kedua komputer menggunakan LAN,  atur pada client dengan coba jalankan komputer client, lalu buka Network Connections pada Contol Panel lalu klik kanan pada LAN yang aktif dan pilih Properties

    • Klik dua kali Internet Protocol ( TCP/IP ) lalu pilih Use the following IP address agar client mendapatkan IP yang diinginkan. Lalu isi dengan IP yang bisa digunakan, subnet mask dan default gateway. Tetapi jika ingin melakukan secara otomatis dengan cara Obtain an IP address automatically agar client mendapatkan IP otomatis dari DHCP Server, lalu klik Ok

      Lalu akan menghasilkan seperti dibawah ini tekan “yes”

    • ·         Kita lihat hasilnya setelah kita mengkoneksikan client ke server dengan LAN apakah client sudah mendapat IP dari server, pilih pada Local Area Connection yang digunakan, klik kanan > Status unutk melihat keseluruhan informasi mengenai jaringan client yang terhubung ke server

    • ·         mendeteksi apakah komputer client sudah terhubung ke internet, buka Command Prompt dengan membuka Run (win+R) lalu ketikkan cmd > enter
       
    • lalu kita lakukan uji koneksi dari client ke server, lakukan ping ke IP Server dengan perintah “ping 172.17.9.1”, bila terdapat balasan berarti komputer client telah berhasil dikoneksikan ke server menggunakan DHCP


    Pengecekan berhasil, yang artinya DHCP Server yang kita buat success :) you get it broooo hahaaa