Kominfo Akan Bentuk Tim Penanganan Insiden Keamanan Informasi


Kementerian Komunikasi dan Informatika (Kominfo) melontarkan wacana pembentukan tim penanganan insiden keamanan informasi. Proses penggodokan tim ini sendiri melibatkan Academic CSIRT, Id-CERT, Id-SIRTII, Banking CERT, Telko-CERT serta Direktorat Keamanan Informasi sebagai penyelenggara.

Beberapa isu terkait keamanan informasi dilontarkan dalam pertemuan tersebut. Seperti terkait defacement, DDOS, theft, malware dan segudang istilah penyerangan keamanan informasi.
Acara dibuka oleh Aswin Sasongko, Dirjen Aplikasi dan Telematika yang melontarkan beberapa kejadian insiden keamanan informasi di dunia penerbangan, serangan ke web pemerintahan, serta bagaimana pemerintah mengatasi berbagai serangan tersebut.

Para panelis mengemukakan berbagai pengalamannya di dalam mengelola CSIRT. Seperti Id-SIRTII disampaikan oleh ketua barunya Rudy Lumanto yang memberikan ilustrasi melindungi informasi layaknya melindungi sebuah benteng dan aset yang ada di dalamnya.

Panelis berikutnya Academic CSIRT yang diwakili oleh sang ketua IGN Mantra. Ia mengemukakan bahwa memberikan kesadaran informasi tidak bisa secepat kilat, pendidikan merupakan cikal bakal bagi anak-anak untuk belajar berbagai hal termasuk mengamankan informasi. Seyogyanya, mendidik dalam mengamankan informasi itu harus dilakukan sejak dini.

Academic CSIRT merupakan wadah bagi perguruan tinggi yang sedang menerapkan keamanan informasi dan menjadi contact point bila terjadi insiden keamanan informasi.
Panelis terakhir adalah Telko-CERT yang diwakili oleh Yusril Sini. Ia mengemukakan tentang grand scenario cyber security, ada beberapa domain yang saling terkait untuk melindungi keamanan informasi seperti mengamankan operation & maintenance, new services & application, optimize existing, dan lainnya.

Kesimpulan dari pertemuan itu adalah informasi memang milik bersama tetapi informasi tersebut harus dijaga keamanannya. Ada berbagai cara untuk melumpuhkan dan mengambil informasi kritis tersebut dan banyak pula cara untuk melindunginya.

"Yang paling penting dari semuanya adalah nasionalisme, siapa lagi yang melindungi informasi negara kita bila tidak kita sendiri sebagai warga negara republik Indonesia," pungkas IGN Mantra.

Sumber: Ardhi Suryadhi - detikinet - 24/02/2012 [Kominfo Godok Tim Penanganan Insiden Keamanan Informasi]

Panduan Tata Kelola Keamanan Informasi

Penerapan tata kelola Teknologi Informasi dan Komunikasi (TIK) saat ini sudah menjadi kebutuhan dan tuntutan di setiap instansi penyelenggara pelayanan publik mengingat peran TIK yang semakin penting bagi upaya peningkatan kualitas layanan sebagai salah satu realisasi dari tata kelola pemerintahan yang baik (Good Corporate Governance/GCG). Pemerintah telah menetapkan peraturan terkait dengan Tata Kelola TIK yaitu melalui Peraturan Menteri Komunikasi Dan Informatika Nomor: 41/PER/MEN.KOMINFO/11/2007 Tentang PANDUAN UMUM TATA KELOLA TEKNOLOGI INFORMASI DAN KOMUNIKASI NASIONAL.

Namun di dalam Permen tersebut tidak mencakup keamanan infromasi secara mendalam. Sedangkan dalam penyelenggaraan tata kelola TIK, faktor keamanan informasi merupakan aspek yang sangat penting diperhatikan mengingat kinerja tata kelola TIK akan terganggu jika informasi sebagai salah satu objek utama tata kelola TIK mengalami masalah keamanan informasi yang menyangkut kerahasiaan (confidentiality), keutuhan (integrity) dan ketersediaan (availability).

Untuk itu Republik Indonesia melalui Kementrian Komunikasi dan Informatika RI telah membuat suatu panduan untuk penerapan tata kelola keamanan informasi, panduan itu dikeluarkan oleh Direktorat Keamanan Informasi Kementrian Komunikasi dan Informatika RI dan diberi nama Panduan Penerapan Tata Kelola Keamanan Informasi bagi Penyelenggara Pelayanan Publik



