Minggu, 03 Maret 2019

Software Defined Networking (SDN)

Nama  :Afani Agung Nugroho
Nim     :1605551005
Dosen  :I Putu Agus Eka Pratama ST., MT.
Matakuliah  :Network Centric Principles
Kampus :Program Studi Teknologi Informasi Fakultas Teknik Universitas Udayana

Kali ini akan dibahas pemahaman teori  lebih detail mengenai SDN (Software Defined Networking), SDN dalam bentuk virtualisasinya dan apa itu tentang Hypervisor serta praktek dengan menggunakan mininet dalam sebuah system operasi LINUX.

Virtualisasi

Virtualisasi merupakan sebuah sistem yang dibuat pada versi maya (virtual) dari suatu sumber daya (resource) sehingga pada satu sumber daya fsik dapat dijalankan atau disimpan beberapa sumber daya maya sekaligus, dengan syarat unjuk kerja masing-masing sumber daya maya itu tidak berbeda signifkan dengan sumber daya fisiknya. Kapasitas atau kemampuan lebih ini didayagunakan dengan menjalankan atau menyimpan beberapa sumber daya maya (tergantung pada kemampuan dan kapasitas sumber daya tersebut dan beban kerjanya) sehingga dapat menghasilkan efsiensi yang lebih tinggi.

Virtualisasi memberikan suatu keuntungan yaitu dapat menjalankan beberapa system operasi di waktu yang bersamaan sehingga dapat menghemat biaya operasional, Dalam membuat suatu sistem operasi yang dapat divirtualisasikan yaitu sistem operasi, media penyimpanan, aplikasi, hardware, jaringan, dan layanan di jaringan.

Yang dapat divirtualisasikan yaitu Hardware atau perangkat keras, yang dimana virtualisasi ini dimungkinkan karena perkembangan teknologi hardware yang sedemikian pesat sehingga kemampuan sebuah sumber daya fisik berada jauh di atas tuntutan penggunaannya sehinga sebagian besar waktu atau kapasitasnya tidak terpakai (idle). Terdapat beberapa jenis virtualisasi hardware yaitu Para-virtualisasi yang merupakan perangkat keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat berjalan. Virtualisasi sebagian yang merupakan tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini. Serta Virtualisasi penuh yang berarti hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.

Hypervisor

Dalam membuat suatu system virtualisasi diperlukan sebuah system tambahan yaitu bernama Hypervisor. Yang dimana Hypervisor tersebut merupakan menambahkan satu bagian (layer) perangkat lunak (software) dalam membangun sebuah virtualisasi. Hypervisor berfungsi sebagai Virtual Machine Manager (VMM) yang merupakan suatu bagian yang melakukan abstraksi dari perangkat keras fisik menjadi perangkat keras virtual dalam rangka mendistribusikan beban kerja dari semua mesin virtual (VM) ke masing-masing perangkat keras secara proporsional.


Gambar diatas merupakan proses virtualisasi yang dilakukan pada prosesor x86 yang dimana awalnya proses ini dianggap sangat sulit karena memiliki arsitektur seperti pada gambar tersebut. Prosesor x86 membagi tingkatan akses menjadi 4 tingkat yang dinamai Ring 0, 1, 2, dan 3. Ring 0 adalah satu-satunya tingkatan yang memungkinkan dijalankannya perintah-perintah untuk mengakses memori atau perangkat keras lainnya secara langsung.

Ring yang lain tidak dapat menjalankan perintah-perintah untuk mengakses memori dan perangkat keras secara langsung. Software yang dijalankan pada Ring 1, 2, dan 3 dibatasi aksesnya ke hardware untuk alasan keamanan sistem yang ketat. Akses hardware dari Ring selain Ring 0 akan diseleksi terlebih dahulu dan apabila diijinkan akan didelegasikan melalui Ring 0 dengan mendapatkan pengawalan yang sangat ketat.

Idealnya virtualisasi dapat dilakukan dengan mudah dengan cara menempatkan hypervisor pada Ring 0 dan OS minimal di Ring 1. Akan tetapi OS perlu mengakses memori dan perangkat keras lainnya secara langsung. Dalam kondisi biasa OS menempati Ring 0 dan tidak ada masalah. Bila OS harus digeser ke Ring 1 maka timbul masalah akses. Sehingga tantangan terbesar virtualisasi dalam keluarga komputer yang berarsitektur x86 adalah bagaimana membuat sebuah hypervisor yang dapat dijalankan di Ring 0 akan tetapi tidak menghalangi akses dari OS yang digeser dari Ring 0 ke Ring 1.

Praktek Mininet pada Linux Ubuntu

