Jumat, 08 Mei 2020

Fungsi-Fungsi Dasar Kernel Linux

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST., MT.


Fungsi-Fungsi Dasar Kernel Linux

1. Free
Perintah ini berguna untuk melihat berapa banyak memori yang ada, yang sedang digunakan, yang tersisa, serta memory swap.
fungsi perintah free
free

2. lscpu
Perintah ini digunakan untuk menampilkan informasi CPU yang digunakan.
perintah lscpu
lscpu

3. lsb_release -a
Perintah ini digunakan untuk menampilkan versi dari sistem operasi yang sedang digunakan. Terlihat diatas bahwa versi Ubuntu yang saya gunakan adalah versi Ubuntu 18.04.4 LTS (Long Term Support).
fungsi lsb_release -a
lsb_release -a

4. sudo nano /etc/apt/sources.list
Untuk mengubah ke repositori lokal, edit file sources.list dengan mengetik perintah : sudo nano /etc/apt/sources.list
edit file sources.list
Edit file sources.list

Kemudian, ubah alamatnya menjadi http://kambing.ui.ac.id/ubuntu/.
File sources.list

5. sudo apt update
Perintah ini digunakan untuk mengetahui apakah ada update versi terbaru dari aplikasi atau program yang terinstall. Apabila ada versi terbaru, apt update akan memberikan informasi tentang jumlah komponen yang harus diupdate.
sudo apt update

6. sudo apt upgrade
Perintah ini digunakan untuk menginstall versi terbaru dari semua paket yang terinstall saat ini sesuai dengan sumber-sumber yang ada pada file sources.list.
sudo apt upgrade

7. sudo apt dist-upgrade
Perintah ini selain memiliki fungsi upgrade, perintah ini akan memperbaharui suatu aplikasi hingga ke seluruh dependencynya, jika perlu apliaksi yang lama dicopot dan dipasangkan aplikasi yang baru.
sudo apt dist-upgrade
8. sudo apt autoremove
Perintah ini akan menghapus package yang tidak memiliki dependencies.
sudo apt autoremove

9. sudo apt install update-manager-core
Perintah ini digunakan untuk menginstall paket update-manager-core.
sudo apt install update-manager-core

10. sudo do-release-upgrade
Perintah ini digunakan untuk mengupgrade versi Ubuntu yang sedang digunakan.
sudo do-release-upgrade

Kemudian, ketik kembali perintah lsb_release -a untuk mengecek versi dari Ubuntu apakah sudah berhasil terupgrade atau belum.
Ubuntu Versi Terbaru

Dan file sources.list akan ikut berubah mengikuti repositori dari versi yang terbaru.
File sources.list terbaru

11. df -h
Perintah ini berguna untuk menampilkan partisi-partisi harddisk yang digunakan.
df -h

12. fdisk -l
Perintah ini digunakan untuk melihat partisi harddisk serta perangkat yang sedang terpasang.
fdisk -l

Kemudan, coba colokkan usb flashdisk dan akan dibaca sebagai sdb.
fdsik -l

13. lsblk
Perintah ini sama dengan sebelumnya, tetapi ditampilkan dalam bentuk list beserta dengan bloknya.
lsblk

14. uname -a
Perintah ini berguna untuk melihat versi kernel yang terpasang pada Linux yang digunakan.
uname -a

15. lspci
Perintah ini digunakan untuk menampilkan list PCI yang terinstall.
lspci

16. mount | column -t
Perintah untuk mengetahui system dan file system mana saja yang terkait pada sistem operasi yang terinstall.
mount | column -t

17. lsscsi
Perintah ini berguna untuk menampilkan list dari perangkat SCSI (Small Computer System Interface).
lsscsi

18. lsusb
Perintah untuk mengetahui detail dari USB Bus, Controller, dan perangkat terkait.
lsusb

19. sudo lshw atau sudo lshw -short
Perintah ini digunakan untuk menampilkan list hardware komputer yang digunakan.
sudo lshw

Rabu, 29 April 2020

NOS dan Cloud Computing

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST., MT.