Hal ini menunjukkan bahwa negara peduli terhadap keaman informasi sehingga memberikan panduan kepada penyelenggara pelayanan publik. Tujuan dari panduan ini adalah agar instansi/lembaga penyelenggara pelayanan publik:
* Mampu menerapkan tatakelola keamanan informasi secara efektif, efisien, dan konsisten dengan pendekatan berbasis risiko.
*Mampu melakukan penilaian mandiri (self-assesment) secara objektif dengan menggunakan Indeks Keamanan Informasi (Indeks KAMI)
*Mampu menyusun sistem dokumentasi minimum yang diperlukan untuk menerapkan tata kelola keamanan informasi
*Memahami roadmap penerapan tata kelola keamanan informasi

Panduan ini direkomendasikan untuk diterapkan di lingkungan penyelenggaran pelayanan publik yang meliputi: Instansi pemerintah pusat dan daerah, BUMN, BUMD dan penyelenggara pelayanan publik lainnya. Dalam panduan tersebut terdapat lima area evaluasi yang merupakan kontrol-kontrol keamanan sebagaimana dijelaskan dalam ISO/ISO 27001:2005 dengan mempertimbangkan karakteristik kondisi penerapan sistem manajemen keamanan informasi, khususnya instansi/lembaga penyelenggara pelayanan publik di Indonesia. 5 (lima) area tersebut adalah:
1. Tata Kelola Keamanan Informasi
2. Manajemen Risiko Keamanan Informasi
3. Kerangka Kerja Pengelolaan Keamanan Informasi
4. Pengelolaan Aset Informasi
5. Teknologi Keamanan Informasi

Buku panduan tersebut dapat dilihat di Repositori Digital Kominfo

[Linux] Unicode Support CentOS 5.5, PHP And PCRE

Saya menggunakan CentOS 5.5 dengan webserver apache 2.2.3 dan PHP 5.1.6. Saat akan menggunakan fungsi regex yang berhubungan dengan karakter unicode seperti (\p, \P, \X, dsb) ternyata terdapat error, dan setelah diselidiki ternyata pada PCRE (Perl Compatible Regular Expressions) ada sebuah fungsi yang belum aktif.

Demikian pula saat saya memasang sebuah CMS open source dengan nama RackTables yang akan digunakan untuk inventaris rack, server dan semua peripheral yang ada di Data Center. terdapat sebuah error yang berhubungan dengan PCRE. Error-nya adalah

"PCRE compiled with --enable-unicode-properties FAILED"

PERMASALAHAN:
PHP yang terbaru menggunakan PCRE engine untuk menjalankan fungsi regular expression (regex). Karena itu, kita bisa langsung melakukan query langsung menggunakan pcregrep seperti berikut ini:

[pegasus@svr-cabul ~]$ pcregrep '/\X*/u' character.txt
pcregrep: Error in command-line regex at offset 2: support for P, p, and X has not been compiled


Dan ternyata hasilnya terdapat error, bahwa unicode tidak bisa dilakukan. Kemudian ada juga command pcretest untuk melihat hasil kompilasi pcre yang terpasang di komputer/server kita.
[pegasus@svr-cabul ~]$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
No Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
Dari query diatas tampaklah bahwa memang ada yang kurang dalam kompilasi PCRE. dari query diatas diberitahukan bahwa "UTF-8 support" dan "No Unicode properties support". Hal ini berarti bahwa PRCE diconfig dan dicompile dengan opsi "-enable-utf8" yang memungkinkan PCRE untuk mengenali dan bekerja dengan UTF-8 encoded string. Namun, PCRE tidak dikompilasi dengan "enable-unicode-properties" yang diperlukan mendukung karakter unicode seperti ' \p', ' \P', dan ' \X'.

SOLUSI:
Untuk mengatasi permasalah ini, maka harus dilakukan kompile ulang terhadap PCRE. Karena saya menggunakan CentOS yang berbasi rpm, maka saya mencari src dari PCRE dan menemukannya di kernel.org yaitu di http://mirrors.kernel.org/centos/5.5/os/SRPMS/pcre-6.6-2.el5_1.7.src.rpm.
1. Download src
[pegasus@svr-cabul ~]$ wget http://mirrors.kernel.org/centos/5.5/os/SRPMS/pcre-6.6-2.el5_1.7.src.rpm
2. Install source rpm
[pegasus@svr-cabul ~]$ sudo rpm -ivh pcre-6.6-2.el5_1.7.src.rpm
perintah ini akan menaruh source kedalam folder /usr/src/redhat/SOURCES dan /usr/src/redhat/SPECS

