Tuesday, January 31, 2017

Implementasi SSL (HTTPS) untuk Login Hotspot MikroTik

  12 comments
Assalamu’alaikum Wr. Wb.
Pada kali ini kita akan mencoba mengimplementasikan Sertifikat Secure Socket Layer (SSL) yang telah kita buat dan sudah kita implementasikan sebelumnya di WebServer Apache2 dan NGINX ke Hotspot Login MikroTik.

a. Pengertian
HTTPS (Hypertext Transfer Protocol Secure) adalah sebuah protokol yang menyediakan kemanan tambahan dibandingkan dengan HTTP biasa. Standarnya, HTTPS menggunakan Port 443. Untuk pengamanan data HTTPS menggunakan Secure Socket Layer (SSL) atau Transport Secure Layer (TLS).

SSL sendiri adalah sebuah protokol pengamanan data yang bekerja dibawah layer HTTP. SSL memberikan jaminan keaslian identitas dan memastikan keamanan transmisi data antara Server dengan Client dan vice-versa dengan menggunakan sebuah pengamanan Kriptografi.

b. Latar Belakang
Hal yang mendasari Protokol HTTPS dan SSL ini tentunya adalah karena kita ingin meningkatkan keamanan dari data-data critical kita yang berhubungan dengan kepercayaan user.

c. Maksud dan Tujuan
Dengan semakin maraknya pencurian data dari pihak-pihak yang tidak bertanggung jawab dan karena kesadaran akan No System is Safe maka untuk menambah pertahanan dari sebuah sistem, kita menambahkan lapisan keamanan tambahan yang akan memberikan Keamanan Data dari Client maupun Server ketika ditransmisikan, juga untuk memastikan keaslian identitas dari kedua belah pihak. 

d. Jangka Waktu
Waktu yang digunakan untuk melakukan Implementasi ini -+ 5 Menit*

e. Alat dan Bahan
1. File Sertifikat (*.cert.pem / *.crt) beserta Private Key (*.key.pem / *.key)
2. Perangkat MikroTik yang sudah dikonfigurasi Hotspot

f. Langkah Kerja
Saya anggap hal-hal diatas sudah terpenuhi, dan sekarang langkah-langkahnya:
1. Karena kali ini saya menggunakan Winbox untuk melakukan Konfigurasi, jadi untuk mengikuti percobaan ini silahkan melalui Winbox untuk masuk ke Perangkat MikroTik teman-teman. Apabila menggunaan cara lain, teman-teman dapat menyesuaikan.

2. Setelah masuk, silahkan menuju ke Menu Files. Kemudian upload file Sertifikat dan Private Key teman-teman.


3. Setelah file-file diatas diupload, hal yang kita lakukan selanjutnya adalah mengimport Sertifikat beserta Private Key ke Certificate List MikroTik. Buka Menu System → Certificates, lalu klik Import.

Pada Only-File, masukkan file Sertifikat dan Private Key. Juga jangan terlewat untuk mengisi Passphrase dari tiap file.




4. Apabila sudah, sekarang kita menghidupkan Protokol HTTPS nya melalui menu IP → Services. Pada www-ssl kita Enable.


Yap itulah persiapannya, setelah itu kita dapat membuat Hotspot seperti biasanya. 
Namun.. disini ada yang beda, apabila sebelum memakai SSL kita menskip atau menggunakan value None ketika sampai dibagian Select Certificate, maka kali ini kita kan mengisinya dengan Sertifikat yang sudah kita import.


5. Setelah itu ketika sudah sampai mensetting DNS Name, kita harus memasukkan Domain yang sama dengan Common Name (CN) yang kita masukkan ketika membuat Sertifikatnya.


6. Apabila Hotspot sudah disetting, pastikan bahwa Protokol yang digunakan oleh Hotspot sudah HTTPS.


7. Sertifikat berhasil kita Implementasikan di Login Hotspot MikroTik!


g. Referensi
Wikipedia - Transport Layer Security
Wikipedia - HTTP Secure

h. Kesimpulan
Dengan diimplementasikannya SSL ini ke Hotspot Login MikroTik, maka akan semakin menambah keamanan data yang ditransmisikan antara Server dengan Client maupun sebaliknya. Juga hal ini akan menambah kepercayaan Client untuk memasukkan data pribadinya dengan tanpa khawatir akan tercuri atau disadap ketika mengirim data tersebut.

Mungkin cukup sekian yang dapat saya bagikan, semoga bermanfaat bagi teman-teman semua.
Dan seperti biasa, Terima Kasih.
Wassalamu’alaikum Wr. Wb!

Monday, January 30, 2017

Remote Sistem Operasi Linuxmu dengan Cara-cara Ini

  No comments
Assalamu'alaikum Wr. Wb.
Apakah teman-teman ingin meremote komputer Linux teman dari jarak jauh? dari Internet misalnya. Di OS GNU/Linux, terdapat bermacam-macam cara untuk meremote sistem. Beberapa diantaranya adalah dengan protokol SSH (Secure-Shell), Telnet (Telecommunication Network), VNC (Virtual Network Computing) yang akan kita bahas sekarang. Dua dari Tiga Protokol diatas memberikan antarmuka Teks (CLI) sedangkan yang satu (VNC) memiliki antarmuka Grafis (Graphical) yang sama seperti kita menggunakan Komputer secara langsung.

a. Pengertian
Remote Akses merupakan cara yang digunakan untuk mengakses sebuah Komputer yang terkoneksi kedalam sebuah Jaringan dengan Jarak jauh yang dapat dilakukan dengan berbagai media transmisi seperti Kabel dan Radio

b. Latar Belakang
Mempelajari dan Mengetahui cara-cara meremote Komputer yang ada di Jaringan.

c. Maksud dan Tujuan
Mengerti, dapat menerapkan, serta dapat melakukan remote ke sebuah Komputer dengan berbagai cara dan metode.

d. Jangka Waktu
Waktu yang dibutuhkan kurang lebih 15-20 Menit

e. Hal yang dibutuhkan
1. OS GNU/Linux
2. PC/Server terkoneksi ke sebuah jaringan.
3. Repository Debian (Dapat berupa DVD, Repository Lokal, atau Mirror)

f. Langkah Kerja
1. Remote Dengan: Secure-Shell (SSH)
Disini kita akan menggunakan OpenSSH sebagai aplikasi server SSH. Secara default aplikasi OpenSSH Server tersedia untuk diinstal ketika kita melakukan Instalasi Debian. Hanya saja kita Checklist atau tidak. Apabila tidak kita Checklist maka dapat kita Instal dengan
root@Halation:~# apt install openssh-server
Setelah diinstal teman-teman dapat langsung mengaksesnya melalui SSH Client (cth: PuTTY, Bitvise SSH Client, Xshell, dsb) atau melalui Terminal Linux dengan perintah:
[Dengan port default 22] ssh username@IP
[Dengan port kustom] ssh username@IP -p (port kustom disini)

2. Remote Dengan: Telecommunication Network (Telnet)
Aplikasi yang akan kita gunakan adalah telnetd. Aplikasi ini sudah ada di Repository resmi Debian (Juga ada di DVDnya). Kita dapat menginstallnya dengan mengetikkan perintah:
root@Halation:~# apt install telnetd
Setelah instalasi selesai, kita dapat mengaksesnya dengan Terminal (Linux), PuTTY (Windows) atau dengan aplikasi-aplikasi Client sejenis.

Sebelum lanjut, apakah teman-teman bertanya:
Q: Apa bedanya SSH dengan Telnet? Kan sama-sama Teks?
A: Sebenarnya SSH dan Telnet fungsinya sama, yaitu untuk meremote dengan antarmuka Teks. Yang membedakan SSH dengan Telnet adalah keamanannya, Telnet tidak mempunyai 'pengaman' apapun ketika kalian melakukan koneksi dengan Telnet Server, sehingga transmisi data yang dilakukan tidak memiliki enkripsi apapun. Dengan kata lain, tanpa adanya pengaman atau enkripsi ini maka seluruh data yang kalian kirimkan atau terima akan dapat dilihat dengan jelas oleh orang lain karena data bersifat Plain. Oleh karena itu, Telnet tidak dianjurkan untuk digunakan di Jaringan Internet. Sebagai gantinya, ada SSH yang memberikan pengamanan koneksi antara teman-teman dan SSH Server.