Apa itu Cloud Computing?

Cloud computing adalah sebuah kombinasi pengembangan teknologi dan pemanfaatan jaringan internet yang berfugsi untuk menyimpan berbagai file dalam suatu basis data. Pada teknologi cloud computing ini, data disimpan di server tertentu, begitu juga dengan software atau aplikasi lainnya sehingga memungkinkan satu komputer server untuk  membagikannya dengan komputer lain yang terhubung.

Menurut NIST (National Institute of Standard and Technology), didalam draftnya yang berjudul The  NIST Definition of Cloud Computing, Peer Meel and Timothy Grance  mendefinisikan Cloud Computing sebagai sebuah model yang memungkinkan adanya penggunaan sumber daya (resource) secara bersama - sama dan mudah, menyediakan jaringan akses dimana-mana, dapat  dikonfigurasi, dan layanan yang digunakan sesuai keperluan. Hal ini berarti layanan pada Cloud Computing dapat disediakan dengan cepat dan meminimalisir interaksi dengan penyedia layanan Cloud Computing.

Model Deployment Cloud Computing

model cloud computing
Model Deployment Cloud Computing

Model penyebaran dalam Cloud computing dibagi menjadi empat, yaitu :
1. Public Cloud : Adalah layanan Cloud Computing yang disediakan untuk masyarakat umum.
2. Private Cloud : Adalah layanan Cloud computing yang disediakan untuk memenuhi kebutuhan internal dari organisasi/perusahaan.
3. Hybird Cloud : Adalah gabungan dari layanan Public cloud dan Private cloud.
4. Comunnity Cloud : Adalah layanan Cloud computing yang dibangun eksklusif untuk komunitas tertentu. 

Model Layanan Cloud Computing

model layanan cloud computing
Model Layanan Cloud Computing

Model layanan Cloud computing dibagi menjadi tiga, yaitu :
1. Software as Service (SaaS)
SaaS adalah layanan Cloud computing berupa perangkat lunak (software) dimana user bisa langsung menggunakannya tanpa harus tahu teknis penyimpanan dan pengolahan datanya. Contohnya adalah Google Spredsheet, Gmail, Yahoo Mail, Facebook, dan sebagainya.
2. Platform as Service (PaaS)
PaaS adalah layanan Cloud computing berupa platform siap pakai. Artinya pengguna bisa menyewa paltform tersebut untuk keperluan membuat aplikasi atau sejenisnya. Contohnya adalah IBM Bluemix.
3. Infrastructure as Service (IaaS)
IaaS adalah layanan Cloud computing berupa infrastruktut IT yang siap digunakan. Didalamnya sudah mencakup CPU, penyimpanan, RAM, bandwidth, dan konfigurasi lain sesuai permintaan pengguna.

Mengapa Harus Cloud?

Berikut adalah beberapa alasan mengapa harus menggunakan cloud :
a. Keamanan (Secure)
b. Kehandalan (Reliable)
c. Hemat, sesuai dengan kebutuhan
d. Mudah digunakan
e. Mudah disesuaikan dengan kebutuhan pengguna
f. Dukungan yang berlimpah (Open Source, Enterprise, Vendor)

Security dan Security Management Pada NOS

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST., MT.



Apa Itu Network Security?

Network security adalah keamanan jaringan yang terdiri dari kebijakan dan praktik agar bisa mencegah atau memantau akses yang tidak sah, penyalahgunaan akses, maupun penolakan yang terjadi di jaringan komputer. Network security memiliki konsep yang biasa disebut dengan CIA yang merupakan singkatan dari Confidentiality (Kerahasiaan), Integrity (Integritas), dan Availability (Ketersediaan). 

Bentuk Ancaman Keamanan Jaringan