3. Install rpmbuild
rpmbuild nantinya akan digunakan untuk mengkompile paket source rpm
[pegasus@svr-cabul ~]$ sudo yum install rpm-build
4. Lakukan konfigurasi
buka file /usr/src/redhat/SPECS/pcre.spec, kemudian cari baris
%configure --enable-utf8
dan rubah menjadi seperti berikut ini, kemudian simpan
%configure --enable-utf8 --enable-unicode-properties
5. Build rpm baru
[pegasus@svr-cabul ~]$ sudo rpmbuild -ba /usr/src/redhat/SPECS/pcre.spec
hasil akhir dari perintah diatas, akan membuat rpm baru, dan akan muncul seperti ini:
Wrote: /usr/src/redhat/SRPMS/pcre-6.6-2.7.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/pcre-6.6-2.7.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/pcre-devel-6.6-2.7.i386.rpm
6. Install rpm baru:
[pegasus@svr-cabul src]$ sudo rpm -Uvh redhat/RPMS/i386/pcre-6.6-2.7.i386.rpm
Preparing... ########################################### [100%]
1:pcre ########################################### [100%]
7. Lakukan testing
[pegasus@svr-cabul src]$ pcretest -C
PCRE version 6.6 06-Feb-2006
Compiled with
UTF-8 support
Unicode properties support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack

Dan akhirnya, server pun sudah support unicode.

[Linux] Apache Tomcat 6 And Ubuntu 10.04

Sejak apache tomcat dimasukkan dalam repository ubuntu, cara installasinya pun semakin gampang. tinggal menggunakan apt-get beres deh. Apache tomcat merupakan webserver yang dibutuhkan untuk menjalankan aplikasi SERVLET maupun JSP. Sebelum melakukan installasi tomcat, disarankan agar melakukan install JRE (Java Runtime Environtment)  terlebih dahulu. Cara melakukan install apache tomcat adalah sebagai berikut:

1. Install tomcat dan pendukung-pendukungnya :
- tomcat6 : Servlet and JSP engine
- tomcat6-admin : Admin web applications
- tomcat6-common : Common files
- tomcat6-user : Tools to create user instances
- tomcat6-docs : Example web applications
- tomcat6-examples : Example web applications
2. Lakukan install
zein@arjuna:~$ sudo apt-get install tomcat6 tomcat6-admin tomcat6-common tomcat6-user tomcat6-docs tomcat6-examples
3. Jalankan tomcat
zein@arjuna:~$ sudo /etc/init.d/tomcat6 start
* Starting Tomcat servlet engine tomcat6
Using CATALINA_BASE:  /var/lib/tomcat6
Using CATALINA_HOME:  /usr/share/tomcat6
Using CATALINA_TMPDIR: /tmp/tomcat6-tmp
Using JRE_HOME:  /usr/lib/jvm/java-6-openjdk
Using CLASSPATH:  /usr/share/tomcat6/bin/bootstrap.jar
4. Beberapa command yang berkaitan dengan tomcat:
- Stop tomcat : $ sudo /etc/init.d/tomcat6 stop
- Restart tomcat : $ sudo /etc/init.d/tomcat6 restart
- Melihat status tomcat : $ sudo /etc/init.d/tomcat6 status

5. Setelah tomcat berjalan maka buka web browser untuk melakukan testing, apakah tomcat dapat bekerja dengan baik. Buka web browser dan ketikkan alamatnya, http://localhost:8080 atau http://<ipserver>:8080. Jika sukses maka akan muncul tampilan dengan Header : Its Works!
Sedangkan untuk melihat contoh-contoh program (examples) servlet bisa dilihat melalui alamat  http://<ipserver>:8080/examples/servlets dan jika ingin melihat contoh-contoh JSP dapat dilihat di alamat http://<ipserver>:8080/examples/jsp.

