Toleransi Kesalahan dan Keamanan dalam Sistem Terdistribusi

Toleransi Kesalahan dan Keamanan dalam Sistem Terdistribusi

Toleransi Kesalahan dan Keamanan

Untuk memahami peran dari toleransi kesalahan di dalam sistem tersebar, kita kebutuhan pertama untuk melihat lebih dekat pada apa yang itu benar-benar berarti karena suatu sistem tersebar untuk toleransi terhadap kesalahan-kesalahan. Toleran kesalahan adalah betul-betul dihubungkan dengan apakah menyebut sistem yang ketergantungan.

Komponen Toleransi Kesalahan

  • Sistem dikatakan gagal (fail) apabila tidak mampu memenuhi spesifikasi tekniknya. 
  • Sistem Komputer dapat gagal karena kesalahan beberapa komponen seperti: Processor, memory, I/O device, cable atau software
  • Kesalahan dapat diklasifikasikan sebagai:
  1.  Transient
  2.  Intermittent
  3.  Permanent

Kesalahan
  • Transient terjadi sekali dan kemudian menghilang. Jika operasi diulangi, kesalahan tidak muncul.
  • Intermittent terjadi kemudian menghilang, lalu muncul lagi, lalu menghilang lagi, dan seterusnya. Contohnya seperti hubungan konektor yang longgar.
  • Permanent terjadi seterusnya sampai komponen yang fault diperbaiki. Contoh chips terbakar, software bugs, disk head crash.
  • Tujuan perancangan dan pembuatan toleransi kesalahan adalah menjamin bahwa System secara keseluruhan mampu terus berfungsi secara benar meskipun fault terjadi. 
  • Jadi disini tidak mensyaratkan individual komponen yang sangat reliable (andal)


Systems Failures

Keandalan sistem (System reliability) sangat penting di dalam sebuah sistem terdistribusi karena di dalam System tersebut terkandung sejumlah besar komponen dan kemungkinan terjadinya kegagalan sangat besar.Fault atau kesalahan suatu sistem dapat dibedakan menjadi:
  1. Fail-silent faults atau fail stop faults : sistem berhenti dan tidak memberikan respon terhadap masukan yang ada.
  2. Bizantine Faults : sistem terus bekerja meskipun fault dan memberikan hasil yang salah.
Sistem yang mempunyai sifat dalam kondisi normal bekerja akan memberikan respon terhadapat input dalam waktu terbatas yang telah diketahui disebut sistem Synchronous. Sistem yang tak punya sifat seperti itu disebut sistem aSynchronous. Sistem aSynchronous sangat sulit dikelola dibandingkan dengan Synchronous

Penggunaan Redudancy

Pendekatan umum fault tolerance (toleransi terhadap kegagalan) adalah menggunakan redundancy. 3 jenis redundancy:

- Information redundancy
- Time redundancy
- Physical redundancy

Information redundancy
Metoda ini menambahkan extra bit untuk membuat sedemikian hingga dapat me recovery informasi yang telah rusak. Contoh Hamming code ditambahkan pada transmitted data.

Time redundancy
Sebuah operasi dilakukan dan kemudian jika diperlukan diulangi lagi. Contoh, penggunaan atomic transaction. Jika transaction dibatalkan, proses tersebut dapat diulangi lagi tanpa menimbulkan masalah. Metoda ini sangat bermanfaat jika fault - nya adalah transient atau intermittent.

Physical redundancy
Pendekatan ini menggunakan penambahan perangkat ekstra. Sebagai contoh ekstra processor dapat ditambahkan ke System sehingga jika beberapa processor rusak maka System secara keseluruhan masih dapat berfungsi dengan benar. Ada dua cara untuk mengelola ekstra processor tersebut: active replication dan primary backup



Toleransi Kesalahan dengan menggunakan Active Replication

Pada teknik ini semua processor / device digunakan sepanjang waktu dan setiap device memiliki replikasinya masing - masing sehingga dapat menyembunyikan fault dengan penuh.




Gambar diatas menunjukkan sinyal melalui device A,B,C secara berurutan.  Setiap device memiliki 3 replikasi. Dan setiap replikasi diikuti sebuah voter. Setiap voter memiliki 3 input dan satu output. Jika dua atau tiga input sama, maka output sama dengan input. Jika 3 input berbeda hasil output tak terdefinisi. Misalkan element A2 gagal. Setiap voter V1, V2 dan V3 m end apatkan 2 masukan identik yang benar dan sebauh salah, tetapi Voter tetap menghasilkan output yang benar untuk masukan tahap berikutnya. Sehingga pada dasarnya efek A2 tidak berpengaruh secara keseluruhan System