Ancaman keamanan pada jaringan biasanya terjadi pada perangkat lunak jaringan, seperti data, dokumen, database, aplikasi, dan lain-lain. Ancaman seperti itu yang paling rawan terjadi, sehingga kita harus lebih memperhatikan lagi tingkat keamanan dalam jaringan kita. Berikut adalah contoh dari ancaman keamanan jaringan tersebut :
1. DoS Attack (Denial of Service Attack)
DoS adalah jenis serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara mengabiskan sumber daya (resource) yang dimiliki oleh komputer tersebut, sehingga komputer tersebut tidak dapat menjalankan fungsinya dengan benar. Akibatnya, pengguna lain tidak dapat mengakses layanan dari komputer yang terkena serangan DoS tersebut.
2. DDoS (Distributed Denial Of Service)
DDoS adalah salah satu jenis serangan DoS yang menggunakan banyak host penyerang baik itu menggunakan komputer yang memang digunakan untuk melakukan penyerangan atau komputer yang dipaksa menjadi zombie untuk menyerang satu buah host target dalam sebuah jaringan.
3. SQL Injection
SQL Injection merupakan jenis hacking pada keamanan komputer dimana seorang penyerang bisa mendapatkan hak akses ke basis data di dalam sistem.
4. Deface
Deface adalah serangan pada perubahan tampilan dengan cara mengganti atau menyisipkan file pada server. Cara ini dapat dilakukan karena terdapat celah pada sistem security yang ada di dalam jaringan tersebut.
5. Phising
Phising adalah suatu metode untuk melakukan penipuan dengan mengelabui target dengan tujuan untuk mencuri akun target. Phising mencuri informasi penting dari suatu akun dan mengambil alih akun tersebut. Phising biasanya sering digunakan pada email, dimana penyebaran pada email dilakukan untuk memberikan informasi yang mengarah ke halaman palsu untuk menjebak korban.
6. Packet Sniffer
Packet Sniffer adalah serangan dengan menangkap paket yang lewat dalam sebuah jaringan.

SELinux

SELinux atau Security Enhanced Linux adalah salah satu peningkatan keamanan dari sistem operasi Linux. Keamanan ini berguna untuk membedakan antara user root dengan user biasa yang sifatnya terbatas. Security ini juga yang mengatur file permission, write, executable, dan read. SELinux memiliki 3 mode, yaitu :
1. Enforcing : Merupakan setting keamanan yang paling ketat.
2. Permissive : Setting keamanan yang sedikit longgar.
3. Disabled : Setting untuk meamatikan SELinux.

Berikut adalah arsitektur dari SELinux :
arsitektur selinux
Arsitektur SELinux

Security Management Pada NOS

Untuk mencapai keamanan yang baik pada sistem operasi jaringan (NOS), maka diperlukan manajemen yang baik pula. Manajemen yang dimaksud adalah sebagai berikut:
1. Intrusion Detection System : Intrusion Detection System adalah sebuah sistem yang melakukan pengawasan terhadap traffic jaringan dan pengawasan terhadap kegiatan-kegiatan yang mencurigakan di dalam sebuah jaringan.
2. Akses Kontrol : Sebuah sistem operasi jaringan yang baik harus menyediakan akses kontrol yang baik dan jelas kepada para penggunanya.
3. Keamanan di Level Fisik : Selain keamanan pada perangkat lunak atau sistem, keamanan pada level fisik juga harus diperhatikan. Perangkat keras yang digunakan harus berada pada sebuah ruangan yang memiliki suhu ideal untuk kebutuhan perangkat keras tersebut, sehingga tidak terjadi overheat. Tempat keberadaan perangkat keras ini juga harus diperhatikan agar tidak sembarangan orang bisa masuk untuk mencegah hal-hal yang tidak diinginkan.
4. Risk Management dan IT Risk Management : Segala sesuatunya pasti ada resikonya. Management resiko perlu dilakukan untuk mengantisipasi resiko yang akan datang kemudian hari atau setidaknya meminimalisir akibat dari resiko tersebut.
5. Prosedur Keamanan : Perlu adanya prosedur keamanan agar segala sesuatu yang dilakukan ada standarnya dan menghindari hal-hal yang tidak diinginkan
6. Manajemen Pengguna : Memanajemen pengguna yang dapat mengakses sistem operasi jaringan tersebut.
7. Manajemen Hak Akses : Memanajemen hak akses masing-masing pengguna, sehingga tidak terjadi tindakan yang semena-mena.
8. Manajemen Memori : Memanajemen memori pada sistem operasi sesuai kebutuhannya.
9. Sumber Kode : Maksudnya adalah keterbukaan sumber kode pada sistem operasi yang digunakan, karena sebagian besar sistem operasi yang digunakan jaringan adalah bersifat open source.
10. Simulasi Penyerangan Berbasis Honeynet dan Honeypot : Honeypot bertujuan untuk mendeteksi serangan yang dilakukan oleh hacker dengan mengecoh hacker tersebut dengan fasilitas server bohongan. Sedangkan honeynet adalah sebuah arsitektur yang terdiri dari beberapa honeypot yang digunakan untuk merekam aktivitas yang dilakukan oleh hacker sehingga bisa digunakan untuk acuan agar meminimalisir terjadinya serangan yang serupa.