6. Untuk melakukan aktifasi fiture admin lewat browser, maka edit lah file /etc/tomcat6/tomcat-user.xml. Kemudian tambah baris dibawah ini.
<role rolename="manager"/>
< role rolename="admin"/>
< user name="admin" password="rahasia" roles="manager,admin"/>
Setelah itu akses lewat web browser dengan alamat http://<ipserver>:8080/manager/html, lalu masukkan username & password seperti yang ada di tomcat-user.xml. Selanjutnya akan muncul tampilan sebagai berikut :



7. Untuk merubah port yang digunakan oleh apache tomcat, dapat dirubah di /etc/tomcat6/server.xml. Port default tomcat adalah 8080, untuk merubahnya menjadi port 80 adalah dengan mengganti baris Connector port="8080" dengan Connector port="80"

Setting RAID 1 IBM XSeries 346

Aku ingin mengenang kembali, saat pertama kali memegang server IBM Xseries 346. Awalnya bingung namun akhirnya bisa juga. Server IBM XSeries merupakan server jadul, sekarang sudah berganti nama menjadi IBM System x.



Sekilas mengenai RAID (http://id.wikipedia.org/wiki/RAID):
RAID, singkatan dari Redundant Array of Independent Disks merujuk kepada sebuah teknologi di dalam penyimpanan data komputer yang digunakan untuk mengimplementasikan fitur toleransi kesalahan pada media penyimpanan komputer (utamanya adalah hard disk) dengan menggunakan cara redundansi (penumpukan) data, baik itu dengan menggunakan perangkat lunak, maupun unit perangkat keras RAID terpisah. Kata "RAID" juga memiliki beberapa singkatan Redundant Array of Inexpensive Disks, Redundant Array of Independent Drives, dan juga Redundant Array of Inexpensive Drives. Teknologi ini membagi atau mereplikasi data ke dalam beberapa hard disk terpisah. RAID didesain untuk meningkatkan keandalan data dan/atau meningkatkan kinerja I/O dari hard disk.


Cara untuk mengaktifkan RAID di IBM XSeries 346 adalah:
1. Masuk ke menu setup, saat ada pilihan SCSI, tekan CTRL+A

2. Pilih SCSI harddisk, di Server saya adalah yang B. Yang A adalah DVD Rom


3. Setelah itu masuk ke menu Configure/View SCSI Controller Setting

NTP (Network Time Protocol)

Network Time Protocol (NTP) merupakan suatu protokol yang digunakan untuk melakukan sinkronisasi waktu antara sistem lokal dengan sumber waktu yang akurat. Protokol ini diperlukan agar waktu yang tercatat pada sistem kita (lokal) bisa sama atau paling tidak mendekati waktu yang sebenarnya. Hal ini berguna agar tidak terjadi kesalahan atau kekacauan pada saat suatu sistem berkomunikasi dengan sistem lainnya karena perbedaan waktu yang tercatat pada setiap sistem tersebut.

Selain itu seorang administrator jaringan akan dipermudah dalam menelusuri dan menganalisa masalah yang terjadi pada suatu jaringan jika waktu pada setiap sistem bersesuaian.
NTP sudah digunakan secara luas di dunia untuk melakukan sinkronisasi waktu antar sistem. Protokol ini memberikan tingkat akurasi kurang dari 1 milisekon pada LAN dan beberapa milisekon pada WAN. Saat ini sudah terdapat ratusan NTP server di seluruh dunia dan melayani jutaan NTP client di semua negara.

NTP menggunakan UDP port 123 sebagai layer transportnya. NTP beroperasi dengan menggunakan level hierarchy yang setiap levelnya diberi nomer yang disebut stratum. Stratum memiliki beberapa level yang mendefinisikan jarak dengan sistem yang menjadi referensi untuk menghindari cycle dalam proses sinkronisasi, diantaranya adalah:
  • Stratum 0. Merupakan perangkat seperti jam atom dan tidak dikoneksikan langsung degan jaringan, tetapi terhubung dengan komputer.
  • Stratum 1. Merupakan perangkat komputer yang terletak pada perangkat stratum 0.
  • Stratum 2. Merupakan perangkat yang mengirimkan request NTP ke perangkat Stratum 1.
  • Stratum 3. Merupakan perangkat yang memiliki fungsi yang sama seperti stratum 2 dan melakukan request NTP ke perangkat stratum 2.
NTP Server
NTP Server adalah situs NTP Stratum 1, 2,..dst., yaitu Server yang sistem waktunya di-sinkron-kan terhadap sumber waktu akurat, dan men-transmisi-kan paket informasi waktu kepada komputer 'klien' yang meminta.


Tulisan berikutnya, akan membahas tentang NTP Server menggunakan perpaduan antara freeBSD dan GPS (Global Positioning System), yang mana dalam hal ini adalah Stratum 1.

Selisih tanggal pada INFOPATH 2010

Biasanya kita membutuhkan data yang diambil dari selisih tanggal. Namun bagaimana caranya menghitung selisih tanggal yang menggunakan dua control dateTimePicker pada microsoft infopath 2010?

Caranya adalah:

1. Buat form seperti berikut


Masukkan kontrol Date time Picker, dan textbox dengan ketentuan sebagai berikut:
KomponenNameData Type
Date Time PickerstartDateDate
Date Time PickerendDateDate
Text BoxdifferenceSingle Line Of text

2. Tambahkan Rule pada field startDate:
Action: Set a field's value
Field: difference
Value:
(number(substring(../my:endDate, 9, 2)) + floor((153 * (number(substring(../my:endDate, 6, 2)) + 12 * (floor((14 - number(substring(../my:endDate, 6, 2))) div 12)) - 3) + 2) div 5) + (number(substring(../my:endDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:endDate, 6, 2))) div 12))) * 365 + floor((number(substring(../my:endDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:endDate, 6, 2))) div 12))) div 4) - floor((number(substring(../my:endDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:endDate, 6, 2))) div 12))) div 100) + floor((number(substring(../my:endDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:endDate, 6, 2))) div 12))) div 400) - 32045) - (number(substring(., 9, 2)) + floor((153 * (number(substring(., 6, 2)) + 12 * (floor((14 - number(substring(., 6, 2))) div 12)) - 3) + 2) div 5) + (number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) * 365 + floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 4) - floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 100) + floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 400) - 32045)
Kemudian masukkan Condition berikut ini pada Rule:
startDate is not blank and endDate is not blank


