Category Archives: Security

Setup Certification Authority dengan EJBCA,OCSP,JBOSS,Java,OpenLDAP

Jika diminta membuat Public Key Infrastruktur(PKI) maka saya akan pakai EJBCA(Enterprise Java Bean Certificate Authority) sebagai alternatif pertama dan Dog Tag sebagai alternatif kedua, karena berbasis open sources dapat digunakan pada sistem operasi Linux.  PKI yang berbasis Windows seperti PKI Windows 2003 Server, juga memiliki kelebihan, tapi masih lebih unggul EJBCA karena EJBCA memiliki kelebihan di sisi multiplatform operating system, aspek kriptografis maupun administrasi.

Kali ini tutorial pada salah satu mesin produksi menggunakan EJBCA pada Linux Debian. Adapun requirement yang dibutuhkan dalam instalasi ini adalah :

-Linux Debian 5.0.4
EJBCA 3.9.6, CA dan OCSP deploy.
JBOSS 5.1.0
Java jdk 6 update 19
JCE Unlimited Strength Jurisdiction Policy Files 6
-Apache Ant 1.7.0
-OpenLDAP: slapd 2.4.11

Instalasi dan Konfigurasi :

Linux Debian 5.0.4 dengan kode Lenny sudah terinstall dengan standart system. EJBCA,JBOSS,JAVA JDK,JCE harus didownload dari situs nya dan diinstall manual di Debian, Untuk Ant,OpenLDAP menggunakan apt-get.

svr:/home/gtoms# wget  http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u19-linux-i586.bin?BundledLineItemUUID=0AdIBe.liu0AAAEnpPtoLfW6&OrderID=kExIBe.lavIAAAEnmftoLfW6&ProductID=8ihIBe.nLjEAAAEnh3cZVnKo&FileName=/jdk-6u19-linux-i586.bin

Continue reading

Membuat PKI Certificate Authority(CA)

Setelah cukup lama mengolah server-server linux utuk segmentasi Internet Service Provider/IT seperti DNS,SMTP,Webserver,Radius,Proxy,Mysql,Routing,Bandwidth Management,dsb rasanya perlu dikembangkan ke hal lain yang masih seputar open sources dan bersifat enterprise.

Di Indonesia sedikit rasanya yang bermain dengan Public Key Infrastuktur yang dapat menghasilkan Certificate Authority(CA).  Untuk itu saya kembali berkutat tentang konsep dan teknik kriptografi kunci publik. Tentu hal ini ada motivasinya, kalau tidak dan hanya sebatas riset saja pastilah lupa lagi. Kalau kuliah di Departemen Teknik Informatika ITB materi ini ada pada bahan kuliah Kriptografi. Tapi hanya membahas secara umum definisi dan konsep-konsep saja. Implementasi/instalasinya sangat sedikit di internet, mungkin karena tidak tau manfaatnya atau mahal ilmunya pada sungkan nulis di internet. Untuk itulah saya mencoba berbagi melalui blog ini, apalagi masih berbau linux sangat sedap untuk di deploy pada server testing dan kemudian ke server produksi.

PKI adalah Public Key Infrastructure sebuah infrastruktur sekuriti yang diimplementasikan menggunakan konsep dan teknik kriptografi kunci publik.  Public Key tersebut akan diberikan sertifikat digital  oleh sebuah sistem/perusahaan CA (Certificate Authority) dan merupakan institusi terpecaya. Biasanya situs-situs perbankan seperti klikbca.com ib.bankmandiri.co.id dan lainnya memiliki sistem tersebut. Untuk perusahaan CA yang cukup terkenal seperti verisign.com thawte.com

Nah dalam tuorial ini saya membangun sistem Certificate Authority seperti yang dimiliki verisign.com thawte.com atau lainnnya yang dapat digunakan untuk sebuah perusahaan yang ingin memiliki sistem CA sendiri. Pengembangannya sampai implementasi Online Certificate Status Protocol(OCSP).