Selasa, 28 April 2020

NOS Pada Server

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST., MT.



NOS Pada Server



Apa itu Server?

Web Server Map
Web Server Engine Map
Sumber : https://w3techs.com/pictures/web_server_map_1600_1704.png

Server adalah sebuah sistem komputer yang menyediakan layanan di dalam jaringan komputer, intraner, maupun internet. Terdapat berbagai macam jenis server tergantung dengan fungsinya masing-masing, seperti Mail server, Cloud server, Web server, DNS server, Database server, DHCP server, dan masih banyak lagi yang lainnya. Ada beberapa hal yang diutamakan dalam pemilihan server yang baik, yaitu :

  1. Keamanan
  2. Kemudahan dalam maintenance
  3. Irit konsumsi sumber daya komputasi
  4. Handal


NOS Untuk Server

Ada berbagai macam sistem operasi yang dapat digunakan sebagai NOS untuk server, seperti Linux dan kernel Linux dengan semua distribusinya (distro),  Free BSD dan semua varian BSD (Open BSD, Dragon Fly BSD, PC BSD, dan lain-lain), Sun Solaris (Sun Microsystem), UNIX, MINIX, IRIX, termasuk Windows server.

Lalu untuk distro Linux, manakah yang paling populer digunakan untuk NOS? Anda dapat melihatnya pada gambar di bawah.
Top 10 Distro Linux Untuk NOS
Sumber : https://jamesonricks.com/wp-content/uploads/2015/03/Top-10-Linux-Server-OS.png

Mengapa Linux dan BSD?

Berikut adalah beberapa alasan mengapa harus memilih Linux atau BSD untuk keperluan server :
  1. Lebih aman
  2. Dukungan komunitas dan enterprise
  3. Bersifat open source
  4. Memiliki kekuatan dari sisi software (Minim bugs)

Pemilihan, Manajemen, Konfigurasi, Maintenance NOS Untuk Server

  1. Pemilihan : Pertimbangan keamanan, kenyamanan, dukungan (komunitas, enterprise), budget/biaya, kebutuhan
  2. Manajemen : Manajemen pengguna, hak akses, hak kepemilikan (file, folder), memori, penyimpanan.
  3. Konfigurasi : Segalanya adalah file, sebagian besar berupa file .conf (/etc/resolv.conf)
  4. Maintenance : Dilakukan secara berkala (per hari, per minggu, atau per bulan)

Senin, 27 April 2020

Kernel dan Kernel Linux

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST., MT.



Kernel dan Kernel Linux




Apa itu Kernel?

Kernel adalah sebuah program yang merupakan inti dari sebuah sistem operasi. Kernel memiliki kontrol penuh atas segala sesuatu yang berlangsung pada sistem. Kernel berbeda dengan shell. Shell adalah sebuah program yang pada umumnya berupa CLI, dimana shell ini berinteraksi langsung dengan pengguna dan merupakan bagian terluar dari sebuah sistem operasi. Sedangkan kernel tidak berinteraksi langsung dengan pengguna, melainkan dengan shell itu sendiri dan program-program lain, juga dengan perangkat keras pada sistem termasuk prosesor (CPU), memory, dan disk drive.