Berikut merupakan suatu proses paraktek simulasi mininet dalam system operasi linux yaitu Ubuntu, adalah sebagai berikut. Pertama install mininet pada linux dengan mengetikkan perintah “sudo apt-get install mininet”.


Jika sudah selesai akan muncul tampilan seperti diatas, selanjutnya jalankan suatu perintah yang digunakan untuk membuat suatu topologi dengan 3 host tanpa terhubung ke controller, dengan mengetikkan perintah “sudo mn –mac –topo single,3 –switch ovsk –controller= remote”


Selanjutnya untuk melihat semua host atau interface network yang ada dengan mengetikkan mininet> “net”. Dan untuk melihat semua informasi node pada setiap interface network yang ada dengan mengetikkan mininet> “dump”.


Terakhir untuk keluar dari mininet digunakan dengan mengetikkan perintah mininet> “quit”.

[1] I Putu Agus Eka Pratama "PPT Network Centric Principles Pertemuan 5". 2019.

Senin, 18 Februari 2019

Network Centric Principles dan NCOIC

MATERI PERTEMUAN 3
(Network Centric Principles dan NCOIC)

Nama  :Afani Agung Nugroho
Nim     :1605551005
Dosen  :I Putu Agus Eka Pratama ST., MT.
Matakuliah  :Network Centric Principles
Kampus :Program Studi Teknologi Informasi Fakultas Teknik Universitas Udayana

Kali ini akan dibahas pemahaman teori mengenai defisini NCOIC, tujuan NCOIC, bagan Network Centric Principles dan NCOIC serta 5 Prinsip Network Centric Principles pada NCOIC.

Definisi NCOIC
NCOIC atau kepanjangan dari Network Centric Operations Industry Consortium yang merupakan suatu organisasi konsorsium Internasional yang focus kepada pengembangan dan pemanfaatan Network Centric di seluruh dunia. Sesuai dengan definisinya berarti semua yang berkaitan dengan Net Centric akan berada dibawah atau diwadahi oleh badan yang bernama NCOIC. NCOIC diikuti oleh berbagai negara dan perusahaan IT di seluruh dunia, dengan biaya keanggotaan bervariasi serta pendaftaran disediakan langsung di web NCOIC. Situs Web dari NCOIC adalah www.ncoic.org.

Tujuan NCOIC
Tujuan dari didirikannya NCOIC adalah meningkatkan pertukaran informasi diantara komunitas. Meningkatkan  produktifitas, interaksi, keamanan, dan implementasi dari Network Centric. NCOIC diikuti oleh banyak negara dan beberapa perusahan IT di dunia, dengan biaya keanggotaan yang bervariasi.


Bagan NCOIC dan Network Centric Principles

Gambar diatas merupakan bagan dari NCOIC dan Network Centric Principles yang dimana pada bagan tersebut merupakan alur dari NCOIC yang dimana pada tahap awal yaitu dasar atau prinsip, kedua merupakan pesyaratan, ketiga merupakan ilmu bangunan/arsitek, keempat melakukan desain, kelima melakukan pemgembangan atau membangun dan mempersatukan dan terakhir yaitu tahapan tes/ujian dan evaluasi.

Prinsip NCP Pada NCOIC
Pelaksanaan Network Centric Principles terhadap NCOIC memiliki 5 prinsip untuk meningkatkan keberhasilan pelaksanaannya. 5 prinsip tersebut antara lain.

  1. Dinamis: semua entitas harus mampu mendukung lingkungan dan kebiasaan yang selalu berkembang dan berubah.
  2. Global: NCP harus dapat digunakan disegala platform, sistem operasi maupun perangkat.
  3. Eksplisit: Informasi yang mengalir harus lugas dan tanpa melalui pengolahan lagi (tidak tersirat).
  4. Simetrik: Relasi dan entitas bersifat simetris dan berimbang dari strukturnya.
  5. Entitas: entitas memiliki identitas yang unik seperti halnya MAC address pada perangkat jaringan yang bersifat unik.


Referensi
[1] I Putu Agus Eka Pratama "PPT Network Centric Principles Pertemuan 3". 2019.


Minggu, 10 Februari 2019

MATERI PERTEMUAN 2 (Network Centric Principles dan Information Enterprise)

MATERI PERTEMUAN 2
(Network Centric Principles)

Nama :Afani Agung Nugroho
Nim    :1605551005
Dosen :I Putu Agus Eka Pratama ST., MT.
Matakuliah :Network Centric Principles
Kampus :Program Studi Teknologi Informasi Fakultas Teknik Universitas Udayana