Selengkapnya mengenaik perbedaan mereka dapat dilihat disini

3. Remote Dengan: Virtual Network Computing (VNC)
Sebelum kita menginstal VNC, perlu diketahui bahwa Aplikasi ini akan memberikan antarmuka Grafis untuk remotenya. Oleh karena itu remote via VNC hanya akan bekerja apabila teman-teman sudah menginstal Desktop Environtment (cth: LXDE, XFCE, OpenBox, KDE, GNOME, dll) dan Display Manager (cth: LightDM, GDM, dll)

Kita akan menggunakan aplikasi tightvncserver sebagai VNC Servernya. Aplikasi ini juga sudah tersedia di Repositori resmi Debian. Kita dapat menginstalnya dengan perintah:
root@Halation:~# apt install tightvncserver
Setelah selesai kita dapat meremotenya di Port 5901 dengan format;
IPAddress:5901 
Ini memerlukan aplikasi VNC Client untuk meremotenya, seperti TightVNC Client dan RealVNC Client untuk Windows dan xtightvncviewer untuk Linux. Untuk Linux kalian dapat melihat aplikasi-aplikasi yang lainnya di Dokumentasi Ubuntu disini.

Aplikasi xtightvncviewer tersedia di Repository resmi Debian, sehingga kalian dapat langsung menginstallnya dengan perintah:
root@Halation:~# apt install xtightvncviewer
Setelah diinstall kalian dapat membuka aplikasinya dengan mengetikkan xtightvncviewer di Terminal. Akan muncul Window kecil yang akan menanyakan IP dan Password dari VNC Server teman-teman.
Meremote Server VNC dengan xtightvncviewer di Linux
g. Referensi
DigitalOcean: How to Set UpVNC Server on Debian 8

h. Kesimpulan
Dengan mengetahui berbagai cara meremote jarak jauh suatu Komputer, kita dapat menerapkannya pada berbagai kasus atau kondisi sesuai kebutuhan.

Itulah beberapa cara untuk meremote Server Linux. Semoga dapat bermanfaat bagi teman-teman semua. Dan seperti biasa, Terima kasih :)
Wassalamu'alaikum Wr. Wb.

Friday, January 27, 2017

Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX ~ Pt.4

  No comments
Assalamu'alaikum Wr. Wb.
Sudahkah teman-teman memasang SSLnya? meski sudah membuat ketiga komponen pentingnya masih juga 'tidak dipercayai' oleh Web Browser? nah di artikel ini kita akan membahasnya bersama-sama.

Bagaimana Sertifikat SSL di Server-side (Webserver) divalidasi oleh Web Browser?
Jadi, ketika Web Browser teman-teman melakukan 'Handshake' dengan Web Server, Web Server akan mengirimkan seluruh informasi dari sertifikat SSL yang digunakan (bukan Private Key). Setelah Informasi sertifikat diterima oleh Web Browser, selanjutnya Web Browser akan melakukan validasi sertifikat yang diterima dari Web Server dengan sertifikat-sertifikat yang ada di 'Repository' sertifikat Sistem Operasi atau yang dimiliki Web Browser itu sendiri.

Sistem Operasi dan Web Browser mempunyai Repository atau Gudang Sertifikat yang sudah pre-loaded dengan Sertifikat-sertifikat Root dan Intermediate dari Certificate Issuer ternama seperti VeriSign, GeoTrust, COMODO, DigiCert, dan sebagainya. Sehingga ketika Informasi Sertifikat yang diterima dari Web Server mempunyai data-data dari penerbit yang sesuai dengan yang dimiliki oleh Repository Sistem Operasi atau Web Browser, maka selanjutnya Web Browser akan menampilkan Logo Gembok Hijau yang berarti Web Browser mempercayai Server kita karena memiliki Sertifikat yang diterbitkan oleh Certificate Issuer 'terpercaya'.

Nah inilah yang terjadi pada sertifikat yang telah kita buat, kita sudah mempunyai semua komponen yang dibutuhkan oleh Web Browser untuk melakukan Validasi sertifikat yang digunakan server kita. Namun apa yang terjadi? Web Browser masih belum mau memberikan kepercayaan kepada server kita.

Yap ini terjadi karena Root Certificate dan Intermediate Certificate kita belum masuk dan dikenali oleh Repository Sertifikat yang dimiliki Sistem Operasi dan Web Browser kita. Nah untuk solusinya kita bisa meng-import Chained Certificate yang berisi Root dan Intermediate Certificate yang sudah menjadi satu file. Atau meng-import satu persatu file sertifikat dari Root dan Intermediate. Dengan begitu maka Web Browser akan mengenali sertifikat SSL yang kita pakai di Server dan akan memberikan kepercayaan kepada server kita.

Untuk Informasi, Web Browser seperti Firefox menggunakan Certificate Repository yang dimiliki oleh Mozilla Firefox sendiri, sementara Internet Explorer dan Google Chrome / Chromium menggunakan Certificate Repository yang dimiliki oleh Sistem Operasi.

Disini saya akan memberikan langkah-langkahnya untuk meng-import sertifikat-sertifikat yang telah kita buat ke Certificate Repository Browser (seperti Mozilla Firefox) dan ke Certificate Repository Sistem Operasi (seperti Google Chrome).

CERTIFICATE REPOSITORY: BROWSER (FIREFOX)
1. Buka Menu Preferences lalu ke Tab Advanced. Kemudian Klik View Certificates


2. Ke Tab Authorities lalu klik Import


3. Arahkan ke file Chained Certificate yang sudah kita buat sebelumnya.
4. Kemudian berikan Checklist ke "Trust this CA to identify websites."


5. Apabila sudah, silahkan coba buka website kalian lagi. dan....


----------------------------------
CERTIFICATE REPOSITORY: OPERATING SYSTEM (IE, CHROME, etc)

1. Buka menu Settings di Chrome. Scroll kebawah lalu Klik pada Button Manage Certificates


2. Ke Tab Authorities lalu klik Import


3. Untuk di Chrome, teman-teman harus meng-import satu-persatu sertifikatnya. Tidak dapat menggunakan Chained Certificate. Sertifikatnya yaitu ca.cert.pem dan intermediate.cert.pem


4. Seperti tadi, berikan checklist pada "Trust this certificate for identifying websites." setiap teman-teman mengimport sertifikatnya.


5. Apabila sudah, silahkan teman-teman buka kembali websitenya :)


Ya jadi seperti itulah jawaban atas mengapa meski kita menggunakan Self-Signed Certificate kita tetap bisa membuat Web Browser mempercayai server dengan sertifikat yang kita buat sendiri.
Mungkin cukup sekian yang dapat saya sampaikan semoga bermanfaat bagi teman-teman semua. Apabila terdapat kekurangan atau kesalahan di artikel saya jangan sungkan untuk memberikan kritik :)
Dan seperti biasa, Terima Kasih.
Wassalamu'alaikum Wr. Wb.

Thursday, January 26, 2017

Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX ~ Pt.3

  No comments
Assalamu'alaikum Wr. Wb
Ini adalah Bagian 3 dari artikel Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX. Pada bagian ini saya akan menulis tentang Implementasi SSL yang sudah kita buat sebelumnya di Web Server NGINX (baca: Engine X).

Checklist:
1. Siapkan file-file Sertifikat yang telah kita buat sebelumnya
smkn1pedan.ti.cert.pem (Site Certificate, Lokasi: intermediate/certs)
smkn1pedan.ti.key.pem (Site Private Key, Lokasi: intermediate/private)
2. Web Server NGINX (Terinstall dan Berjalan)
NGINX tersedia di Repository Resmi Debian. Jika belum menginstall, dapat diinstall dengan:
root@Halation:~# apt install nginx
3. OpenSSL
OpenSSL juga tersedia di Repository Resmi Debian. Apabila teman-teman belum menginstallnya, teman-teman dapat menginstall dengan perintah:
root@Halation:~# apt install openssl
Saya asumsikan semua Checklist diatas telah terpenuhi. Lalu silahkan upload file-file Sertifikat teman-teman ke Server.

Langkah-langkahnya:

