22 April 2014

Self Signing SSL Certificate

Banyak bertebaran tentang tutorial ini di Google, Inc tapi saya ingin merangkumnya agak lebih efesien dan efektif. Awalnya saya menggunakan protocol HTTP untuk link download karena banyaknya app yg beredar bisa nge-sniff `clear URL
', maka saya harus bermigrasi ke protocol HTTPS yg pastinya di-encrypt, tapi untuk menggunakan protocol HTTPS ini sudah dipastikan harus ada verifikasi dari public SSL provider spt DigiCert, Verisign dsb, berupa sertifikat yg valid. Tapi berhubung saya cuma UKM so pasti keberatan kalo beli hehe...
Maka saya coba dengan metode Self-Sign Certificate meski tidak sesempurna sertifikat beli ya lumayan lah... OK, langkah awal pastikan webserver support dgn SSL, saya menggunakan Lighttpd + OpenSSL, saya tidak menjelaskan instalasinya yah...
root:~# lighttpd -v
lighttpd/1.4.35 (ssl) - a light and fast webserver
Build-Date: Apr 22 2014 13:54:26
root:~# cat /usr/local/etc/lighttpd/lighttpd.conf
1. Konfigurasi webserver agar support HTTPS.
$SERVER["socket"] == "xxx.xxx.xxx.xxx:443" {
        ssl.engine  = "enable"
        ssl.pemfile = "/etc/ssl/certs/server.pem"
        ssl.ca-file = "/etc/ssl/certs/server.crt"
        ssl.honor-cipher-order = "enable"
        ssl.use-sslv2 = "disable"
        ssl.use-sslv3 = "disable"
}
Redirect semua HTTP ke HTTPS
$HTTP["scheme"] == "http" {
        $HTTP["host"] =~ "domain.tld" {
            url.redirect = ( "/.*" => "https://%0$0" )
        }
}
2. Pembikinan sertifikat.
2.1 Pembikin sertifikat CA (Certificate Authority)
root:~# cd /etc/ssl
root:/etc/ssl# mkdir certs
root:/etc/ssl/certs# openssl genrsa -out ca.key 4096
root:/etc/ssl/certs# openssl req -x509 -new -sha256 -nodes -key ca.key -days 2555 -out ca.pem
root:/etc/ssl/certs# openssl x509 -outform der -in ca.pem -out ca.crt
2.2 Pembikinan sertifikat untuk server/site
root:/etc/ssl/certs# openssl genrsa -out server.key 4096
root:/etc/ssl/certs# openssl req -new -sha256 -key server.key -out server.csr
2.3 Pembikinan CRT dan PEM sertifikat
root:/etc/ssl/certs# cat v3.ext
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
root:/etc/ssl/certs# openssl x509 -req -sha256 -days 730 -extfile v3.ext -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.crt
root:/etc/ssl/certs# cat server.key server.crt > server.pem
root:/etc/ssl/certs# chmod 600 *
root:/etc/ssl/certs# /usr/local/etc/rc.d/lighttpd restart
Agar ter-verify silahkan dishare *.crt filenya, kalo client/browser kita sudah install *.crt pasti status Verified.

23 Maret 2014

Jengkol...oh...jengkol

Gak tau kenapa akhir-akhir ini kalo makan makanan yang berbahan dasar "Jengkol", kepala jadi pusing seperti masuk angin kira-kira. Padahal ini salah satu makanan favorit saya sejak kecil. Saya kepikiran apa gara-gara udah bertambah umur gitu[?]. Sewaktu kecil saya pernah makan sampe 10x dalam sehari kalo nemu jengkol ini, apapun cara masaknya. Biasanya disemur, dikecap atau di goreng plus pake sambal terasi mentah, lalab, asin, kerupuk dan kawan-kawan. Sampe-sampe keram perut dan dibawa kedokter (Over Dosis.red). Jujur saja sampe saat ini belom ada makanan yang ngalahin "candu" jengkol ini. Orang sunda bilang kalo makan ama jengkol "Olok Sangu! (Boros nasi)". 

13 Maret 2014

Setup DNSSEC-BIND di FreeBSD

Untuk menambah keamanan Bind sebagai resolver saya coba implementasikan DNSSEC di FreeBSD
1. Buat direktori untuk key & private file:
# mkdir /etc/namedb/key
# cd /etc/namedb/key
# dnssec-keygen -f KSK -a RSASHA1 -b2048 -n ZONE example.com
# dnssec-keygen -a RSASHA1 -b 768 -n ZONE example.com
2. Append isi dari kedua file *.key ke file db domain zone:
# cd /etc/namedb/
# cat key/Kexample.com.+005+*.key >> master/example.com.db 
3. Sign untuk db domain zone, sehingga terbetuk file example.com.db.signed di direktori master
# dnssec-signzone -o example.com -k Kexample.com.+005+15439.key ../master/example.com.db Kexample.com.+005+26382.key
4. Edit named.conf untuk menggunakan db domain yang telah di signed
zone "example.com" {
     type master;
     file "master/example.com.db.signed"
}
5. Untuk fingerprint bisa dicoba dengan command
# cd /etc/namedb/master/
# dnssec-dsfromkey -1 -f example.com.db.signed example.com example.com. IN DS 51367 5 1 527EE9DED3B1DC3F7FE9C7F3CE08E8E56674D6A8
6. Silahkan ditest outputnya kurang lebih seperti ini
# dig +dnssec +short example.com
A 5 2 3600 20140411175317 20140312175317 26382 example.com. hmBbAz1245O6tVLuXjnlKLqCH0JKguISPn3vTPI+ju8Kp8aBcgTI10tTQ7gtm5Xe7KJn60ggLnPIpnQN0GpVD5APbnOnsXi4QL0YKxJDp+yVcXbryG0svDaYaGtixhEp

26 Februari 2014

Menanti Kelahiran Dede "kecil"

Puji Tuhan, Diah Estiani istri saya telah hamil. Tuhan memang baik dan masih percaya untuk membesarkan titipanNya. Kalo istri hamil itu koq makin gede perutnya malah makin sexy yah... terlebih makin sayang banget... kadang juga saya suka kasian kl udah sakit pinggang, susah bergerak yah gimana lagi namanya juga lagi hamil (sabar yah sayang :-*). Yang penting suami harus siap jadi "suami siaga"....

Usia kandungan sekarang ampir 5 bulan dan kalo ngidam nih biasanya yang asem-asem dan pedes-pedes, tapi sayangnya istri saya punya maag, jd sering kambuh deh... ujungnya sering muntah-muntah. Susah emang salah satu sisi emang lagi ngidam tp sisi lain malah badannya gak kuat jenis makanan seperti itu.

Saya percaya semuanya pasti lancar selama kita berusaha dan tetep deket ama Tuhan, selalu doa untuk meminta apapun juga. Tuhan pasti sediakan semuanya kebutuhan kita, Amien