Kali ini akan dibahas pemahaman teori mengenai Network Centric Principles dan Information Enterprise. IE merupakan informasi skala enterprise, yang memiliki nilai jual .IE berhubungan dengan IB (Information Business) yang merupakan bisnis di era digital yang berorientasikan kepada informasi.

Information Enterprise dan 3 Jenis Information Business
Berikut ini merupakan Information Enterprise dan 3 Jenis Information Business 
  • Information Content Core Competence 
  • Information Appliance Core Competence 
  • Information Transport Core Competence
3 Element Pada Internet Enterprise
  • Information Processing Create, delete, update konten dan informasi
  • Office Technology Semua teknologi yang digunakan : sistem operasi, aplikasi, sistem, dll yang membantu pengolahan data menjadi informasi dan manajemen informasi
  • Telecommunication Jaringan komputer, akses internet, dll yang membantu terdistribusinya informasi.
Routing dan Switching
Routing adalah proses pengiriman data maupun informasi dengan meneruskan paket data yang dikirim dari jaringan satu ke jaringan lainnya. Sedangkan switching adalah jaringan yang mengalokasikan sebuah sirkuit yang dedicated diantara nodes dan terminal untuk digunakan pengguna untuk berkomunikasi. Sirkuit yang dedicated tidak dapat digunakan oleh penelepon lain sampai sirkuit itu dilepaskan, dan koneksi baru bisa disusun. Bahkan jika tidak ada komunikasi berlangsung pada sebuah sirkuit yang dedicated, kanal tersebut tetap tidak dapat digunakan oleh pengguna lain. Kanal yang dapat dipakai untuk hubungan telepon baru disebut sebagai kanal yang idle.

Service Provider
Service Provider adalah perusahaan yang menyelenggarakan jasa sambungan internet dan jasa lainnya yang berhubungan. ISP ini mempunyai jaringan baik secara domestic maupun internasional sehinga pelangan atau pengguna dari sambungan yang disediakan oleh ISP dapat terhubung ke jaringan internet global. Jaringan di sini berupa media transmisi yang dapat mengalirkan data yang dapat berupa kabel (modem, sewa kabel, dan jalur lebar), radio, maupun VSAT. Untuk mendapatkan akses internet, sebuah komputer harus menggunakan jasa perusahaan penyedia layanan internet (ISP).

Data Center
Data Center adalah suatu fasilitas yang digunakan untuk menempatkan sistem komputer dan komponen-komponen terkaitnya, seperti sistem telekomunikasi dan penyimpanan data. Fasilitas ini biasanya mencakup juga catu daya redundan atau cadangan, koneksi komunikasi data redundan, pengontrol lingkungan (mis. AC, ventilasi), pencegah bahaya kebakaran, serta piranti keamanan fisik. Salah satu penempatan server untuk website atau database.

Security
Security atau keamanan data merupakan upaya untuk mengamankan aset informasi terhadap ancaman yang mungkin timbul. Sehingga keamanan informasi secara tidak langsung dapat meminimalkan risiko yang terjadi. Semakin banyak informasi yang disimpan, dikelola dan dibagikan maka semakin besar pula risiko terjadinya kerusakan, kehilangan atau tereksposnya data ke pihak eksternal yang diinginkan.

Linux
Linux adalah salah satu Operating System (OS), sama seperti Windows. Linux merupakan sistem operasi yang OPENSOURCE, artinya linux dapat dilihat source codenya, dimodifikasi, dan dikembangkan oleh siapa saja. Asas Linux bermula daripada proses pengembangan UNIX yang mana merupakan implementasi bebas dari POSIX, multi-tasking, vitual memory, shared libararies, demand loading, proper memory management, dan multi user. 

Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows  9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.

Referensi
[1] I Putu Agus Eka Pratama "PPT Network Centric Principles Pertemuan 2". 2019.

MATERI PERTEMUAN 1 (Pendahuluan Network Centric Principles)

MATERI PERTEMUAN 1
(Network Centric Principles)

Nama                  : Afani Agung Nugroho
Nim                    : 1605551005
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah         : Network Centric Principles
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.

Kali ini akan dibahas pemahaman teori mengenai  Net Centric Network yang menjadi konsep dasar untuk berbagai teknologi, aplikasi, layanan, dan data di jaringan internet saat ini dan masa depan. Materi dalam satu semester meliputi Content Delivery Network (CDN), Information Centric Network (ICN), System Centric System Engineering and Architecture, serta hubungannya dengan Service Oriented Architecture (SOA) atau arsitektur berbasis layanan.