Kernel merupakan suatu perangkat lunak yang membuat komunikasi atau mediator antara aplikasi dan perangkat keras, yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses yang sedang berjalan, pengaturan file, pengaturan input-output, dan masih banyak lagi yang lainnya. Jadi, intinya kernel adalah penghubung antara software dan hardware.

Apa itu Kernel Linux?

Kernel Linux

Kernel Linux adalah kernel yang digunakan dalam sistem operasi Linux. Kernel Linux diciptakan oleh Linus Torvald. 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 open source.

Praktek Kernel Linux

Pada praktek kali ini, saya akan coba untuk mendownload lalu membuka source code dari kernel Linux versi awal. Langkah pertama adalah mendownload kernel Linux versi awal yang ada pada halaman berikut :

Setelah berhasil di download, ekstrak file tersebut sehingga akan menghasilkan folder linux seperti gambar di bawah ini.
Hasil Ekstrak

Kemudian, buka folder tersebut maka di dalamnya akan ada folder-folder terkait kernel Linux versi awal.
Folder Kernel Linux Versi Awal

Saya akan mencoba membuka folder kernel, kemudian saya membuka file keyboard.c. File ini berfungsi sebagai keyboard interrupt handler.
File keyboard.c

File hd.c berfungsi sebagai hard disk interrupt handler, hard disk I/O.
File hd.c

Minggu, 08 Maret 2020

Web Server dan Multiprocessing

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST MT


WEB SERVER DAN MULTIPROCESSING


WEB SERVER


1.   Menjalankan Xampp













2.   Sebelum
2.1.  Top













2.2.  Htop













3.   Sesudah
3.1.      Top













3.2.      Htop

               










          Setelah menjalankan aplikasi xampp, terlihat di tab user ada keterangan mysql yang berarti aplikasi xampp sudah berjalan. Sedangkan pada saat aplikasi xampp belum dijalankan, pada tab user tidak ada keterangan mysql.


MULTIPROCESSING


1.   Sebelum
1.1.  Top














1.2.  Htop













2.   Sesudah
2.1.  Top













2.2.  Htop

                 










             Setelah menjalankan banyak aplikasi, penggunaan CPU menjadi 100% dan penggunaan memori sebesar 1,56G dari total 1,92G. Sedangkan sebelum membuka banyak aplikasi, penggunaan CPU hanya 3% dan penggunaan memorinya sebesar 1,13G dari 1,92G.



Minggu, 01 Maret 2020

Penjelasan System Log Pada Linux

Nama/NIM : Ngurah Doddy Pratama/1805551022
Prodi/Fakultas/Universitas : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST MT



PENJELASAN SYSTEM LOG PADA LINUX


          Untuk melihat sistem log pada debian, ketikkan perintah cat /var/log/syslog seperti dibawah :


          Setelah mengetikkan perintah seperti diatas, akan muncul log file yang sangat banyak. Gambar dibawah merupakan sedikit contoh dari sistem log yang muncul. Berikut adalah penjelasannya :




   








     Berdasarkan gambar diatas, terdapat banyak sekali sistem log file yang muncul. terdapat informasi mengenai waktu log sistem itu terjadi (Mar 1 20:50:09) beserta nama usernya yaitu ngurahdoddy. Dalam baris log tersebut, terdapat kata DEBUG. DEBUG merupakan salah satu nama level dalam sistem log file yang merepresentasikan pesan-pesan yang berisi informasi yang umumnya digunakan ketika men-debug sebuah program. Pada gambar kedua, terdapat kata WARNING yang sangat mencolok. WARNING tersebut berisikan pesan-pesan peringatan.
     Selain DEBUG dan WARNING, masih banyak nama-nama level dari sistem log file pada debian, seperti EMERG yang artinya kondisi darurat, biasanya dibroadcast ke semua pengguna, ALERT artinya sebuah kondisi yang harus segera mungkin diperbaiki, CRIT artinya kondisi kritis, misalnya kesalahan pada perangkat keras, ERR yang artinya kesalahan-kesalahan yang terjadi, dan masih banyak lagi yang lainnya.