Kebijakan & Standard Keamanan Informasi/Jaringan

Aktifitas pengamanan informasi atau sistem Jaringan adalah sangat penting bagi banyak organisasi. Tujuannya adalah terwujudnya 5 hal berikut:

1. Accessibility = Availability: Informasi harus tersedia saat diperlukan. Ini berarti bahwa sistem komputasi yang digunakan untuk menyimpan dan memproses informasi, kontrol keamanan digunakan untuk melindunginya, dan saluran komunikasi yang digunakan untuk mengaksesnya harus berfungsi dengan benar

2. Integrity: Dalam keamanan informasi, integritas berarti bahwa data tidak dapat dimodifikasi tanpa dapat dideteksi.

3. Confidentiality: Kerahasiaan adalah istilah yang digunakan untuk mencegah pengungkapan informasi kepada individu yang tidak sah atau sistem.

4. Authenticity: Dalam transaksi e-commerce misalnya, perlu untuk memastikan bahwa data, transaksi, komunikasi atau dokumen (elektronik atau fisik) Adalah asli

5. Non-repudiation: Dalam hukum, non-repudiation menyiratkan keinginan seseorang untuk memenuhi kewajiban mereka terhadap kontrak. Hal ini juga menyiratkan bahwa salah satu pihak dari transaksi tidak dapat menyangkal telah menerima transaksi atau pihak lain dapat menyangkal telah dikirim transaksi.

Lebih detail mengenai hal ini, mencakup definisi kebijakan, standard, pedoman dan prosedur, siklus dari kebijakan dan contoh-contoh kebijakan (termasuk standard dan pedoman), dapat dibaca pada Slide “Kebijakan Keamanan Informasi/Jaringan” yang kami sampaikan pada kuliah Keamanan Jaringan di Program S2 Ilmu Komputer UGM pada tanggal 21 September 2012. Terima kasih buat Bapak Tri Kuntoro Priyambodo yang telah mempersilakan kami berbagi (sharing) mengenai topik ini pada kuliah yang beliau ampu tersebut.

Advertisements

Mendapatkan Properti Halaman Web

Halaman web, pada sisi client berupa tag HTML dan pendukungnya, menyediakan beberapa properti yang sangat berguna bagi suatu web crawler. Informasi seperti URL, tanggal modifikasi terakhir, jumlah karakter (termasuk white space), jenis content dan Expirenya disediakan oleh Web server.

Kode program berikut memperlihatkan cara mengakses beberapa informasi penting tersebut. Detail dari apa yang disediakan oleh oleh URLConnection untuk keperluan ini dapat dilihat pada dokumentasi Java (J2SE):


//URLConnection.
import java.net.*;
import java.io.*;
import java.util.Date;

class URLConnectionInfo {

    public static void main(String args[]) throws Exception {
        int c;
        URL hp = new URL("http://localhost");
        URLConnection hpCon = hp.openConnection();
        System.out.println("Date: " + new Date(hpCon.getDate()));
        System.out.println("Content-Type: " + hpCon.getContentType());
        System.out.println("Expires: " + hpCon.getExpiration());
        System.out.println("Last-Modified: " + new Date(hpCon.getLastModified()));
        int len = hpCon.getContentLength();
        System.out.println("Content-Length: " + len);
        if (len > 0) {
            System.out.println("=== Content ===");
            InputStream input = hpCon.getInputStream();
            int i = len;
            while (((c = input.read()) != -1) && (--i > 0)) {
                System.out.print((char) c);
            }
            input.close();
        } else {
            System.out.println("No Content Available");
        }
    }
}

Mengakses Web Server dengan URL

Contoh di bawah ini mengakses web server menggunakan kelas URL dari paket .net. Sama sebagaimana contoh pemanfaatan kelas socket, kode ini menampilkan isi (dari sisi client) dari halaman HTML yang diakses:


import java.net.*;
import java.io.*;

public class GetURLPage {

