Difference between revisions of "OS: PRAKTIKUM — Integrated OS Lab"

From OnnoWiki
Jump to navigation Jump to search
 
Line 111: Line 111:
 
  logread -f
 
  logread -f
 
  iptables -L -v -n
 
  iptables -L -v -n
Observasi di Android
+
===Observasi di Android===
 
  adb shell ps -A | head
 
  adb shell ps -A | head
 
  adb shell getenforce
 
  adb shell getenforce
 
Perhatikan perbedaan model isolasi dan policy di tiap OS.
 
Perhatikan perbedaan model isolasi dan policy di tiap OS.
Keamanan Berlapis (Defense in Depth)
+
==Keamanan Berlapis (Defense in Depth)==
Android: sandbox, UID isolation, SELinux enforcing
+
* Android: sandbox, UID isolation, SELinux enforcing
OpenWRT: firewall, routing policy, NAT
+
* OpenWRT: firewall, routing policy, NAT
Ubuntu: UFW, service hardening
+
* Ubuntu: UFW, service hardening
 
Contoh kebijakan:
 
Contoh kebijakan:
Android → Ubuntu: allow HTTP (8080)
+
* Android → Ubuntu: allow HTTP (8080)
Android → Ubuntu: deny SSH (22)
+
* Android → Ubuntu: deny SSH (22)
 +
 
 
Implementasi (Ubuntu):
 
Implementasi (Ubuntu):
sudo ufw deny from 192.168.100.0/24 to any port 22
+
sudo ufw deny from 192.168.100.0/24 to any port 22
Failure Scenarios (Wajib Dicoba)
+
 
Matikan firewall OpenWRT → amati perubahan akses
+
==Failure Scenarios (Wajib Dicoba)==
Putuskan routing → Android gagal akses Ubuntu
+
* Matikan firewall OpenWRT → amati perubahan akses
Hentikan service Ubuntu → Android connection refused
+
* Putuskan routing → Android gagal akses Ubuntu
Belajar OS terbaik datang dari kegagalan yang terkontrol.
+
* Hentikan service Ubuntu → Android connection refused
 +
* Belajar OS terbaik datang dari kegagalan yang terkontrol.
  
 
==Refleksi Akademik (OBE-Oriented)==
 
==Refleksi Akademik (OBE-Oriented)==

Latest revision as of 13:13, 15 February 2026

Tujuan Praktikum

Setelah menyelesaikan praktikum ini, mahasiswa mampu:

  • Mengorkestrasi tiga OS berbeda dalam satu sistem terintegrasi
  • Mendesain topologi jaringan yang realistis dan aman
  • Mengkonfigurasi routing & firewall berbasis kernel
  • Menyajikan layanan dari Ubuntu dan mengaksesnya dari Android
  • Menganalisis alur data lintas OS (kernel ↔ user space ↔ jaringan)

Filosofi inti:

Di dunia nyata, sistem selalu multi-OS. Nilai engineer terlihat dari kemampuan mengintegrasikan, bukan sekadar mengonfigurasi satu OS.

Gambaran Arsitektur Lab

[ Android x86 ]  <-- client (untrusted)
        |
        |  TCP/IP
        |
[ OpenWRT x86 ]  <-- router / firewall / policy
        |
        |  routing + NAT
        |
[ Ubuntu Server 24.04 ]  <-- controller / services

Peran kunci:

  • Ubuntu: controller (server, monitoring, orchestration)
  • OpenWRT: router (routing, firewall, policy enforcement)
  • Android: client (end-user system, sandboxed)

Persiapan Lingkungan

Spesifikasi & Prasyarat

  • Host: Ubuntu Desktop 24.04
  • Hypervisor: VirtualBox (+ GNS3 opsional)
  • VM:
    • Ubuntu Server 24.04 (2–4 CPU, 4–8 GB RAM)
    • OpenWRT x86 (1 CPU, 256–512 MB RAM)
    • Android x86 (2 CPU, 2–4 GB RAM)
  • Jaringan:
    • Internal Network untuk lab
    • NAT opsional untuk internet
    • Gunakan snapshot VM sebelum mulai.

Konfigurasi OpenWRT sebagai Router

IP Addressing (Deterministik)

OpenWRT (br-lan): 192.168.100.1/24

Cek:

ip addr
ip route

DHCP (Opsional, Disarankan)

Pastikan DHCP aktif agar Android mudah mendapat IP.

uci show dhcp
/etc/init.d/dnsmasq restart

Firewall Dasar (Zona)

Konsep security zone:

  • LAN: Android
  • WAN/CTRL: Ubuntu

Cek aturan:

uci show firewall

Firewall OpenWRT dieksekusi oleh kernel networking stack—bukan sekadar aplikasi.

Ubuntu sebagai Controller

Static IP Ubuntu

Set 192.168.100.10/24, gateway 192.168.100.1.

sudo nano /etc/netplan/01-lab.yaml
sudo netplan apply

Verifikasi:

ip a
ip route
ping 192.168.100.1

Layanan Controller (Contoh Nyata)

Web server ringan untuk observasi lintas OS:

sudo apt update
sudo apt install -y python3
python3 -m http.server 8080

Buka port (UFW):

sudo ufw allow 8080
sudo ufw enable

Android sebagai Client

Koneksi Jaringan

Pastikan Android mendapat IP 192.168.100.x.

Cek (ADB):

adb shell ip addr
adb shell ip route

Uji Konektivitas

adb shell ping -c 3 192.168.100.1
adb shell ping -c 3 192.168.100.10

Akses Layanan Ubuntu

Dari browser Android:

http://192.168.100.10:8080

Observasi lintas OS:

Android app → Android framework → kernel Android → TCP/IP → OpenWRT (routing/firewall) → Ubuntu (service).

Integrasi & Observasi Sistem

Monitoring dari Ubuntu

ss -tulpen
ip -s link
journalctl -f

Monitoring di OpenWRT

logread -f
iptables -L -v -n

Observasi di Android

adb shell ps -A | head
adb shell getenforce

Perhatikan perbedaan model isolasi dan policy di tiap OS.

Keamanan Berlapis (Defense in Depth)

  • Android: sandbox, UID isolation, SELinux enforcing
  • OpenWRT: firewall, routing policy, NAT
  • Ubuntu: UFW, service hardening

Contoh kebijakan:

  • Android → Ubuntu: allow HTTP (8080)
  • Android → Ubuntu: deny SSH (22)

Implementasi (Ubuntu):

sudo ufw deny from 192.168.100.0/24 to any port 22

Failure Scenarios (Wajib Dicoba)

  • Matikan firewall OpenWRT → amati perubahan akses
  • Putuskan routing → Android gagal akses Ubuntu
  • Hentikan service Ubuntu → Android connection refused
  • Belajar OS terbaik datang dari kegagalan yang terkontrol.

Refleksi Akademik (OBE-Oriented)

Mahasiswa kini mampu:

  • Mendesain sistem multi-OS
  • Mengintegrasikan jaringan lintas OS
  • Menerapkan keamanan berlapis
  • Menganalisis alur data lintas kernel & user space
  • Berpikir sebagai system architect


Penutup

Praktikum ini menegaskan transformasi akhir:

  • dari OS user → OS builder → system integrator.
  • Ubuntu, OpenWRT, dan Android kini bukan entitas terpisah, melainkan satu sistem komputasi hidup—seperti yang ditemui di data center, edge computing, dan IoT dunia nyata.
  • Jika Anda menuntaskan praktikum ini, Anda tidak hanya memahami sistem operasi—Anda memahami sistem terintegrasi.


Pranala Menarik