1. Arahkan Current Directory ke folder Sites Available.
root@Halation:~# cd /etc/nginx/sites-available
2. Buat Konfigurasi VirtualHost baru
root@Halation:/etc/nginx/sites-available# nano smkn1pedan
3. Ini adalah contoh dasar konfigurasinya, silahkan sesuaikan dengan konfigurasi VirtualHost teman-teman
server {
    listen          443 ssl;
    server_name     nginx.smkn1pedan.ti;
    root            /var/www/html;
   
    ssl_certificate     /path/ke/file/certificate;
    ssl_certificate_key /path/ke/file/private/key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH !RC4";
    ssl_prefer_server_ciphers   on;
    index index.html index.htm index.php index.nginx-debian.html;
    location / {
                try_files $uri $uri/ =404;
    }
}
4. Apabila sudah silahkan teman-teman save file konfigurasi tersebut dengan menekan CTRL + X lalu tekan "y"

5. Aktifkan VirtualHost dengan membuat Symbolic Link ke /etc/nginx/sites-enabled
root@Halation:~# ln -s /etc/nginx/sites-available/smkn1pedan /etc/nginx/sites-enabled/smkn1pedan
6. Cek Syntax Parameter dan Konfigurasi kita dengan mengetikkan:
root@Halation:~# nginx -t
# Biasanya ketika teman-teman melakukan validasi konfigurasi ataupun merestart webserver, pasti webserver akan menanyakan Passphrase dari Private Key teman-teman.
# Apabila tidak ada error maka akan memberikan output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
7. Nah disinilah bagian penentuannya, Restart NGINX dengan perintah
root@Halation:~# service nginx restart
Apabila teman-teman mendapatkan pesan seperti ini:
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
dan ketika teman-teman mengecek lognya:
 nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/sslku/smkn1pedan.ti.key.pem") failed (SSL: error:0906406D:PEM routines:PEM_def_callback:problems getting password error:0906A068:PEM routines:PEM_do_header:bad password read error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
Selamat anda mendapatkan masalah!!! :)) 
Kalem, pesan yang saya cetak tebal adalah masalahnya. Saya sudah mengatakan diatas bahwa Setiap kali teman-teman melakukan Validasi Konfigurasi ataupun merestart Web Server, normalnya teman-teman akan diminta untuk memasukkan Passphrase dari Private Key teman-teman.

Akan tetapi teman-teman tidak diminta kan? yap, untuk saat ini saya belum mencoba versi lain dari NGINX selain yang saya pakai (1.6.2) di Debian.  Namun di NGINX saya yang ada di Ubuntu (1.10.0) tetap meminta Passphrase, dengan kata lain Normal.

Untuk solusi sementara saat ini kita dapat mengatasinya dengan menghapus enkripsi dari Private Key tersebut dengan cara:
root@Halation:/etc/nginx/sslku# openssl rsa -in smkn1pedan.ti.key.pem -out smkn1pedan.key
Buat Permission dari file tersebut agar hanya dapat dibaca oleh Root (r-- --- ---)
root@Halation:/etc/nginx/sslku# chmod 400 smkn1pedan.key
Setelah itu ubah konfigurasi ssl_certificate_key teman-teman untuk mengarah ke Private Key yang baru, lalu lakukan restart NGINX.


Problem Solved!! tetapi dengan menghapus Enkripsi dari Private Key akan menghasilkan keamanan Private Key teman-teman yang menjadi lebih rentan. Oleh karena itu pastikan Private Key baru yang tidak memiliki enkripsi ini selalu aman dan pastikan untuk selalu memperbaiki dan menutup celah sistem agar tidak terjadi peretasan yang berdampak pada keamanan Private Key teman-teman. :)

Oh iya, akan ada Part 4 yang mana Part 4 ini akan membahas bagaimana mengatasi masalah Untrusted Certificate alias Silang Merah yang ditemui karena menggunakan Self-Signed SSL.

Mungkin cukup sekian yang dapat saya sampaikan, semoga bermanfaat bagi teman-teman semua. Dan jangan sungkan untuk mengkoreksi saya apabila terdapat kesalahan :) 
Dan seperti biasa Terima Kasih..
Wassalamu'alaikum Wr. Wb.

Wednesday, January 25, 2017

Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX ~ Pt.2

  No comments
Assalamu'alaikum Wr. Wb.
Setelah kita membuat Sertifikat Otoritas sendiri di Artikel saya sebelumnya, sekarang adalah pengimplementasiannya di Web Server. Disini saya akan menggunakan Apache2 dan NGINX (Baca: Engine X) untuk mendemonstrasikan cara pengimplementasiannya.

Siapkan File-file berikut ini (File-file yang sudah saya tunjukkan di Artikel Part 1)
1. smkn1pedan.ti.cert.pem (Site Certificate, Lokasi: intermediate/certs)
2. smkn1pedan.ti.key.pem (Site Private Key, Lokasi: intermediate/private)

Sebelum mulai mengkonfigurasi di sisi Web Server, pertama terlebih dulu Upload kedua file diatas ke server teman-teman ke Folder yang mudah diakses oleh Web Server nantinya, saya biasa menggunakan salah satu dari ketiga opsi dibawah:
1. FTP Client dengan Port 21 (Memerlukan FTP Server)
2. FTP Client dengan Port 22 (Memerlukan SSH Server)
3. Terminal dengan perintah scp (Memerlukan SSH Server)

Perlu diingat bahwa semua aksi yang dilakukan dengan tujuan memodifikasi sistem memerlukan akses Super User. Jadi pastikan teman-teman memiliki akses yang cukup dengan menyisipkan perintah sudo dalam setiap perintah yang bertujuan untuk memodifikasi atau mengubah sistem atau praktisnya dengan masuk ke akun root (Super User).

APACHE2 HTTPS VIRTUALHOST
1. Ubah Current Directory ke /etc/apache2/sites-available
root@pxvm:~# cd /etc/apache2/sites-available
Note: Secara default Apache2 membawa contoh file konfigurasi VirtualHost dengan protokol HTTPS, namanya adalah default-ssl.conf. Apache2 pun memberikan dokumentasi penjelasan disetiap parameter-parameter konfigurasi di file tersebut. Maka dari itu disini kita akan memanfaatkannya sebagai 'template' untuk situs dengan protokol HTTPS kita nantinya.

2. Salin file default-ssl.conf menjadi nama lain, contohnya menjadi smkn1pedan.ti.conf
root@pxvm:/etc/apache2/sites-available# cp default-ssl.conf smkn1pedan.ti.conf
3. Setelah kita Salin, kemudian kita buka file tersebut dengan bantuan editor nano.
root@pxvm:/etc/apache2/sites-available# nano smkn1pedan.ti.conf
Ini adalah isi asli dari file default-ssl.conf yang sudah kita salin menjadi smkn1pedan.ti.conf dengan dokumentasi dari setiap parameter saya hapus. Sehingga hanya konfigurasinya saja.
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
                ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
             
                <FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
                <Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
4. Mari kita mulai ubah konfigurasinya. Konfigurasi dengan Font Warna Merah diatas adalah yang akan kita ubah.

<IfModule mod_ssl.c>
          <VirtualHost *:443>
                ServerName www.smkn1pedan.ti
                ServerAdmin fajaru@smkn1pedan.ti
                DocumentRoot /var/www/html/smkn1pedan             
                ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
             
                SSLEngine on
SSLCertificateFile /etc/apache2/sslku/smkn1pedan.ti.cert.pem SSLCertificateKeyFile /etc/apache2/sslku/smkn1pedan.ti.key.pem           
                   <FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
                <Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>

Short Explanation:
1) <VirtualHost *:443> = adalah bahwa VirtualHost smkn1pedan.ti akan berjalan (Listening) disemua IP yang dimiliki oleh server.
2) ServerAdmin = Ini opsional, namun menurut saya cukup penting apabila server teman-teman dapat mengakses jaringan Internet
3) DocumentRoot = Lokasi 'public_html'-nya VirtualHost.
4) SSLEngine on = Parameter untuk me-load modul SSL
5) SSLCertificateFile = Lokasi file Certificate *.cert.pem
6) SSLCertificateKeyFile = Lokasi file Certificate Key *.key.pem

5. Setelah selesai mengkonfigurasi, simpan konfigurasi tersebut. Pada editor nano dapat dilakukan dengan cara menekan CTRL + X, tekan "y" lalu ENTER.