Software enterprise untuk PKI Certificate Authority adalah EJBCA (Enterprise Java Bean Certificate Authority) dibangun menggunakan J2EE technology. EJBCA dapat berfungsi sebagai unruk mengauthentikasi user dalam mengakses  intranet/extranet/internet resources, Secure communication with SSL servers and SSL clients, Smart card logon to Windows and/or Linux, Signing and encrypting email,VPN connections by issuing certificates to your VPN routers such as OpenVPN, Cisco, Juniper etc, Client VPN access with certificates in users VPN clients, Single sign-on by using a single certificate to secure logon to web applications, Creating signed documents, Issue citizen certificates for access to government resources, used in passports etc, Create CVCAs and DVs and issue CV certificates (CVC) to Document Verifiers and Inspection Systems for EU EAC ePassports. Konesp jaringannya bisa dilihat di images diatas. Nilai plusnya kita bisa menggunakan smart card pada PKI ini.

Kita mulai instalasi dan konfigurasi, software yang dibutuhkan :
-Sistem operasi Linux GNU Debian
-Java JDK 1.5 – Java 2 Platform Standard Development Kit.
-Apache Ant – Java Build Utility, used to compile and build Java programs.
-JBoss 4.0.5 – J2EE Application Server EJBCA download
-Mysql
-EJBCA dan OCSP external.
-OpenLDAP.
-OpenSSL.
-Apache Project.
-Apache mod_ssl.

Kondisi sistem operasi Linux Debian 5 sudah terinstall dengan update terakhir.

Install JAVA JDK ,Ant

ejbca:/home/gtoms# apt-get install openjdk-6-jdk ant ant-optional
Continue reading

Security Support for Debian GNU/Linux 4.0 to be discontinued

Per tanggal 15 februari 2010 pengembang/developer Debian GNU/Linux 4 alias Etch akan menghentikan bantuan security update. Maksudnya adalah Debian GNU/Linux 4 yang sampai sekarang telah berumur 3 tahun akan dihentikan pengembangannya dan update-update terhadap software bug yang ada didalamnya. Hal ini dilakukan karena pengembang sistem operasi Debian GNU/Linux akan fokus pada Debian GNU/Linux 5.0 alias Lenny yang sudah release 14 Februari 2009.  Selanjutnya Debian GNU/Linux Etch akan masuk dalam kategori old distribution.

Jika ada pemakai yang masih menggunakan Debian GNU/Linux 4 segera upgrade menjadi Debian GNU/Linux 5.

Untuk proses upgrade dari Etch ke Lenny bisa dilakukan dengan cara :

Merubah mirror Etch ke Lenny, kalau di Indonesia ambil mirror  yang terdekat saja, edit file /etc/apt/sources.list :

deb http://kambing.ui.ac.id/debian/ lenny main contrib non-free
deb http://kambing.ui.ac.id/debian-security/ lenny/updates main contrib non-free

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

Lalu jalankan perintah berikut:

apt-get update
apt-get dist-upgrade

jika ada kegagalan saat menjalankan apt-get dist-upgrade, bisa dicoba dengan apt-get update –fix-missing lalu dilanjutkan kembali dengan apt-get dist-upgrade.

Selesai.

http://security.debian.org/

ganti key bca (token)

KeyBCA adalah alat pengaman tambahan untuk lebih mengamankan transaksi finansial Anda di KlikBCA. KeyBCA berfungsi untuk menciptakan password yang selalu berganti setiap kali Anda melakukan transaksi finansial sehingga transaksi financial Anda akan menjadi jauh lebih aman.

KeyBCA serta fasilitasnya bisa didapat dan dinikmati oleh seluruh nasabah BCA yang sudah melakukan registrasi KlikBCA.

KeyBCA hanya dapat digunakan oleh User ID yang terhubung dengan KeyBCA tersebut. KeyBCA dipergunakan untuk transaksi finansial seperti: Transfer Dana, Pembayaran dan Pembelian.

Nasabah yang tidak memiliki KeyBCA hanya dapat melakukan transaksi non finansial di KlikBCA.