Apa itu Network Centric Principles ?
Secara Umum, Network Centric Principles merupakan sebuah konsep prinsipal (prinsip/konsep berbasis jaringan) di dalam lingkungan jaringan komputer, yang meliputi infrastruktur, sistem, proses, dan pengguna, untuk penanganan proses di sisi bisnis, kesehatan, pendidikan, hingga militer. Network Centric Principles merupakan sebuah konsep principal berbasis jaringan di dalam lingkungan jaringan komputer, yang meliputi infrastruktur, sistem, proses, dan pengguna, untuk penanganan proses di sisi bisnis, kesehatan, pendidikan, hingga militer. Network Centric Principles fokus kepada keamanan data dan informasi.

Keamanan Data
Keamanan data yang terdapat pada network centric principles memiliki beberapa manfaat yaitu.
  • Data mudah diperoleh oleh pengguna melalui aplikasi, platform, perangkat, sesuai hak akses (visibility).
  • Data mudah diakses kapanpun dan dimanapun (Accessible).
  • Data dapat dimanajemen.
  • Data mudah dipahami, tidak ambigu.
  • Data dari sumber terpercaya.
  • Memiliki interoperabilitas tinggi (platform, aplikasi, os)
  • Sesuai dengan kebutuhan pengguna.
Layer Pada Network Centric Principles



Terdapat beberapa layer yang terdapat pada Network Centric Principles, layer dari Network Centric Priciples hampir sama dengan layer yang ada pada jaringan komputer dasar yaitu OSI layer atau TCP/IP layer. Layer pada Network Centric Principles adalah sebagai berikut.
  • Layer Pertama yaitu Foundation yang berupa definisi dan petunjuk
  • Layer Kedua yaitu Communications yang berupa suatu komunikasi
  • Layer Ketiga Yaitu Computing yang berupa sumber daya komputasi yaitu software maupun hardware
  • Layer Keempat yaitu Applications yang merupakan pengembangan software
  • Layer Kelima yaitu Capabilities mengenai pemberdayaan semua layer dibawahnya
Bidang Yang Menerapkan Network Centric Principles
Dalam berbagai bidang sudah menggunakan penerapan dari network centric principles yang seperti kesehatan, militer dan lainnya. Yang pada prinsipnya Network Centric Principle fokus kepada keamanan dari 2 hal yaitu data dan informasi. Sehingga pada bidang militer hal ini sangat diperlukan dalam mengamankan suatu data dan informasi yang penting. Dan hal ini juga dapat diterapkan juga pada dunia media social.

Referensi
[1] I Putu Agus Eka Pratama "PPT Network Centric Principles Pertemuan 1". 2019.


Selasa, 24 April 2018

MATERI PERTEMUAN 11 (Network Operating System dan Cloud Computing)


MATERI PERTEMUAN 11
(Network Operating System dan Cloud Computing)

Nama                  : Afani Agung Nugroho
Nim                     : 1605551005
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah        : Network Operating System
Kampus         : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Kali ini akan dibahas pemahaman teori mengenai :. Network Operating System dan Cloud Computing Pertama, apasih cloud computing itu?

Apa itu Cloud Computing ?
Cloud computing secara kata bila diterjemahkan kedalam Bahasa Indonesia dapat berbunyi “Komputasi Awan”, namun sampai saat sekarang ini “mungkin” belum memiliki definisi ilmiah ataupun pengartian pokok yang jelas kecuali sebuah konsep pemahaman dalam rangka pembuatan kerangka kerja komputasi secara online lokal (LAN) maupun global (internet) dimana terdapat beragam aplikasi maupun data  dan media penyimpanan yang dapat diakses dan digunakan secara berbagi (shared service) dan bersamaan (simultaneous access) oleh para pengguna yang beragam – mulai dari perseorangan sampai kepada kelas pengguna korporasi atau perusahaan.

                                  



Lalu apa kelebihan Cloud computing?
Server konvensional akan di batasi oleh jumlah core processor, harddisk dan memory. Dengan keterbatasan fisik yang ada maka kita tidak mungkin membebani sebuah server konvensional dengan beban maksimal. Jika resource / sumber daya habis, maka biasanya kita harus menginstall ulang seluruh aplikasi dan data di server yang kapasitasnya lebih besar dan memigrasi semua aplikasi yang ada ke server yang baru. Ini akan membutuhkan waktu 1-2 hari untuk menyiapkan sebuah server baru, itupun kalau tidak ada masalah. Yang menarik dari Cloud Computing berbeda dengan server konvensional terutama.
4 Deployment Model Infrastruktur Cloud Computing
 Berikut ini merupakan 4 deployment model infrastruktur dari Cloud Computing.