6. Kemudian aktifkan modul SSL Apache2 karena secara default modul ini belum di aktifkan.
root@pxvm:/etc/apache2/sites-available# a2enmod ssl 
7. Aktifkan Konfigurasi VirtualHost yang sudah kita buat dengan perintah
root@pxvm:/etc/apache2/sites-available# a2ensite smkn1pedan.ti
Ubah smkn1pedan.ti dengan nama file VirtualHost yang sudah teman-teman buat

8. Apabila Modul SSL dan VirtualHost yang dibuat sudah aktif, maka Apache2 akan meminta kalian memasukkan Passphrase dari Sertifikat yang kalian buat, ini normal dan aman.

9. Setelah itu cek apakah Apache2 berjalan dengan sempurna dengan mengetikkan perintah
root@pxvm:/etc/apache2/sites-available# service apache2 status
# Apabila tidak terdapat pesan error maka VirtualHost dengan HTTPS yang sudah teman-teman buat telah berjalan dan dapat diakses dengan protokol HTTPS di Web Browser
https://www.smkn1pedan.ti/

SSL Berhasil dipasang! :))
*Untuk Teaser artikel saya selanjutnya, lihat Address Bar nya. Tidak Silang Merah kan? hehe

Itulah konfigurasi dengan Apache2, Untuk pemasangan di Webserver NGINX akan saya poskan di artikel selanjutnya :)
Wassalamu'alaikum Wr. Wb.

Tuesday, January 24, 2017

Membuat Self-Signed CA SSL dengan OpenSSL dan Implementasinya di Apache2 & NGINX ~ Pt.1

  1 comment

Assalamu'alaikum Wr. Wb.

Introduction:
Sudahkan teman-teman mensetting protokol HTTPS di Server kalian? Apakah teman-teman selalu mendapati pesan Warning yang selalu mengganggu? Ya itu terjadi karena kita menggunakan Self-Signed Certificate yang tidak memiliki data tentang Certificate Authority. Walau sebenarnya kita tetap mendapatkan koneksi yang terenkripsi berkat SSL meski selalu mendapati pesan Warning, namun ada baiknya kita memperbaiki kekurangan tersebut supaya menciptakan kebiasaan mengakses situs yang baik, tidak asal Add Exception. Nah umumnya Sertifikat Resmi yang sudah diakui urutan komponennya adalah sebagai berikut:


1. Root (Certificate Authority) -> 2. Intermediate (Certificate Issuer) -> 3. End User Certificate

Sedangkan Self-Signed Certificate umumnya hanya memiliki yang ketiga. Tidak mempunyai Root dan Intermediate Authority. Itulah sebabnya mengapa kalian akan terus menerus mendapatkan pesan Warning yang umumnya memberitahu bahwa Sertifikat yang kita gunakan tidak dikenali karena tidak memiliki komponen nomer 2 dan 3.

Jadi apakah kita bisa membuat sendiri ketiga komponen tersebut?
Bisa, dengan OpenSSL kita bisa membuat sendiri ketiga komponen diatas. Jadi intinya dengan OpenSSL kita dapat bertindak sebagai Root CA, Intermediate, dan juga sebagai End User.

-----------------------------------------------

Pre-requisite:
1. OS GNU/Linux (Saya menggunakan Distro Debian)
2. Komponen OpenSSL (di Debian dan turunannya dapat diinstall dengan apt-get install openssl)
3. Webserver, Apache2 atau NGINX dengan modul SSL dihidupkan

Langkah Pembuatan:
1. Buat Direktori untuk Sertifikat kita nantinya di /root/ca. Juga buat struktur direktorinya
root@labor:~# mkdir ca && cd ca
root@labor:~/ca# mkdir certs crl newcerts private
root@labor:~/ca# chmod 700 private
root@labor:~/ca# touch index.txt && echo 1000 > serial
root@labor:~/ca# mkdir intermediate && cd intermediate
root@labor:~/ca/intermediate# mkdir certs crl csr newcerts private && chmod 700 private
root@labor:~/ca/intermediate# touch index.txt && echo 1000 > serial
2. Buat Konfigurasi OpenSSL yang akan kita gunakan untuk Root CA nantinya.
root@labor:~/ca# nano openssl.cnf
Isi Konfigurasinya dapat dilihat disini
Penjelasan mengenai parameter konfigurasinya dapat dilihat disini

3. Buat Root Key.
Root Key akan digunakan untuk membuat Sertifikat Root (CA). Dan juga pastikan diamankan dengan Passphrase atau kata kunci yang aman dan Jangan sampai File ini hilang.
root@labor:~/ca# openssl genrsa -aes256 -out private/ca.key.pem 4096
root@labor:~/ca# chmod 400 private/ca.key.pem
4. Buat Sertifikat Root (CA)
Disinilah Root Key akan digunakan. Yaitu untuk membuat Sertifikat Root, mengapa keamanan file ini penting? karena siapapun yang memiliki akses Root Key maka dia dapat menerbitkan sertifikat sendiri. Juga pastikan untuk memilih durasi Sertifikat Root yang agak lama untuk kadaluarsa Seperti durasi diatas 15 Tahun. Karena jika Durasi Sertifikat Root Habis maka Sertifikat dibawahnya juga ikut kadaluarsa.
root@labor:~/ca# req -config openssl.cnf -key private/ca.key.pem -new -x509 -days (DURASI SERTIFIKAT DALAM HARI) -sha256 -extensions v3_ca -out certs/ca.cert.pem
root@labor:~/ca# chmod 444 certs/ca.cert.pem
# Verifikasi Hasil Pembuatan Sertifikat Root
root@labor:~/ca# openssl x509 -noout -text -in certs/ca.cert.pem
5. Buat Konfigurasi OpenSSL untuk Intermediate CA
root@labor:~/ca/intermediate# nano openssl.cnf
Isi Konfigurasi dapat dilihat disini

# Tambahkan File crlnumber di direktori Intermediate CA untuk mengikuti daftar Certificate Revocation Lists
root@labor:~/ca/intermediate# echo 1000 > crlnumber
6. Buat Intermediate Key
Intermediate Key akan digunakan untuk membuat sertifikat Intermediate CA
root@labor:~/ca# openssl genrsa -aes256 -out intermediate/private/intermediate.key.pem 4096
root@labor:~/ca#  chmod 400 intermediate/private/intermediate.key.pem
7. Buat Sertifikat CSR (Certificate Signing Request) untuk Intermediate CA
Disini Intermediate Key akan digunakan untuk men-generate atau membuat Sertifikat CSR untuk Intermediate CA.
Untuk catatan, Informasi Data dari CSR haruslah Sama dengan Root Certificate kecuali untuk CN atau Common Name
root@labor:~/ca# openssl req -config intermediate/openssl.cnf -new -sha256 -key intermediate/private/intermediate.key.pem -out intermediate/csr/intermediate.csr.pem
8. Buat Sertifikat Intermediate
Setelah CSR untuk Intermediate dibuat, selanjutnya adalah digunakan bersama dengan Root CA untuk membuat Sertifikat Intermediate. Untuk catatan, Durasi dari Sertifikat Intermediate haruslah tidak lebih panjang dari Durasi dari Sertifikat Root.
root@labor:~/ca# openssl ca -config openssl.cnf -extensions v3_intermediate_ca -days (DURASI SERTIFIKAT DALAM HARI) -notext -md sha256 -in intermediate/csr/intermediate.csr.pem -out intermediate/certs/intermediate.cert.pem
root@labor:~/ca# chmod 444 intermediate/certs/intermediate.cert.pem
# Verifikasi Hasil dari Pembuatan Sertifikat Intermediate
root@labor:~/ca# openssl x509 -noout -text -in intermediate/certs/intermediate.cert.pem
root@labor:~/ca# openssl verify -CAfile certs/ca.cert.pem intermediate/certs/intermediate.cert.pem
# Bila hasil benar maka akan keluar: intermediate.cert.pem: OK

9. Buat Certificate Key untuk End User
root@labor:~/ca# openssl genrsa -aes256 -out intermediate/private/smkn1pedan.ti.key.pem 2048
root@labor:~/ca# chmod 400 intermediate/private/smkn1pedan.ti.key.pem
*teman-teman dapat mengganti nama alamat yang saya beri warna biru dengan alamat website teman-teman