Key BCA ku yang lama rusak, hal tersebut kuketahui saat mau menggunakan token tersebut setelah dihidupkan dengan menekan tombol merah eh keluar 8 digit huruf “F” dan diatas nya tertulis “LOCK NEW PIN CONF” seperti pada gambar diatas. Biasanya PIN terdiri dari 6 digit saja tapi ini lain. Setelah tidak bisa kugunakan aku tilpun Halo BCA (021) 52-999-888. Setelah memberitahukan masalah pada token key bca ini, diberitahukan bahwa keybca saya tidak sinkron dan sudah rusak. Jadi harus diganti dengan baru, kemudian status key bca saya di catat tidak aktif oleh pihak BCA.

Syarat-syarat yang harus dibawa untuk mengganti keybca sebagai berikut :

– Datang langsung ke BCA Kantor Cabang Utama(KCU) bukan ke Kantor Cabang Pembantu(KCP) membawa,
– KTP Asli,
– Buku Tabungan,
– ATM BCA,
– Key Bca yang lama,

Setelah semua data diatas kutunjukkan akhirnya aku isi satu form dan kemudian aku diberikan Key BCA baru dan Surat isi PIN baru(ngantri lagi di loket Informasi). Dan yang bikin jengkel sedikit harus menunggu 4 hari baru bisa aktif.

Setelah 4 hari aku coba dengan meregistrasi kembali key bca di https://ibank.klikbca.com setelah terhubung baru bisa bertransaksi. Jangan lupa mengganti terlebih dahulu PIN key bca nya.

upgrade : bind9 packages fix cryptographic weakness

Florian Weimer dari debian-security@lists.debian.org memberitahukan ada update terbaru dari paket bind9, update paket bind9 bersamaan dengan keluarnya update ntp dan OpenSSL. Proses upgrade bind9 yang berfungsi sebagai domain name server saya upgrade untuk mesin Primary dan Secondary DNS. Berikut proses upgradenya :

Continue reading

upgrade dns server

Boss besar urusan ISP kantorku suruh aku cek DNS kantor apakah terkena dampak Dan Kaminsky DNS cache poisoning.  Kemudian kulanjutkan dengan pengecekan melalui situs :

http://www.doxpara.com/
https://www.dns-oarc.net/oarc/services/dnsentropy
https://www.dns-oarc.net/oarc/services/porttest
#dig +short porttest.dns-oarc.net TXT
#dig @4.2.2.3 +short porttest.dns-oarc.net TXT

pingin juga pakai metasploit dan exploit bailiwicked :D

Dari pengujian diatas diketahui versi Bind (the Berkeley Internet Name Domain) yang terinstall sebagai DNS Server terdapat DNS cache poisoning. Dan sudah seharusnya di patch. Akhirnya aku dijinkan eksekusi server dengan hard upgrade, bukan soft upgrade.  Kalau soft upgarde hanya mem-patch dns servernya ke versi yang sudah bebas vulnerable. Tapi aku usulkan untuk hard upgrade dalam arti sekalian sistem operasi nya dan bind nya di upgrade.  Installasi fresh dari awal. Pekerjaan ini dilakukan pada mesin Primary DNS, dan mesin Secondary DNS. Semua client kantor di Jakarta dan luar Jakarta memakai kedua DNS ini sebagai koneksi ke internet. Sehingga harus dilakukan upgrade ini untuk menghindari hal-hal yang tidak diinginkan. Sistem operasi DNS memakai Debian, dan melalui mailing list Debian Security aku juga menerima pemberiahuan akan dns cache poisoning ini :

http://lists.debian.org/debian-security-announce/2008/msg00184.html

Installasi ini dilakukan pada mesin Secondary DNS dulu dan kemudian dilanjutkan ke Primary DNS, sehingga tidak ada down time untuk DNS ke seluruh client. Aku pinginnya Secondary DNS turun mesin diganti yang baru, tapi karena semua serba mendadak jadinya pergantian mesin Secondary DNS menyusul setelah bagian gudang mengirimkan mesin baru ke NOC.  Eksekusinya malam menjelang dini hari.  Menurut pengelola ISC Bind, dalam waktu dekat mereka juga akan mengeluarkan patch kembali pada versi Bind  9.3.4-P1.1 dengan versi P2. Nampaknya harus terus memantau aktifitas di ISC Bind untuk mengetahui release-release terbaru mereka untuk DNS Server versi Bind.