    public static void main(String args[]) {

        try {
            URL url = new URL("http://localhost/");

            BufferedReader dis = new BufferedReader(new InputStreamReader(url.openStream()));

            String line;
            while ((line = dis.readLine()) != null) {
                System.out.println(line);
            }

            dis.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
} // akhir dari GetURLPage.java

Mengakses Web Server dengan Socket

Kode program singkat di bawah ini memperlihatkan cara mengakses suatu web site dan mengambil contentnya:


import java.io.*;
import java.net.*;

public class GetSocketPage {

    public static void main(String args[]) throws IOException {
        //bangun koneksi ke server web, port 80
        Socket sock = new Socket("trunojoyo.ac.id", 80);

        //siapkan saluran input & output
        BufferedReader dis = new BufferedReader(new InputStreamReader(sock.getInputStream()));
        PrintStream ps = new PrintStream(sock.getOutputStream());

        //kirim pesan GET ke server web
        ps.println("GET /index.html");
        String line;

        //baca baris demi baris file index.html, cetak ke screen
        while ((line = dis.readLine()) != null) {
            System.out.println(line);
        }

        //tutup koneksi ke server
        sock.close();
    }
} // akhir dari GetSocketPage.java

Hasil eksekusinya akan menampilkan halaman HTML dari web site yang disebutkan, termasuk kode javascript dan CSS yang terdapat dalam halaman HTML tersebut.

Pemrograman Jaringan 2009: Referensi

Tulisan ini berusaha menyediakan beberapa materi penting terkait dengan materi kuliah Pemrograman Jaringan yang saya ampu bersama tim pada Semester 1 (ganjil) 2009/2010 di Jurusan Teknik Informatika Universitas Trunjoyo. Semua materi baik berupa link ke web site lain maupun file yang dapat didownload secara langsung bersifat Open Content alias boleh digunakan tanpa harus meminta ijin pemiliknya, tidak harus membelinya.

computer_network_mug

Saatnya hidup nyaman dan terhormat dengan memanfaatkan hal-hal yang legal dan berkualitas.

Continue reading

Java: Memulai Pemrograman Multithreading

Multithreading mengacu kepada dua atau lebih task (tugas, thread) yang berjalan (sedang dieksekusi) di dalam satu program. Thread merupakan suatu path eksekusi independen di dalam program. Banyak thread dapat nerjalan secara konkuren (berbarengan) di dalam program. Setiap thread di dalam Java dibuat dan dikendalikan oleh kelas java.lang.Thread. Suatu program Java dapat mempunyai banyak thread, dan thread-thread ini dapat berjalan secara bersamaan, secara asinkron atau sinkron.

Multithreading mempunyai beberapa keuntungan, dibandingkan multiprocessing, di antaranya:

  • Thread bersifat lightweight, sedangkan proses lebih berat. Perlu diketahui bahwa proses adalah program yang sedang berada di memory atau processor, sedang dieksekusi. Thread dapat diartikan sebagai anak dari proses.
  • Thread-thread berbagi pakai ruang alamat yang sama dan karena itu dapat berbagi pakai data dan kode (instruksi)
  • Context switching antar thread biasanya lebih murah daripada antar proses.
  • Biaya komunikasi antar thread relatif lebih rendah daripada komunikasi antar proses.
  • Thread memungkinkan task-task berbeda dikerjakan secara konkuren.

Note: Penjelasan lebih detail mengenai konsep thread dan proses dapat dibaca pada buku teks mengenai Sistem Operasi, di antaranya karya Stallings dan Tanenbaum yang banyak digunakan di Universitas di Dunia.

Kelas Thread merupakan turunan dari kelas Object. Kelas Object sendiri mempunyai metode notify(), notifyAll() dan wait(), sedangkan kelas Thread menyediakan metode sleep() dan yield(). Metode-metode ini akan sering digunakan dalam pengelolaan aplikasi banyak thread.

Continue reading

Buku: Communication Networks

Nah kali ini kami hadirkan buku tentang Jaringan Komputer, judulnya “Communication Networks” yang ditulis oleh Sharam Hekmat (siapa ya?), keluar tahun 2005. Isinya bagus sekali, dimulai dengan pengenalan teknologi jaringan komputer, kemudian dilanjutkan dengan pembahasan layer-layer dalam sistem standard OSI (7 layer), dilengkapi dengan Local Area Networks (LAN), Telephone Networks (PSTN), Integrated Services Digital Network(ISDN), dan Broadband ISDN and ATM.

Jika anda mahasiswa Informatika yang sedang belajar konsep dasar jaringan komputer, buku setipis 198 halaman ini akan sangat membantu.