10. Buat CSR (Certificate Signing Request) untuk End User
Untuk catatan:
*Informasi Data untuk CSR End User tidak harus atau tidak perlu sama dengan Sertifikat Intermediate atau Root.
*Untuk Sertifikat Server, Nama Domain dapat dimasukkan di Common Name (CN). Nama tidak boleh sama dengan Sertifikat Intermediate ataupun Root
*Domain dengan www dan tanpa www terhitung Single Domain. Jadi rencanakan dengan matang ketika mengisi Nama Domain di Common Name (CN) terutama untuk teman-teman yang hanya membuat SSL Non-Wildcard
Tips:
*Untuk membuat Wildcard SSL (SSL yang hanya mengamankan Subdomain), teman-teman dapat menambahkan tanda bintang didepan (*) pada saat memasukkan Nama Domain di Common Name. Contohnya: *.smkn1pedan.ti
root@labor:~/ca# openssl req -config intermediate/openssl.cnf -key intermediate/private/smkn1pedan.ti.key.pem -new -sha256 -out intermediate/csr/smkn1pedan.ti.csr.pem
11. Buat Sertifikat End User dengan Certificate Key dan CSR End User
root@labor:~/ca# openssl ca -config intermediate/openssl.cnf -extensions server_cert -days (DURASI SERTIFIKAT DALAM HARI) -notext -md sha256 -in intermediate/csr/smkn1pedan.ti.csr.pem -out intermediate/certs/smkn1pedan.ti.cert.pem
root@labor:~/ca# chmod 444 intermediate/certs/smkn1pedan.ti.cert.pem
# Verifikasi Sertifikat End User
root@labor:~/ca# openssl x509 -noout -text -in intermediate/certs/smkn1pedan.ti.cert.pem
root@labor:~/ca# openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/smkn1pedan.ti.cert.pem
# Apabila tidak ada masalah dalam sertifikatnya maka akan keluar: smkn1pedan.ti.cert.pem: OK

12. Buat File Certificate Chain
Certificate Chain berisi Sertifikat dari Root dan Intermediate. Certificate Chain biasa digunakan untuk Web Browser (Khususnya di Linux) untuk memverifikasi Sertifikat yang digunakan di Website kita
root@labor:~/ca# cat intermediate/certs/intermediate.cert.pem certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem
root@labor:~/ca# chmod 444 intermediate/certs/ca-chain.cert.pem
13. Siap Digunakan!
Itulah proses pembuatannya, untuk mulai menggunakan Sertifikat diatas di Web Server (Server-side) siapkan file-file berikut:
1. smkn1pedan.ti.key.pem (SSL Private Key) (Lokasi: intermediate/private)
2. smkn1pedan.ti.cert.pem (SSL Certificate) (Lokasi: intermediate/certs)

Untuk tutorial bagaimana mengimplementasikannya di Webserver Apache2 atau NGINX, tunggu artikel saya selanjutnya :)

Itulah Proses Pembuatan dari komponen-komponen yang dibutuhkan untuk menjadi Root CA, Intermediate, dan End User CA. Semoga bermanfaat bagi teman-teman semua :)
Wassalamu'alaikum Wr. Wb.

------------------------------------------------------------------
Main Reference:
Jamielinux (Sign Server and Client Certificate - OpenSSL Certificate Authority)
Special Thanks to Jamielinux!

Monday, January 23, 2017

Membuat Sendiri Repositori Mini Distro Debian dari Paket DVD

  No comments
Assalamu'alaikum Wr. Wb.
Pada kali ini kita akan mencoba membuat Repositori kecil-kecilan dengan konten repo dari 3 DVD Debian.

a. Pengertian
Repository (Terjemahan: Gudang) merupakan gudang atau sumber dari sekumpulan data-data aplikasi. Repository pada Linux sendiri digunakan sebagai pusat gudang dari aplikasi-aplikasi.

b. Latar Belakang
Karena jika kita sedang belajar Debian, hal yang kita butuhkan hanyalah aplikasi beserta dependensinya untuk melakukan instalasi sebuah aplikasi. Dan Security Patch disini tidak terlalu dibutuhkan kecuali terjadi bug serius pada aplikasi tersebut, dan karena kita berada di Local Network dan berada bukan di Production Environment. Oleh karena itu memakai Repository yang memang hanya menjadi kebutuhan kita akan membuat Instalasi menjadi lebih cepat, hemat, dan efisien karena tidak melakukan koneksi ke Internet.

c. Maksud dan Tujuan
Dapat membuat sendiri Repository dari Distro Debian dengan menggunakan aplikasi rsync untuk membuat Repository berdasarkan konten dari 3 DVD Debian.

d. Waktu Pengerjaan
Waktu yang digunakan untuk melakukan pembuatan Repository ini kurang lebih 10-20 Menit tergantung dari kecepatan Hard Disk masing-masing.

e. Alat dan Bahan
- OS GNU/Linux (Bebas)
- 3 DVD Debian
- Ruang Harddisk +- 15GB
- Koneksi Internet
- Web Server (Apache2, NGINX, dll)

f. Langkah Pengerjaan
1. Silahkan teman-teman Booting ke Linux masing-masing serta siapkan ketiga DVD diatas. Dan saya menganggap Web Server teman-teman sudah diinstall dan dapat berjalan.
2. Buka Terminal lalu Install beberapa aplikasi berikut:
root@Halation:~# apt install rsync dpkg-dev
3. Buat Mount Point untuk DVD kita nantinya, penempatannya bebas:
root@Halation:~# mkdir /media/disk1
root@Halation:~# mkdir /media/disk2
root@Halation:~# mkdir /media/disk3
4. Persiapkan juga Folder untuk Repository kita nantinya. Disini saya akan langsung menempatkannya di Webroot.
root@Halation:~# mkdir -p /var/www/html/debian/pool
root@Halation:~# mkdir -p /var/www/html/debian/dists/jessie/main/binary-amd64
root@Halation:~# mkdir -p /var/www/html/debian/dists/jessie/main/source
*Info: 
- Parameter "-p" disini memberitahukan pada mkdir bahwa apabila Parent Directory nya belum dibuat atau belum ada, maka otomatis akan dibuat mengikuti path yang kita ketikkan.
- Teman-teman harus mengganti "binary-amd64" sesuai dengan arsitektur dari ISO yang teman-teman miliki. cth apabila 32-bit maka ketikkan binary-i386, apabila 64-bit maka ketikkan binary-amd64.

5. Lakukan Mounting DVD teman-teman ke Folder Mount Point yang sudah kita persiapkan sebelumnya.
root@Halation:~# mount /dev/sr0 /media/disk1
root@Halation:~# mount /dev/sr1 /media/disk2
root@Halation:~# mount /dev/sr2 /media/disk3
Saya tidak mengarahkan ke file ISO Debian karena saya memakai VirtualBox, yang mana saya dapat langsung memuat ketiga DVD secara bersamaan.

6. Setelah Mounting DVD berhasil, saatnya kita mulai mensinkronkan konten repo DVD ke repo yang akan kita buat.
root@Halation~# rsync -avH /media/disk1/pool/* /var/www/html/debian/pool/
root@Halation~# rsync -avH /media/disk2/pool/* /var/www/html/debian/pool/
root@Halation~# rsync -avH /media/disk3/pool/* /var/www/html/debian/pool/
Proses ini akan memakan waktu agak lama.

7. Apabila sudah selesai, saatnya kita mendaftarkan paket-paketnya.
root@Halation:~# cd /var/www/html/debian
root@Halation:/var/www/html/debian# dpkg-scanpackages . /dev/null | gzip -9c > dists/jessie/main/binary-amd64/Packages.gz
root@Halation:/var/www/html/debian# dpkg-scansources . /dev/null | gzip -9c > dists/jessie/main/source/Sources.gz
Proses inipun akan memakan waktu sedikit lama.

8. Setelah proses selesai semua, Selamat! Repository teman-teman sudah dapat digunakan untuk melakukan Instalasi!

Untuk penggunaanya:
Edit file 
/etc/apt/sources.list
Lalu masukkan dan sesuaikan kedua baris berikut kedalamnya:
deb http://IPServerRepository/debian jessie main
deb-src http://IPServerRepository/debian jessie main
 Kemudian lakukan Update Cache Repositorinya, dan repositori siap digunakan!