Berikut proses instalasi yang sempat di dokumentasikan.

Instalasi dan Konfigurasi Hard Upgrade Primary DNS(Bind-Chroot)

Instalasi dan Konfigurasi Hard Upgrade Secondary DNS(Bind-Chroot)

Multiple DNS implementations vulnerable to cache poisoning

DNS(Domain Name System), berfungsi untuk mengatur proses penterjemahan nama domain ke nomor IP atau sebaliknya. DNS merupakan sistem yang menyimpan informasi tentang nama host dan nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan Internet.

DNS diimplementasikan dalam sebuah system melalui software BIND (Berkeley Internet Name Domain), djbdns , Daniel J. Bernstein‘s DNS), MaraDNS, QIP (Lucent Technologies), NSD (Name Server Daemon), PowerDNS, Microsoft DNS. Perangkat lunak tersebut memakai metode DNS.

Bulan Juli 2008 dunia IT digemparkan dengan penemuan Dan Kaminsky, Director of Penetration Testing, IOactive yang mengangkat kembali kelemahan pada DNS Cache Poisoning. 3 tahun lalu kasus ini pernah diungkap oleh Ian Green dengan topik DNS Spoofing.  Cuman kali ini Dan Kaminsky sangat serius mengungkap kelemahan ini, kemudian beredar di internet exploit bailiwicked yang dapat digunakan untuk dapat meracuni nameserver cache dalam waktu 5-10 detik.  Dari rilis pemberitahuan US-CERT diberitahukan beberapa perangkat lunak DNS yang terkena dampak Racun Dan Kaminsky ini. Salah satunya ISC BIND. Dan ISC juga merilis patch softwarenya yang vulnerable melalui pemberitahun di situsnya.

Menurut Jaikumar Vijayan, Computerworld :

DNS servers are responsible for routing all Internet traffic to their correct destinations. The so-called cache-poisoning vulnerability that Kaminsky discovered could allow attackers to redirect Web traffic and e-mails to systems under their control, according security researchers. The flaw exists at the DNS protocol level and affects numerous products from multiple vendors.

Untuk memastikan ini, aku coba install Bind yang belum dipatch, pada salah satu server untuk menjadi sasaran. Lalu melalui laptop aku install Metasploit dan menjalankan expolit bailiwicked AU-EX-2008-0002.txt & CAU-EX-2008-0003.txt, untuk meracuni server Bind yang sudah kuinstall.

hasilnya :

client 202.51.212.xx query (cache) ‘com/ANY/IN’ denied: 30 Time(s)
client 202.51.212.xx query (cache) ‘gmail.com/ANY/IN’ denied: 32
Time(s)
client 202.51.212.xx query (cache) ‘hotmail.com/ANY/IN’ denied: 31
Time(s)
client 202.51.212.xx query (cache) ‘net/ANY/IN’ denied: 30 Time(s)
client 202.51.212.xx query (cache) ‘nosuch.domain/ANY/IN’ denied:
30 Time(s)
client 202.51.212.xx query (cache) ‘www.yahoo.com/ANY/IN’ denied: 31
Time(s)

ho..ho…gawat nih, ayo patch dns server anda segera, khususnya ISP(internet services provider).

bermain dengan tcpdump dan ethereal

Ada dua tools yang sering kupakai untuk menganalisa paket yang lalul lalang di network jaringan dari server. Pertama memakai tcpdump, jika tcpdump sudah diinstall di server anda bisa digunakan untuk memonitoring paket-paket network tersebut dan menyimpannya ke dalam file. tcpdump yang saya pakai dan salah satu contoh pemakaiannya :

johncalvin:/home/gtoms# /usr/sbin/tcpdump –help
tcpdump version 3.8.3
libpcap version 0.8.3
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ] [ -y datalinktype ]
[ expression ]
johncalvin:/home/gtoms# /usr/sbin/tcpdump -w capture1feb2007.cap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
2657 packets captured
2657 packets received by filter
0 packets dropped by kernel

Continue reading