Sunday, March 28, 2010

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
Read more »

Thursday, March 04, 2010

Membuat server PXE network booting dengan Debian Lenny



(server HP Proliant yang akan diinstall melalui PXE Boot)

Salah satu server HP Proliant di kantor mengalami kerusakan CDROM, sehingga tidak bisa booting melalui CD yang memuat sistem operasi linux. Untuk ini saya memfungsikan server IBM lain untuk dijadikan server PXE network booting.



(server PXE menggunakan IBM)

PXE atau "Pre-boot eXecution Environment" bermanfaat untuk recovery sistem dan instalasi system, menggunakan network booting. Dengan PXE kita dapat booting sistem dan mendapatkan IP address dari DHCP dan menjalankan kernel melalui network.

Berikut Instalasi PXE network booting pada salah satu server yang dapat berfungsi untuk instalasi sistem operasi server lain yang jika tidak memiliki cdrom.

Server PXE : Sudah terinstall Debian Lenny5.0 dengan IP address 10.190.159.263

Server client : Akan diinstall Debian Lenny 5.0 melalui network boot PXE dengan IP Address didapat dari DHCP server PXE

=======================================

Instalasi

pxe-boot:/home/gtoms# apt-get install tftpd-hpa
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
inetutils-inetd
Recommended packages:
inet-superserver
The following NEW packages will be installed:
inetutils-inetd tftpd-hpa
0 upgraded, 2 newly installed, 0 to remove and 8 not upgraded.
Need to get 117kB of archives.
After this operation, 287kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://kambing.ui.ac.id lenny/main inetutils-inetd 2:1.5.dfsg.1-9 [82.2kB]
Get:2 http://kambing.ui.ac.id lenny/main tftpd-hpa 0.48-2.3 [34.6kB]
Fetched 117kB in 1s (99.0kB/s)
Preconfiguring packages ...
Selecting previously deselected package inetutils-inetd.
(Reading database ... 13312 files and directories currently installed.)
Unpacking inetutils-inetd (from .../inetutils-inetd_2%3a1.5.dfsg.1-9_i386.deb) ...
Selecting previously deselected package tftpd-hpa.
Unpacking tftpd-hpa (from .../tftpd-hpa_0.48-2.3_i386.deb) ...
Processing triggers for man-db ...
Setting up inetutils-inetd (2:1.5.dfsg.1-9) ...
Not starting internet superserver: no services enabled. (warning).
Setting up tftpd-hpa (0.48-2.3) ...
invoke-rc.d: initscript inetutils-inetd, action "force-reload" failed.
tftpd-hpa disabled in /etc/default/tftpd-hpa
pxe-boot:/home/gtoms#

pxe-boot:/home/gtoms# nano /etc/default/tftpd-hpa

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Read more »