g. Referensi
- AJIBLOG - Membuat Repository Server Debian 8 dari iso DVD (oleh Mas Aji Kamaludin)

h. Kesimpulan
Dengan membuat Repository sendiri kita dapat menentukan hal-hal apa saja yang harus ada di Repository tersebut.

Mungkin cukup sekian yang dapat saya bagikan, semoga bermanfaat bagi teman-teman semua.
Dan seperti biasa, Terima Kasih.
Wassalamu'alaikum Wr. Wb.

Saturday, January 21, 2017

Field Report Evaluasi Minggu ke-2

  No comments
Assalamu'alaikum Wr. Wb.
Halo teman-teman! Ini adalah kali kedua saya mengikuti evaluasi PKL di BLC Telkom Klaten. Pada evaluasi kali ini sangat berbeda dari pertama saya mengikuti evaluasi, karena pada evaluasi kali ini sangat memfokuskan untuk mengevaluasi diri kita tentang masalah yang kita hadapi dalam seminggu atau minggu minggu yang telah lalu. Dan juga hari ini semua kegiatan konfigurasi dihentikan dan fokus untuk melakukan evaluasi. Oleh karena itu evaluasi kali ini benar-benar efektif tidak seperti minggu pertama saya mengikuti evaluasi dimana perwakilan setiap sekolah diminta untuk memaparkan apa-apa saja yang telah dilakukan dalam satu minggu dan memberitahu kendala yang terjadi ketika melakukannya.

Meski dalam dua minggu ini dari kami belum mengalami masalah-masalah yang berarti untuk didiskusikan terbuka seperti saat evaluasi ini, terutama untuk masalah antar pribadi.

Berikut adalah galeri lengkap Evaluasi pada Minggu ke-2 :
Klik saya untuk melihat

Sekian yang dapat saya sampaikan, semoga bermanfaat bagi teman-teman semua :)
Wassalamu'alaikum Wr. Wb.

Friday, January 20, 2017

Field Report Jum'at Bersih Minggu ke-2

  No comments

Assalamu'alaikum Wr. Wb.
Ini adalah minggu kedua kami PKL di BLC Telkom Klaten namun ini kali pertamanya kami mengikuti Jum'at bersih di sini. Kegiatan pada Jum'at hari ini kita awali dengan membersihkan Halaman Depan BLC Telkom yang dibersihkan oleh para putri dan yang putra membersihkan belakang BLC Telkom. Setelah itu beberapa dari putra memperbaiki jalanan di dalam BLC Telkom yang mulai tidak rata.
Semoga di Jum'at bersih kedepannya kami dapat membantu lebih dari Jum'at bersih hari ini :)

Lihat galeri Jum'at Bersih kami yang lebih lengkap di Google Drive Saya

Mungkin cukup sekian yang dapat saya tulis, apabila terdapat kesalahan mohon di maafkan sebesar-besarnya.
Akhir kata Terima Kasih
Wassalamu'alaikum Wr. Wb.

Thursday, January 19, 2017

Memanfaatkan Fitur DNS Static MikroTik untuk Solusi Sementara DNS Server

  1 comment
Assalamu'alaikum Wr. Wb.
Disini kita akan memanfaatkan Fitur Static DNS pada MikroTik yang mana fitur ini jarang banget ada yang menyentuhnya. Bagaimana DNS Static di MikroTik ini bekerja? Hmm, seperti DNS Server pada umumnya sih, bedanya Static DNS MikroTik hanya mendukung A Record. Namun apa yang saya suka dari DNS Servernya MikroTik disini karena juga dapat kita manfaatkan untuk men-spoofing nama domain yang udah ada. Tidak terbatas apakah domain itu sudah ada di Internet atau belum ada. Karena sekali dimasukkan pasti akan di Resolve oleh DNS Server MikroTik.

Misalnya kalian ingin menspoof Nama Domain www.google.com agar mengarah ke Blog kalian, atau menspoof Nama Domain Website BB18+ agar mengarah ke Internet Positif (hahaha). Meski masih jebol kalo si User memakai VPN atau mengganti DNSnya, dan juga tidak se-powerful kalo memakai Proxy tapi ini cukup efektif bagi pengguna awam :)

Dan Ingatkah teman-teman ketika melakukan Setting Hotspot di MikroTik? Ingat ketika kalian memasukkan Nama Domain kalian ketika mensettingnya? Nah disitulah peran Static DNS di MikroTik ini.

a. Pengertian
DNS atau Domain Name System atau Sistem Penamaan Domain, adalah sebuah sistem yang menyimpan, mengontrol dan menerjemahkan sebuah Nama Domain menjadi Internet Protocol Address atau sebaliknya. DNS bekerja pada Protokol UDP Port 53.

Sedangkan BIND (Berkley Internet Name Domain) sendiri adalah salah-satu aplikasi DNS Server Open Source yang pertama kali dibuat pada tahun 1980-an oleh 4 orang siswa dari Universitas California. Dan mulai 2009 BIND dikembangkan oleh Internet Systems Consortium (ISC) dan versi BIND yang paling baru adalah BIND10

b. Latar Belakang
Dengan kemampuan manusia yang sulit untuk mengingat sebuah Internet Protocol Address, terlebih IPv6 yang mempunyai Alamat yang sangat panjang maka dipakailah Sistem Penamaan Domain ini yang dapat menerjemahkan sebuah nama menjadi IP ataupun sebaliknya.

c. Maksud dan Tujuan
Tujuan daripada DNS ini sendiri adalah untuk memudahkan Manusia dalam mengingat suatu alamat Host agar lebih mudah untuk mengaksesnya, yaitu dengan Nama Domain tidak dengan Alamat IP.

d. Jangka Waktu
Perkiraan waktu untuk melakukan konfigurasi ini +- 2 Menit

e. Alat & Bahan
1. Perangkat MikroTik
2. Winbox
3. Emulator Wine (Apabila menggunakan OS selain Windows)

f. Langkah Kerja
1. Login ke Perangkat MikroTik melalui Winbox atau Webfig (Disarankan GUI, Winbox prefered)
2. Klik Menu IP -> DNS


3. Pada bagian kanan window DNS kalian akan menemukan Button bernama Static. Klik pada button tersebut.

4. Apabila kalian telah mensetting Hotspot sebelumnya, kalian akan menemukan nama domain kalian bersarang disana

5. Untuk menambahkan Domain baru kalian dapat mengklik button [+]
6. Disini teman-teman dapat memasukkan Single Domain atau Wildcard Domain menggunakan Regular Expression. Untuk mudahnya kita dapat menggunakan Single Domain

*Single domain, contoh:
- google.com
- www.google.com
Antara doman dengan www.* dan tanpa www.* berlaku single domain



7. Isikan Address agar mengarah ke IP kita, kemudian masukkan Rentang TTL (Time to Live) bagi Domain untuk Aktif. Untuk Hasil instant kita dapat memasukkan 1 Menit (00:01:00)
8. Klik OK. Tunggu beberapa saat dan taraa, dalam sekejap domain teman-teman sudah aktif!


Liek a pro (haha) :)
Oh iya agar DNS Static nya bekerja, Pengaturan DNS di PC teman-teman wajib mengarah ke IP MikroTik

g. Referensi
-

h. Kesimpulan
Dengan diterapkannya Sistem Penamaan Domain ini sudah pasti akan sangat membantu manusia dalam mengingat sebuah Alamat Komputer dengan cara mengingat namanya, bukan mengingat kombinasi dari angka-angka Alamat IP.

Sekian yang dapat saya sampaikan, mudah mudahan dapat bermanfaat bagi teman-teman semua. Saya sangat menerima kritikan dan saran yang membangun karena saya juga belum terlalu megeksplorasi mengenai DNS Server :)
Wassalamu'alaikum Wr. Wb.

Wednesday, January 18, 2017

Mengenal EuP & ErP dan dampaknya pada BIOS

  No comments


Assalamu'alaikum Wr.Wb.
Ini adalah hari ketiga bagi kami untuk mensetting Server kami yang akan ditempatkan di Ruang Server di BLC Telkom Klaten yang selanjutnya akan kita setting melalui metode Remote. Nah disini kita mensimulasikan Ruang Server ini seperti Datacenter sungguhan dimana letak datacenter ini ada di Jauh sana. Pernahkan terbayang bagaimana Seorang admin menghidupkan kembali Puluhan bahkan Ratusan Server dalam satu datacenter ketika tiba-tiba listrik padam total?