1.         Private Cloud
Deployment Model Infrastruktur yang satu ini memberikan layanan infrastruktur cloud yang dapat dioperasikan hanya untuk sebuah perusahaan atau organisasi tertentu saja. Pengguna/Pelanggan yang menggunakan model infrastruktur ini biasanya organisasi dengan skala yang besar (perusahaan besar). Model Infrastruktur ini dapat dikelola sendiri oleh organisasi atau oleh pihak ke-tiga dengan lokasi on-site maupun off-site.
2.         Community Cloud
Dalam model infrastruktur cloud ini, infrastruktur digunakan secara bersama-sama oleh beberapa organisasi atau perusahaan yang memiliki kesamaan kepetingan (bisnis). Misalanya dari sisi misinya, atau tingkat keamanan yang dibutuhkan, dan lain sebagainya. Community Cloud ini merupakan “pengembangan terbatas” dari private cloud. Dan sama layaknya private cloud, infrastruktur cloud yang ada bisa di-manage atau dikelola oleh salah satu dari organisasi tersebut ataupun juga oleh pihak ke-tiga.
3.         Public Cloud
Salah satu jenis model infrastruktur cloud ini memberikan jenis layanan yang disediakan untuk umum (public) atau untuk group perusahaan. Kelebihan dari infrastruktur ini yaitu dapat dibagikan ke berbagai pengguna (user) yang berbeda. Public Cloud juga tergolong murah dan mudah untuk setup atau meng-setting layanan. Layanan ini disediakan oleh perusahaan penjual layanan cloud, seperti AWS, Google, Microsoft, Azure, dan Rackspace.
4.         Hybrid Cloud
Hybrid Cloud merupakan komposisi dari dua atau lebih infrastruktur cloud, seperti Private, Community, atau Public Cloud. Walaupun secara entitas mereka tetap berdiri sendiri-sendiri, tetapi infrastruktur tersebut dapat dihubungkan oleh suatu teknologi/mekanisme tertentu. Teknologi ini lah yang dapat memungkinkan portabilitas data dan aplikasi antar cloud tersebut. 
3 Layanan Pada Cloud Computing
Kali ini kita akan membahas tentang 3 macam layanan pada cloud computing.

1.         Software as a Service (SaaS)
Pada layanan ini, user hanya cukup memanfaatkan aplikasi yang tersedia di layanan. contoh aplikasinya Pixlr, iPiccy, 3D tin, C++ tutorial, Google doc dll. jika anda menggunakan browser Google Chrome, beberapa aplikasi tersebut dapat ditemukan di Web storenya , anda cukup menginstall aplikasi tersebut pada browser anda, atau dengan kata lain dapat digunakan secara (gratis).

2.         Platform as a Service (PaaS)
PaaS adalah model layanan yang menyediakan semua hal yang dibutuhkan untuk mengembangkan / develop sebuah aplikasi pada cloud. PaaS menawarkan fasilitas untuk mengembangkan, testing, deployment, hingga maintenance aplikasi tanpa harus membeli infrastruktur dan software environment (Operating System)
3.         Infrastructure as a Service (IaaS)
IaaS adalah sebuah model layanan dimana penyedia cloud menyediakan hardware / perangkat keras (komputer server, penyimpanan data, jaringan, dll) untuk pelanggan. Manajemen perangkat keras menjadi tanggung jawab penyedia layanan, dan pelanggan mengontrol operating system serta aplikasi yang diinstal ke dalam server.
Mengapa harus cloud computing ?

Jadi bisa di tarik kesimpulan, ada 4 manfaat mengapa harus menggunakan Cloud Computing diantaranya ialah :
1.       Semua Data Tersimpan dalam Server yang Terpusat
  Dengan menyimpan data ke dalam cloud, pengguna tidak perlu kesulitan dalam menghandle infrastruktur seperti data center, media penyimpanan, dan sebagainya karena telah disediakan secara virtual dan terpusat dalam satu server cloud.

2.         Keamanan Data Terjamin
      Penyedia layanan Cloud Computing secara keseluruhan memiliki kebijakan tertentu agar keamanan data pengguna terjaga seperti jaminan platform teknologi, jaminan ISO, data pribadi dan sebagainya.

3.         Fleksibikitas dan skalabilitas yang Tinggi
        Sistem Cloud juga menawarkan fleksibilitas dengan kemudahan mengakses data dimanapun berada dengan catatan wajib pengguna harus terhubung dengan internet. Selain itu, pengguna juga dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa harus membeli peralatan tambahan seperti hardisk.