Toleransi Kesalahan dengan menggunakan Primary Backup



Availability
  • Availability menjamin bahwa informasi dan layanan dapat diakses dan berfungsi dengan benar (accessible and functional) pada saat dibutuhkan.
  • Untuk menyediakan jaringan dengan availability yang tinggi, maka harus dijamin bahwa Security proses adalah handal (reliable) dan responsif. 
  • Sistem dan software termasuk System Security yang modular perlu saling Interoperable. 
  • Sistem yang mempunyai availability yang tinggi mempunyai karakteristik antara lain mempunyai MTBF ( Mean Time Between Failur ) yang panjang dengan dukungan redundant power suplay dan hot - swappable module.


Integrity

Integrity (keutuhan) menjamin bahwa informasi atau software adalah lengkap, akurat dan otentik. Dengan integrity orang atau proses yang tak berhak tak bisa membuat perubahan pada sistem. Untuk network entegrity kita perlu menjamin bahwa message yang diterima adalah sama dengan message yang dikirim. Isi dari messa ge harus lengkap dan tak dimodifikasi, dan link antara sumber dan tujuan node valid. Connection integrity dapat disediakan oleh cryptography dan routing control


Confidentiality
Confidentiality (kerahasiaan) melindungi informasi sensitif dari penyingkapan /pengaksesan yang tak berhak. Cryptography dan access control digunakan untuk melindungi kerahasiaan. Usaha penerapan perlindungan kerahasiaan tergantung pada sensitivitas dari informasi dan kemungkinan sifat pengamat atau penyusup.

    Access Control
    Access Control adalah proses pembatasan hak untuk penggunaan sumber - sumber sistem. Ada tiga jenis control untuk pembatasan akses: Administration control berdasarkan kebijakan organisasi.
    1. Physical control misalkan pembatasan akses ke node jaringan, perlindungan pengkabelan jaringan, dan sebagainya.
    2. Logical control berdasarkan access control list, communication control and cryptography.
    3. Access control berdasarkan pengujian identitas (Authentication) dan kemudian penjaminan hak akses berdasarkan identitas (Authorization).
    Akses dapat dijaminkan kepada orang, mesin, layanan atau program.


    Authentication

    Authentication adalah pengujian identitas yang diklaim oleh pemakai, proses atau device. Authentication menjamin hak akses berdasarkan identitas. Confidentiality dan integrity tak akan berlangsung bila identitas pemakai data tersebut tidak lolos uji. Tingkatan Authentication yang diperlukan untuk sebuah System ditentukan oleh kebutuhan keamanan ( Security ) yang diperlukan oleh organisasi. Sebagai contoh transaksi keuangan sangat membutuhkan Authentication .
    • Contoh Hardware atau software token seperti smart card bentuk Authentication adalah                      penggunaan IP address untuk menentukan identitas.
    • Faktor Authentication adalah sebagai berikut: What a person knows. Contohnya adalah                      passwords dan Personal Identificatio n Numbers (PIN).

      Authorization

      Authorization adalah hak yang dijamin oleh suatu utilitas agar mampu mengakses layanan atau informasi untuk identitas khusus atau sekelompok identitas. Untuk System yang sangat tinggi tingkat keamanannya, default otorisasinya adalah tidak dapat akses. Sedangkan untuk System publik, otorisasinya adalah sebagai tamu ( guest ) atau pemakai anonym. Authentication adalah kunci untuk menjamin bahwa hanya pemakai yang telah mempunyai hak (authorized user) yang dapat mengakses informasi.


      Accounting
      Accounting adalah rekaman dari aktivitas jaringan dan akses sumber informasi. Dari perspektif keamanan, accounting dapat digunakan untuk pendeteksian dan analisa kejadian yang terkait dengan keamanan jaringan.


      Keamanan pada jaringan TCP/IP

      Jaringan Internet tidak menjamin adanya privasi atau integritas data. Sehingga data perlu dienkripsi sebelum ditransmisikan dan di – dekripsi saat diterima di penerima (Cryptography)

      Cryptography adalah teknik penulisan dan pembacaan kode atau sandi rahasia (cipher). Cryptography digunakan untuk pengamanan informasi agar informasi tetap privasi dan untuk meng-authenticate identitas pengirim atau penerima informasi. Cryptography dapat juga menyediakan keutuhan (integrity) informasi, sebab ia hanya mengijinkan orang atau prose s yang berhak yang bisa mengakses informasi, dan dapat         mendeteksi kerusakan atau perubahan informasi asli.
      Ada tiga kategori fungsi Cryptography yaitu:
      1.  symatric key
      2.  asymatic key
      3.  hash function
      Symmetric Cryptography
      Symmetric Cryptography menggunakan kunci yang sama untuk proses enkripsi dan dekripsi informasi. Setiap pasang pemakai menggunakan bersama - sama sebuah key untuk  pertukaran pesan/ message. Dan mereka harus tetap menjaga kerahasiaan key yang  digunakan. Contoh DES, 3DES, IDEA, RC4

      Asymmetric Cryptography
      Asymmetric Cryptography dikenal juga sebagai public key Cryptography . Algoritma ini menggunakan sepasang key yang secara matematik saling terkait, tetapi diberikan hanya satu key. Satu key digunakan untuk enkripsi dan key yang lain untuk dekripsi. Salah satu kunci tetap dijaga rahasia dan key yang lain di distri busikan secara umum. Contoh :  Diffie–Hellman, DSA, ECC

      Hash Function
      Hash Function digunakan untuk memadatkan message yang mempunyai panjang variable ke dalam sebuah kode yang panjangnya tetap (disebut sebagai hash atau  message digest) . Algoritma yang berbeda akan menghasilkan panjang hash yang berbeda pula. Contoh Hash Function :  Message Digest 5 (MD5), Secure Hash Algorithm (SHA) ,Haval

      Application Layer Security

      Application Layer Security menyediakan keamanan end - to - end dari aplikasi pada satu host ke aplikasi pada host lainnya. Layer ini menyediakan secara lengkap persyaratan keamanan, kelengkapan, kerahasiaan. Beberapa contoh Application Layer Security seperti : Pretty Good Privacy (PGP) dan Secure Hypertext Transfer Protocol (S - H TTP).

      Pretty Good Privacy (PGP) digunakan untuk privasi dan tanda tangan digital dari message email. PGP menyediakan end to-end Security dari pengirim ke penerima. Secure Hypertext Transfer Protocol (S-HTTP) S-HTTP dirancang untuk menyediakan keamanan aplikasi Web. S-HTTP merupakan protocol keamanan berdasarkan message artinya message dapat diamankan secara individual. S-HTTP menggunakan symmetric key dan menggunakan out-of-hand communication.

      Transport Layer Security

      Skema ini menyediakan keamanan process-to-process antara host. Hampir kebanyakan skema ini dirancang untuk TCP. Security Sockets Layer (SSL) dan Transport  Layer Security (TLS). SSL sangat luas dipakai di Internet untuk transaksi berdasarkan Web seperti pengiriman data credit card SSL dapat juga digunakan untuk protocol lainnya seperti Telnet, FTP, LDAP, IMAP dan SMTP tetapi ini tak umum dipakai.

       TLS adalah terbuka berdasarkan standard IETF pada SSL 3.0. TLS didefinisikan di RFC 2246, RFC 2712, RFC 2817, RFC 2818. SSL dan TLS tidak saling interoperability. SSL dan TLS menyediakan keamanan untuk TCP session tunggal. Server dan browser harus mampu mendukung salah satu SSL atau TLS untuk membuat komunikasi Web yang aman.

      Secure Shell (SSH) menyediakan remote login yang aman yaitu untuk keamananTelnet session dan file transfer. Protokol SSH menyediakan channel yang aman untuk shell session interaktif dan tunnelling pada aplikasi TCP yang lain. Filtering Packet filter dapat diimplementasikan pada router dan device Layer 3 untuk mengontrol paket apakah akan diblok atau diteruskan pada setiap interface-nya.


      Network Layer Security

      Skema ini dapat diterapkan untuk keamanan trafik untuk semua aplikasi atau protocol transport pada Layer di atasnya. IP Security Protocol (IPSec) Protokol ini dapat menyediakan access control, Authentication, data integrity dan Confidentiality untuk setiap paket IP antara dua network node yang saling berkomunikasi. IPSec Architecture  menyediakan tiga fungsi utama:
      1. Authentication, disediakan melalui protokol Authentication Header (AH). AH didefinisikan di RFC 2402.
      2. Authentication dan confidential (enkripsi), disediakan melalui protocol Encapsulation Security Payload (ESP). ESP didefinisikan di RFC 2406.
      3. Pertukaran Key, disediakan secara otomatius melalui protokol internet key exchange (IKE) atau manual. IKE didefinisikan di RFC 2409.
      Security Association (SA) mendefinisikan bagaimana dua atau lebih pengguna IPSec akan menggunakan layanan keamanan dari protocol keamanan (AH atau ESP) untuk berkomunikasi yang direpresentasikan pada aliran data tertentu (particular flow). SA berisi key rahasia yang digunakan untuk melindungi data dalam sebuah aliran dan waktu hidupnya (life time). SA bersifat uni-directional (satu arah) dan unik per Security protocol (AH atau ESP). SA diidentifikasi oleh tiga parameter: Security parameter index (SPI), IP destination addess dan Security protocol identifier.

      Filtering (Access Control List) Paket filter dapat diimplementasikan pada router dan device Layer 3 untuk mengontrol sumber dan tujuan IP address yang diperbolehkan untuk melewati gateway. Standart access list dapat mem-filter pada sources address. Sedangkan extended access list dapat mem-filter protocol ICMP, IGMP atau IP pada network Layer

      Skema ini bekerja berdasarkan point-to-point seperti melalui sebuah leased line atau frame relay permane nt virtual circuit Perangkat hardware khusus ditambahkan pada setiap ujung link untuk melakukan enkripsi dan dekripsi. Kalangan militer, pemerintah dan perbankan sangat umum menggunakan pendekatan ini. Skema ini tidak sesuai untuk jaringan yang besar. Keuntungan metoda ini yaitu penyusup tidak bisa menentukan alamat pengirim atau penerima.


      Firewall

      Firewall umumnya ditempatkan pada batas network untuk membangun batas pinggir keamanan (Security). Firewall digunakan untuk melindungi internal network dari akses eksternal yang tak diinginkan. Firewall juga dapat digunakan secara internal untuk mengontrol akses jaringan pada spesifik bagian atau resources. Ada tiga jenis Firewall yang tersedia saat ini, yaitu :
        1. Packet Filter. Jenis ini melihat protokol, alamat atau informasi port dalam setiap paket dan membuat keputusan apakah paket diteruskan atau tidak berdasarkan aturan tertentu. Contoh jenis ini adalah Access Control List (ACL) pada router.
        2. Proxy Servers. Jenis ini menggunakan aplikasi khusus untuk setiap layanan yang akan diteruskan melalui firewall . Proxy menawarkan keamanan yang terbaik, tetapi pemakai harus mempunyai sebuah aplikasi untuk setiap layanan/service yang akan diproses oleh firewall. Jenis ini memiliki performansi terlambat dibandingkan jenis lainnya.
        3.  Stateful Inspection. Jenis ini menganalisa semua Layer komunikasi, meng-ekstrak komunikasi yang relevan dan informasi application state dan secara dinamik mempertahankan state dari komunikasi dalam sebuah table.

        Access Control List
        Fungsi sebuah access control list akan tergantung pada konteks dimana ia digunakan. Sebagai contoh, access list dapat :
        • Mengontrol akses jaringan yang dihubungkan ke sebuah router atau mendifinisikan jenis trafik tertentu yang diijinkan melewati ked dan dari jaringan.
        • Membatasi isi updating routing yang di” iklankan” oleh berbagai macam protocol routing.
        • Melindungi router itu sendiri dengan pembatasan akses kelayanan/service seperti SNMP                  dan Telnet.
        • Mendifinisikan trafik yang menarik untuk routing Dail-on-Demand.
        • Mendifinisikan fitur buffer dengan menentukan tingkat prioritas paket yang satu terhadap                      yang lain.

        Network Address Translation (NAT)

        NAT adalah mekanisme yang dapat digunakan untuk mentranslasikan / merubah IP address di dalam paket IP. Mekanisme tersebut dapat membuat suatu tempat (VLWH) yang menggunakan IP address khusus (privat) dapat berkomunikasi dengan jaringan global Internet. Jaringan yang menggunakan IP address khusus/privat tidak akan bisa berhubungan dengan jaringan global Internet bila tanpa menggunakan translasi IP address.

        NAT beroperasi pada sebuah devais yang menghubungkan dua jaringan bersama-sama. Umumnya satu network menggunakan IP address berdasarkan RFC 1918 (Private address) sedangkan lainnya menggunakan IP address yang berlaku global. Mekanisme NAT sebenarnya diran cang bukan untuk maksud Security, tetapi dengan NAT akan membuat lebih sulit para hacker atau penyusup untuk mendapatkan sumber paket atau mendapatkan sources atau address destination aslinya. NAT diuraikan secera lengkap pada dokumen RFC 2663.


        sumber : buku sistem terdistribusi