Nah disini ada 2 kemungkinan yang akan terjadi. Pertama, si Admin akan menghidupkan kembali Server-server tersebut satu persatu. Atau jika si Admin sudah canggih, maka dia dari awal sudah menghidupkan Opsi AC Power On Failure di BIOS masing-masing Server.

Dari kasus diatas, mungkin tidak akan terjadi masalah apabila menggunakan Motherboard khusus Server. Tapi apabila menggunakan Motherboard untuk PC pada umumnya, akan ada kemungkinan bahwa Fitur AC Power On Failure tersebut tidak akan bekerja.

Pada kasus Server saya yang menggunakan Motherboard ECS H81H3-M4, Server saya tidak mau hidup kembali ketika Power kita matikan secara paksa. Usut punya usut, saya tidak memperhatikan satu konfigurasi pada menu Power Management. Yaitu EuP Function, yap dialah culprit yang membuat Konfigurasi AC Power On Failure saya tidak mau bekerja walau sudah saya Clear CMOS dan Switch Jumper berkali-kali.

Jadi pertanyaannya, Apa sih EuP itu?
EuP atau ErP, singkatnya EuP (Energy-using Products) dan ErP (Energy-related Products) adalah suatu hal yang mengarah ke Efisiensi Pemakaian Energi.

Lengkapnya sendiri saya juga masih belajar, akan saya Perbarui lagi post ini apabila sudah ada gambaran jelas di saya :)

Emergency Link

Tuesday, January 17, 2017

netdata - Ultimate Web-based App untuk Monitoring Server Linux secara Realtime

  No comments
Assalamu'alaikum Wr. Wb.
Kali ini saya ingin menulis tentang Aplikasi Monitoring bernama netdata.

a. Pengertian
netdata merupakan aplikasi yang dapat memonitor banyak hal yang ada pada Server teman. Aplikasi monitoring ini berbasis Web dan mempunyai tampilan yang sangat Clean dan Keren! serta aplikasi ini memonitor secara Realtime. Untuk apa saja yang dapat dimonitor oleh Aplikasi ini teman-teman dapat melihatnya di Repositori Github mereka disini.

b. Latar Belakang
Dengan penggunaan sebuah Komputer atau Server Headless, yang mana tidak menggunakan Monitor, Keyboard, ataupun Mouse dan hanya berbekal akses Remote ke Sistem tersebut kita memerlukan sebuah Tool untuk membantu kita memonitor kesehatan dari Komputer tersebut agar dapat berjalan seperti biasanya dan tidak terjadi error ataupun rusak karena overheat.

c. Maksud dan Tujuan
Dapat memonitor secara Realtime keadaan dan kesehatan Komputer dengan keadaan Headless seperti Server.

d. Jangka Waktu
Waktu yang digunakan untuk melakukan instalasi ini kurang lebih 5-10 Menit.

e. Alat dan Bahan
a. OS GNU/Linux
b Koneksi Internet
c. Akses Level Super User

f. Langkah Kerja
Karena saya memakai Distro Linux Debian saat ini, maka untuk pengguna Distro lain selain turunan Debian saya mohon maaf, silahkan untuk mengikuti tutorial yang ada di Wiki Repositori Mereka disini

Perintah-perintah ini memerlukan Akses Super User. Jadi pastikan teman-teman dapat memiliki akses cukup dengan cara menggunakan sudo atau login ke Super User (root)

1. Instal dependensi yang diperlukan
apt install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl
2. Install fitur-fitur yang dibutuhkan. Disini ada 2 Opsi :
- Paket Biasa yang berisi Aplikasi dan Monitoring lengkap namun tanpa Monitoring dari service mysql / mariadb, postgres, named, Sensor Hardware, dan SNMP
curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata
- Paket Lengkap dengan semua fitur yang ada
curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all
3. Setelah itu lakukan Cloning file Instalasi dari Repo netdata dengan perintah:
git clone https://github.com/firehol/netdata.git --depth=1
4. Arahkan Current Directory kedalam Folder bernama netdata
cd netdata
Kemudian lakukan instalasi dengan perintah:
./netdata-installer.sh
5. Setelah file instalasi berjalan dan selesai, Aplikasi netdata akan otomatis berjalan, dan teman-teman dapat mengakses Monitoringnya melalui Port 19999 :
IPServer:19999
6. Hasil akhir:


g. Referensi
GitHub - netdata Wiki

h. Kesimpulan
Dengan menggunakan Tool System Monitoring, kita tetap dapat mengetahui dan dapat selalui mengecek kondisi kesehatan dari Komputer atau Server kita meski tidak menggunakan Monitor dan hanya berbekal Akses Jaringan ke Komputer atau Server tersebut.

Sekian yang dapat saya tulis, semoga bermanfaat bagi teman-teman semua :)
Wassalamu'alaikum Wr. Wb.

Monday, January 16, 2017

Virtual Lan (VLAN) dan Implementasinya di MikroTik

  No comments
Ilustrasi VLAN (Source Image)
Assalamu'alaikum Wr. Wb.
Halo teman-teman! pada kali ini saya akan membagikan tulisan mengenai Apa itu Virtual LAN atau yang biasa kita sebut VLAN dan Bagaimana Implementasinya di Router MikroTik.

Pertama kita bahas, apa itu Virtual LAN (VLAN) ?
Singkatnya, secara fungsionalitas, dengan mengimplementasikan VLAN kita dapat menggunakan lebih dari Satu IP didalam Satu Interface. Dan IP tersebut dapat diisolasi antar satu IP dengan IP yang lainnya agar tidak dapat saling berkomunikasi, meskipun sebenarnya bisa dibuat dapat berkomunikasi. Sehingga meski berada dalam Satu Interface yang sama, antar VLAN memiliki aktivitas yang berbeda-beda seperti VLAN tersebut memiliki Interface yang berbeda. Oleh karena itu, VLAN biasa diasosiasikan sebagai teknik untuk mengelompokan host-host.
VLAN sangat berguna apabila kita mempunyai Jaringan yang Besar, karena jika kita mengimplementasikan VLAN didalamnya kita dapat mengurangi Broadcast yang terjadi dan meminimalisir terjadinya masalah didalam jaringan tersebut.

Ilustrasi VLAN (Source Image)
Contoh Kasus Penggunaan Jaringan VLAN:
Seorang Admin IT ingin menerapkan Dua DHCP Server pada Sebuah Interface. DHCP Server tersebut antara lain Satu DHCP untuk Kelompok Client Guru dan Satu DHCP untuk Kelompok Client Siswa. IP untuk Guru sudah di set agar dapat membuka Sosial Media dan Youtube sedangkan IP untuk Siswa tidak diperbolehkan.

Tanpa VLAN:
DHCP Server Guru dan DHCP Server Siswa akan berlomba-lomba mana yang paling cepat Merespon Client mereka, apakah DHCP Guru ataukah Siswa? Tidak masalah apabila Dua DHCP Server tersebut memberikan IP yang benar kepada Client yang benar, namun apabila sebaliknya itulah masalahnya. Bisa saja Client Siswa mendapatkan DHCP Guru dan Vice Versa (Kebalikannya).

Dengan VLAN:
Mengetahui masalah tersebut Admin IT Sekolah mengimplementasikan 2 VLAN pada sebuah Interface yang mana 1 VLAN untuk Siswa dengan ID 101 dan 1 VLAN untuk Guru dengan ID 102 didalam Router MikroTik, tidak lupa Admin IT mengaktifkan DHCP Server pada masing-masing VLAN. Untuk menyebarkan koneksi tersebut Admin IT menggunakan sebuah Switch Managed dengan alokasi
1. Ether 1 Sebagai Trunk Port ke Router
2. Ether 2-4 Sebagai Switch Port untuk VLAN Siswa (ID VLAN 101), dan
3. Ether 5-8 Sebagai Switch Port untuk VLAN Guru (ID VLAN 102)
Setelah menerapkan VLAN ternyata Admin IT tidak menemukan masalah lagi pada Jaringannya.