3. Tambahkan Rule pada field startDate:
Action: Set a field's value
Field: difference
Value: 0
Masukkan Conditions pada Rule:
startDate is blank
or endDate is blank


4. Tambahkan Rule berikut ini pada field endDate:
Action: Set a field's value
Field: difference
Value:
(number(substring(., 9, 2)) + floor((153 * (number(substring(., 6, 2)) + 12 * (floor((14 - number(substring(., 6, 2))) div 12)) - 3) + 2) div 5) + (number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) * 365 + floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 4) - floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 100) + floor((number(substring(., 1, 4)) + 4800 - (floor((14 - number(substring(., 6, 2))) div 12))) div 400) - 32045) - (number(substring(../my:startDate, 9, 2)) + floor((153 * (number(substring(../my:startDate, 6, 2)) + 12 * (floor((14 - number(substring(../my:startDate, 6, 2))) div 12)) - 3) + 2) div 5) + (number(substring(../my:startDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:startDate, 6, 2))) div 12))) * 365 + floor((number(substring(../my:startDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:startDate, 6, 2))) div 12))) div 4) - floor((number(substring(../my:startDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:startDate, 6, 2))) div 12))) div 100) + floor((number(substring(../my:startDate, 1, 4)) + 4800 - (floor((14 - number(substring(../my:startDate, 6, 2))) div 12))) div 400) - 32045)
Kemudian masukkan Conditions seperti ini pada Rule:
startDate is not blank and endDate is not blank

5. Tambahkan Rule kedua pada field endDate dengan setting sebagai berikut:
Action: Set a field's value
Field: difference
Value: 0
Masukkan Conditions berikut ini pada Rule:
startDate is blank or endDate is blank
Sehingga hasilnya sebagai berikut:


6. Masukkan Rule berikut ini pada field difference:
Action: Set a field's value
Field: .
Value: 0
Kemudian tambahkan Condition pada Rule dengan setting sebagai berikut:
difference does not match pattern Custom Pattern: -{0,1}d+




Setelah melakukan langkah-langkah diatas, maka selanjutnya adalah menjalankan (preview / publish ke sharepoint). Dan sekarang kita telah mempunyai form yang bisa menghitung perbedaan 2 tanggal secara otomatis. Cara ini juga bisa digunakan di infopath 2007 maupun 2003.