4.       Pembayaran dalam Jangka Waktu Tertentu
         Penghematan biaya akan pembelian suatu inventaris seperti infrastruktur, hardisk, dan lain-lain akan berkurang dikarenakan pengguna akan dikenakan biaya kompensasi rutin per-bulan sesuai dengan paket layanan yang telah disepakati dengan penyedia layanan Cloud Computing. Biaya royalti atau lisesnsi software juga bisa dikurangi karena semua telah dijalankan lewat komputasi berbasis Cloud.

Referensi
[1] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 10". 2018.


Rabu, 18 April 2018

MATERI PERTEMUAN 10 (Security Management Pada Network Operating System


MATERI PERTEMUAN 10
(Security Management Pada Network Operating System)

Nama                   : Afani Agung Nugroho
Nim                     : 1605551005
Dosen                  : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus               : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.

Kali ini akan dibahas pemahaman teori mengenai : Security Management pada Network Operating System. Pertama, bagaimana sih security pada sistem operasi itu?

Keamanan sistem operasi merupakan bagian masalah pada suatu keamaan sistem komputer dengan akses secara total yang telah menjadi bagian yang dapat meningkatkan kepentingannya sendiri. Dalam jaringan komputer khususnya yang berkaitan dengan aplikasi yang melibatkan berbagai kepentingan akan banyak terjadi hal yang dapat mengganggu kestabilan koneksi jaringan komputer tersebut, baik yang berkaitan dengan hardware meliputi pengamanan fisik, sumber daya listrik maupun yang berkaitan dengan software yang meliputi sistem, konfigurasi, hak akses, dll.

         Satu hal yang perlu diingat bahwa tidak ada jaringan komputer yang benar-benar aman. Sifat dari jaringan adalah melakukan komunikasi. Setiap komunikasi dapat jatuh ke tangan orang lain dan disalahgunakan. Sistem keamanan membantu mengamankan jaringan tanpa menghalangi penggunaannya dan menempatkan antisipasi ketika jaringan berhasil ditembus.

Beberapa Jenis Gangguan Keamanan :
      Ada beberapa gangguan yang terjadi pada keamanan sistem operasi jaringan diantaranya yang paling banyak dikenal adalah:
  • Hacking, Berupa perusakan pada infrastruktur jaringan yang sudah ada, misalnya perusakan pada sistem dari suatu server
  • Phising, Berupa pemalsuan terhadap data resmi dilakukan untuk hal yang berkaitan dengan pemanfaataanya.
  • Deface, Perubahan terhadap tampilan suatu website secara illegal.
  • Carding, Pencurian data terhadap identitas perbankan seseorang, misalnya pencurian kartu kredit.
  • Sniffing, Suatu pemantauan elektronik terhadap jaringan digital untuk mengetahui password atau data lainnya. Ada beragam teknik sniffing atau juga dikenal sebagai eavesdropping, yakni: shoulder surfing (pengamatan langsung terhadap display monitor seseorang untuk memperoleh akses), dumpster diving (mengakses untuk memperoleh password dan data lainnya), digital sniffing (pengamatan elektronik terhadap jaringan untuk mengungkap password atau data lainnya).
  • Spam, Penyalahgunaan sistem pesan elektronik (termasuk media penyiaran dan sistem pengiriman digital) untuk mengirim berita iklan dan keperluan lainnya secara massal. Spam menampilkan berita secara bertubi-tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Pada akhirnya, spam dapat menimbulkan ketidaknyamanan bagi para pengguna situs web. Orang yang menciptakan spam elektronik disebut spammers.
  • Spoofing, Teknik yang digunakan untuk memperoleh akses yang tidak sah ke suatu komputer atau informasi dimana penyerang berhubungan dengan pengguna dengan berpura-pura memalsukan bahwa mereka adalah host yang dapat dipercaya.
  • SQL Injection, Jenis aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam sistem. SQL injection yaitu serangan yang mirip dengan serangan XSS dalam bahwa penyerang memanfaatkan aplikasi vektor dan juga dengan Common dalam serangan XSS.
  • DoS (Denial Of Service), Jenis serangan terhadap sebuah komputer atau server di dalam jaringan internetdengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut.
  • Social Engineering, Pemerolehan informasi atau maklumat rahasia/sensitif dengan cara menipu pemilik informasi tersebut. Social engineering umumnya dilakukan melalui telepon atau Internet. Social engineering merupakan salah satu metode yang digunakan oleh hacker untuk memperoleh informasi tentang targetnya.
Linux Security
NSA Security Enhanced Linux atau biasa dikenal dengan istilah SELinux adalah implementasi dari Flexible Mandatory access control pada arsitektur linux. SELinux. Bisa dibilang bahwa SELinux merupakan Security pelindung policy pada sistem linux, sehingga tidak sembarangan orang luar bisa mengotak-atik sistem linux kita.

                        

SELinux dapat dioperasikan dalam 3 cara yang berbeda, yaitu :

Enforcing : SELinux menolak akses berdasarkan aturan kebijakan SELinux, yaitu sebagai pedoman yang mengontrol keamanan mesin.
Permissive : SELinux tidak menolak aksesm tetapi penolakan login untuk tindakan jika berjalan dalam mode enforcing kembali.
Disabled : Fitur SELinux tidk akan diaktifkan.
Konfigurasi SELinux berada pada : /etc/selinux/config

Vulnerability (Celah Keamanan)
Vulnerability pada dunia komputer adalah suatu kelemahan program/infrastruktur yang memungkinkan terjadinya exploitasi sistem. kerentanan (vulnerability) ini terjadi akibat kesalahan dalam merancang,membuat atau mengimplementasikan sebuah sistem. Vulnerability akan digunakan oleh hacker sebagai jalan untuk masuk kedalam sistem secara ilegal. Hacker biasanya akan membuat Exploit yang desesuaikan dengan vulnerability yang telah ditemukan nya.
Setiap aplikasi (service,desktop,web base) pasti memiliki celah atau vulnerability,hanya saja belum ketauan.lambat laun akan ditemukan juga oleh hacker.,Tidak semua hacker jahat ,jika celah keamanan ditemukan oleh hacker jahat (Black Hat) kemungkinan akan digunakan untuk meng exploit system untuk dia gunakan sendiri, atau exploit tersebut akan dilelang di “deep web” dan dijual nya ke penawar tertinggi. tapi jika ditemukan oleh hacker baik (white hat) biasnaya dia akan melaporkan celah keamanan tersebut ke developer aplikasi tesebut agar diperbaiki. untuk perusahaan ternama seperti facebook,google,microsoft dll, mereka akan memberi imbalan yang lumayan besar untuk penemu bug /vulnerabillity didalam sistem nya.

Membuat NOS semakin aman
Beberapa cara yang dapat diterapkan untuk membuat NOS tetap aman adalah :
  • Hardening (server) yang secara umum berarti melakukan proses pengerasan suatu lapisan yang lembut sehingga lapisan tersebut menjadi lebih kuat dan lebih tahan terhadap kerusakan. 
  • Patching, yaitu melakukan perbaikan terhadap celah keamanan yang ada. Ini dilakukan dengan cara mendeteksi kerusakan yang ada kemudian melakukan perbaikan.
  • Open Source, yaitu keterbukaan sumber kode yang memungkinkan untuk dilakukan perbaikan segera setelah dilihat adanya celah pada logika coding,
Yang termasuk didalam NOS Security Management  adalah sebagai berikut.
  • Intrusion Detection System, yaitu metode yang dapat digunakan untuk mendeteksi aktivitas yang mencurigakan dalam sebuah sistem atau jaringan.
  • Kontrol Akses, yaitu teknik keamanan yang dapat dirancang untuk mengatur siapa atau jadi apa yang dilakukan penggunaan sumber daya dalam lingkungan komputasi.
  • Risk Management dan IT Risk Management, yaitu mengidentifikasi resiko termasuk ancaman untuk melindungi sistem IT dan data didalamnya.
  • Prosedur Keamanan, yaitu keamanan dalam operasi dimana mengatur dan mengelola sistem keamanan, juga termasuk prosedur setelah serangan.
  • Manajemen Pengguna, yaitu pengelompokkan client satu dan kelompok lainnya memiliki hak akses dalam jaringan yang berbeda.
  • Manajemen Hak Akses, yaitu pembagian hak akses yang ada sesuai dengan kebijakan dari pihak manajemen instansi terkait.
  • Manajemen Memori, yaitu mengatur kinerja memori dalam sebuah sistem komputer melalui sistem operasi
  • Sumber Kode, keterbukaan sumber kode akan memudahkan pengembangan di sisi software
  • Simulasi Penyerangan, simulasi penyerangan dapat dilakukan dengan berbasis honeynet dan honeypot.
Referensi
[1] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 10". 2018.


Rabu, 11 April 2018

MATERI PERTEMUAN 8 (Kernel & Kernel Linux)


MATERI PERTEMUAN 8
(Kernel dan Kernel Linux)

Nama               : Afani Agung Nugroho
Nim                 : 1605551005
Mata Kuliah    : Network Operating System
Dosen              : I Putu Agus Eka Pratama ST.,MT.
Kampus           : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana

Kali ini akan dibahas pemahaman teori mengenai : Kernel-kernel yang ada pada Linux yang mencakup pengertian kernel, fungsi kernel, kernel linux.

Kernel
Kernel adalah sebuah perangkat lunak yang membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras, yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses-proses yang sedang berjalan, pengaturan file-file, input-output terhadap dan dari suatu device dan masih banyak lagi fungsi tambahan yang lainnya. Intinya adalah kernel merupakan suatu penghubung (antara software dan hardware).
Fungsi kernel :
  1. Melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.
  2. Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
  3. Membantu eksekusi aplikasi dan mendukungnya dengan fitur abstraksi hardware.
Kategori Kernel
Di bawah ini penjelasan mengenai 4 kategori kernel:
  1. Kernel monolitik yaitu kernel yang mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
  2. Kernel Microkernel adalah kernel yang menyediakan hanya sekumpulan kecil dari abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut dengan server untuk menyediakan fungsi-fungsi lainnya.
  3. Kernel Hybrid (modifikasi dari microkernel) adalah kernel yang persis atau mirip dengan microkernel, akan tetapi ia juga memasukkan beberapa kode atau tambahan kode di dalam ruangan kernel suapaya ia menjadi lebih cepat atau untuk meningkatkan performanya.
  4. Kernel Exokernel adalah kernel yang tidak menyediakan sama sekali abstraksi perangkat keras, akan tetapi ia menyediakan sekumpulan library yang menyediakan fungsi akses ke perangkat keras (hardware) secara langsung atau hampir-hampir langsung.
Kernel Linux
Kernel Linux adalah kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel ini merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakan lisensi GNU General Public License (GPL), dan dikembangkan oleh pemrogram di seluruh dunia. Linux merupakan contoh utama dari perangkat lunak bebas dan sumber terbuka.


Kernel Linux pada awalnya dibayangkan dan kemudian dibuat oleh murid Ilmu Komputer berkebangsaan Finlandia, Linus Torvalds pada tahun 1991.Pengembang dan Pengguna Linux bertambah dengan cepat, lalu mereka mengadaptasi kode dari proyek-proyek software gratis untuk digunakan sebagai Sistem Operasi baru. Linux kernel telah menerima kontribusi dari ribuan programmer. Banyak Distribusi Linux telah dirilis berdasarkan Kernel Linux.

Apa yang di lakukan Kernel ?
Fungsinya seperti layaknya sistem operasi, menangani task switching dalam multitasking, menangani permintaan membaca atau menulis peralatan disk, melakukan tugas-tugas network serta mengatur penggunaan memori.
Kernel membuat layanan yang ada didalamnya, tersedia untuk Software yang sedang berjalan, melalui sekumpulan besar entry point yang secara teknis, Kernel menggunakan system call read and writer unutk memberikan abstraksi Hardware pada Komputer anda.

Praktek Membedah Kernel Linux
            Saya mencoba membuka source code kernel linux versi awal. Berikut ini merupakan beberapa direktori yang akan coba saya jelaskan. 

1. Direktori boot 
File yang terdapat pada direktori ini ada 2 yaitu boot.s dan head.s. boot.s merupakan file yang berfungsi untuk menjalankan startup BIOS. head.s merupakan file yang berfungsi sebagai kode startup 32-bit pada linux. 

2. Direktori lib
File yang terdapat pada direktori ini ada 11 yaitu _exit.c, close.c, ctype.c, dup.c, errno.c, execve.c, open.c, setsid.c, string.c, wait.c, dan write.c.
- File _exit.c ini menjalan fungsi _exit(int exit_code) 
- File close.c ini menjalankan fungsi syscall1(int,close,int,fd)
- File dup.c ini menjalankan fungsi yang sama dengan file close.c namun parameternya berbeda yaitu syscall1(int,dup,int,fd)
- File ctype.c ini menggunakan library ctype.h yang berfungsi untuk menguji dan mengkonversi karakter.
- File execve.c ini menjalankan fungsi _syscall3(int,execve,const char*, file, char **, argv, char **, envp)
- File open.c ini menggunakan library stdarg. yang berfungsi mengakses berbagai jumlah argumen dilewatkan ke fungsi. File ini menjalankan fungsi open.
- File setsid.c ini menjalankan fungsi _syscall0(pid_t,setsid)
- File string.c ini menggunakan library string.h dan mendeklarasikan fungsi extern, inline, dan __LIBRARY__ 
- File wait.c ini menggunakan library sys/wait.h dan menjalankan fungsi wait.
- File write.c ini menjalankan fungsi _syscall3(int,write,intfd,const char*, buf, off_t, count)

Referensi 
[1] I Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 8". 2018.