Bagaimana penjelasan dari saya? Apakah membingungkan? hehe
Setelah teman-teman mengetahui gambaran mengenai Virtual Lan, sekarang adalah bagaimana Implementasinya di MikroTik.

1. Buka Konfigurasi MikroTik teman-teman menggunakan Winbox
2. Buka Menu Interface lalu Klik [+] kemudian pilih VLAN
3. Setelah terbuka, disini ada beberapa Poin Utama yang akan kita ubah. Yaitu : Name, VLAN ID, dan Interface.
4. Berikan Nama VLAN pada Field Name, Tentukan Nomor Unik (ID) untuk VLAN tersebut serta Pilih Interface bagi VLAN dimana VLAN tersebut akan aktif.
5. Setelah Interface Virtual LAN (VLAN) sudah dibuat, selanjutnya adalah menambahkan IP untuk VLAN yang sudah teman-teman buat sebelumnya di IP -> Address. Klik [+], pada Dropdown Interface lalu pilih Nama VLAN yang akan menggunakan IP tersebut
6. Sampai disini VLAN teman-teman sudah aktif dan dapat digunakan. Baik sebagai Trunk Port ataupun Switch Port. Apabila teman-teman ingin mengaktifkan DHCP Server pada VLAN-VLAN tadi, teman-teman dapat menambahkannya di IP -> DHCP Server dan dapat disetting seperti biasanya.

*Untuk tambahan. Jika teman-teman tahu atau biasa mengkoneksikan salah-satu port pada Switch ke Sumber Internet (contohnya Router), maka di Managed Switch dengan VLAN salah satu Port tersebut dinamakan Trunk Port, dimana Trunk Port berfungsi sebagai Jalur data Utama bagi VLAN-VLAN yang ada pada Switch Tersebut. Sedangkan port-port lain yang digunakan untuk Client dinamakan Switch Port.

Sepertinya cukup sekian yang dapat saya sampaikan, apabila teman-teman menemukan artikel diatas ada kesalahan mohon untuk dikoreksi dan dimaafkan sebesar-besarnya.
Wassalamu'alaikum Wr. Wb.

Saturday, January 14, 2017

[Solved] Fix Winbox Stuck Connecting ketika Initial MAC Connect

  1 comment


Issue : Winbox tidak dapat melakukan koneksi ke perangkat Routerboard saat melakukan Initial Setting melalui MAC setelah Reset Configuration dengan No Default Configuration.

Fix : 
Sesuai dengan Link Referensi diatas yang merujuk ke Wiki MikroTik. Koneksi via MACAddress baru akan bekerja setelah kita mendapatkan IP, entah itu Link-local IP atau Static IP Bebas.
Nah ketika kita menggunakan GNU/Linux, kita tidak akan mendapatkan IP apabila kita terkoneksi ke sebuah jaringan tanpa ada DHCP Server. Akibatnya, PC kita yang berstatus sebagai DHCP Client akan terus menerus melakukan Broadcast untuk meminta Jawaban dari DHCP Server tanpa henti. Berbeda dengan Sistem Operasi Windows yang akan secara otomatis memberikan IP Link-local apabila setelah beberapa Broadcast tidak mendapatkan Jawaban dari DHCP Server.


Solusinya ketika kita menggunakan OS GNU/Linux adalah, kita harus melakukan setting Network Interface kita menjadi Konfigurasi Manual/Static tidak Automatic (DHCP). Dengan mengisi IP Bebas yang terpenting adalah seolah-olah PC kita memiliki IP yang Valid. Setelah kita melakukan setting IP menjadi Static/Manual selanjutnya kita sudah dapat melakukan Koneksi ke perangkat Routerboard melalui MAC Address.

Friday, January 13, 2017

Mari Mengenal MikroTik, Apa itu MikroTik?

  No comments
Assalamu'alaikum Wr. Wb.
Halo teman-teman! Pada hari keempat ini kita akan mempelajari MikroTik dari awal. Dengan mempelajari MikroTik dari awal, diharapkan kita dapat mengetahui MikroTik, mengenal MikroTik dan sejarahnya, serta dapat memaksimalkan fitur-fitur dari MikroTik itu sendiri.

SEJARAH MIKROTIK

MikroTik adalah sebuah perusahaan kecil berkantor pusat di Latvia, bersebelahan dengan Rusia. Pembentukannya diprakarsai oleh John Trully dan Arnis Riekstins. John Trully adalah seorang  berkewarganegaraan  Amerika yang berimigrasi  ke Latvia.  Di Latvia  ia bejumpa dengan Arnis, Seorang sarjana Fisika dan Mekanik sekitar tahun 1995.

John dan Arnis mulai me-routing dunia pada tahun 1996 (misi MikroTik adalah me- routing seluruh dunia). Mulai dengan sistem Linux dan MS-DOS yang dikombinasikan dengan teknologi Wireless-LAN (WLAN) Aeronet berkecepatan 2 Mbps di Moldova, negara tetangga Latvia, baru kemudian melayani lima pelanggannya di Latvia.

Prinsip dasar mereka bukan membuat Wireless ISP (W-ISP), tetapi membuat program router yang handal dan dapat dijalankan diseluruh dunia. Latvia hanya merupakan tempat eksperimen John dan Arnis, karena saat  ini mereka sudah membantu negara-negara lain termasuk Srilanka yang melayani sekitar 400 pengguna.

Linux yang pertama kali digunakan adalah Kernel 2.2 yang dikembangkan secara bersama-sama dengan bantuan 5-15 orang staff Research and Development (R&D) MikroTik yang sekarang menguasai dunia routing di negara-negara berkembang. Menurut Arnis, selain staf di lingkungan MikroTik, mereka juga merekrut tenaga-tenaga lepas dan pihak ketiga yang dengan intensif mengembangkan MikroTik secara marathon.

MikroTik pada dasarnya adalah perusahaan Software Router, yaitu RouterOS namun MikroTik juga mempunyai Device Router yang sudah memiliki RouterOS didalamnya yaitu RouterBOARD

FITUR-FITUR MIKROTIK ROUTEROS
Untuk melihat apa-apa saja Fitur MikroTik, teman-teman dapat melihatnya di Wiki MikroTik

CARA MENGAKSES PERANGKAT MIKROTIK
1. Menggunakan SSH
Secara default, MikroTik mengijinkan untuk mengakses MikroTik menggunakan SSH dengan port default SSH yaitu 22. Teman-teman dapat mengaksesnya langsung dengan Terminal di Linux atau menggunakan Aplikasi Third-party seperti PuTTY, Bitvise SSH Client, Xshell, dan sebagainya. Dengan syarat, MikroTik sudah dalam keadaan memiliki IP dan dapat di ping

2. Menggunakan Web Browser
Cara setting Perangkat sejuta umat, MikroTik juga memberikan pilihan untuk mensetting perangkat melalui Web Browser yang dapat diakses dengan memasukkan IP Perangkat kedalam Address Bar Web Browser. Untuk memaksimalkan Pengaturan melalui Web Browser, pastikan menggunakan Web Browser yang sudah mendukung JavaScript.

3. Menggunakan WinBox
Salah satu hal yang membuat MikroTik begitu populer adalah karena aplikasi Utility milik mereka bernama WinBox. WinBox adalah aplikasi 32-bit Windows yang berfungsi untuk mengkonfigurasi Perangkat MikroTik dengan tampilan GUI. WinBox pada dasarnya adalah versi GUI-nya dari cara mensetting MikroTik menggunakan CLI. Maka dari itu susunan menu di WinBox sama persis dengan susunan menu di versi CLI. Meski aplikasi WinBox hanya tersedia dalam Sistem Operasi Windows, namun teman-teman dapat menjalankan WinBox pada Sistem Operasi Linux/Mac OS dengan bantuan Emulator seperti Wine.

4. Menggunakan Serial
Beberapa Perangkat RouterBOARD memiliki Port Serial yang dapat digunakan untuk mengakses dan mengkonfigurasi Perangkat RouterBOARD secara keseluruhan, termasuk mengakses BIOS dari Perangkat itu sendiri. Aplikasi yang dapat digunakan untuk mengakses contohnya adalah PuTTY.

Mungkin itu saja pengenalannya, semoga bermanfaat bagi teman-teman.
Wassalamu'alaikum Wr. Wb.

------------------------------------------