ABDURROZAK
ABDURROZAK.MY.ID // SERVER ADMIN TKJ

SERVER ADMIN

SIMULATOR MANAJEMEN SERVER - FILE, SHELL, INFO, AUDIT - 100% SANDBOX

STATUS: ONLINE XP: 0/480 PERINTAH: 0 KUIS TERBAIK: - MODE: SANDBOX
MODUL TOOL
ABDURROZAK.MY.ID // SERVER ADMIN TKJ

VIRTUAL SHELL

admin@srv-tkj01 - SIMULASI - TANPA KONEKSI NYATA

PANEL MISI

LANGKAH DICEK OTOMATIS SAAT KAMU MENGETIK

FILE MANAGER

BROWSE VIRTUAL FILESYSTEM - KLIK NAMA FILE UNTUK MELIHAT ISI

/var/www

SYSTEM INFO

DATA VIRTUAL - SEMUA DIHITUNG LOKAL DI BROWSER

PROSES BERJALAN
CRONTAB

NETWORK TOOLS

INTERFACE, KONEKSI, ROUTE, ARP - TAMPILAN ALA NETSTAT/IP

INTERFACE
KONEKSI AKTIF (NETSTAT)
ROUTING TABLE
ARP TABLE

SECURITY AUDIT

8 CHECK OTOMATIS - IDENTIFIKASI KELEMAHAN VIRTUAL SERVER

DAFTAR MISI

8 MISI - TOTAL 480 XP. ALUR: INVENTORY SAMPAI AUDIT KEAMANAN PENUH.

KUIS SERVER

10 SOAL ACAK - 15 DETIK PER SOAL - TOMBOL 1-4 UNTUK MENJAWAB

UJI OTAK SYSADMIN
10 SOAL ACAK DARI 32 BANK SOAL: SERVER & FILE, SHELL, JARINGAN, KEAMANAN, PROSES, BEST PRACTICE. TIMER 15 DETIK - HABIS WAKTU DIHITUNG SALAH.
SKOR TERBAIK: - RONDE DIMAINKAN: 0
GELAR: -REKOR BARU!
0
DARI 10 SOAL
BENAR-
SALAH-
STREAK TERBAIK-
REKOR-
-

MATERI SERVER ADMIN

8 MODUL - KLIK UNTUK MEMBUKA.

Remote management = mengendalikan server dari lokasi lain melalui jaringan. Tiga pendekatan utama yang wajib kamu pahami:

METODEPORTKEUNGGULANRISIKO
SSH22Terenkripsi, standar industri, CLI penuhBrute force jika password lemah
WEB PANEL80/443GUI ramah pemula (cPanel, Webmin, Cockpit)Attack surface besar - wajib HTTPS
WEB SHELL80/443Akses cepat via HTTPSANGAT BAHAYA - sering dipakai penyerang

Web shell seperti b374k, WSO, dan China Chopper adalah script (biasanya PHP) yang diunggah ke server dan memberikan akses file + command execution melalui browser. Mereka adalah pisau bermata dua: admin bisa memakainya untuk troubleshooting cepat, tetapi penyerang memakainya untuk mempertahankan akses setelah eksploitasi awal.

Cara kerja web shell: 1) file .php diunggah via celah (upload form, CMS rentan, LFI); 2) file itu berisi kode yang menerima perintah dari parameter URL/POST; 3) perintah dieksekusi via shell_exec(), system(), atau popen(); 4) hasil dikirim balik ke browser penyerang.

Kenapa tool ini adalah SIMULASI: semua yang kamu lihat di sini berjalan 100% di browser JavaScript - tidak ada satu byte pun yang dikirim ke server mana pun. Virtual filesystem dan virtual shell adalah model data di memori. Ini sama seperti trainer Linux sebelumnya: melatih pola pikir tanpa risiko.

Deteksi web shell di server nyata: cari file PHP yang memanggil eval(), base64_decode(), gzinflate(), atau shell_exec(); pantau file PHP baru di folder upload; periksa log akses untuk request dengan parameter aneh panjang; gunakan tool seperti LMD (Linux Malware Detect).

Filesystem Linux adalah pohon dari /. Pahami direktori kunci untuk navigasi server:

DIREKTORIISIPENTING UNTUK
/etcKonfigurasi sistemSSH, network, user, service
/var/wwwFile web (HTML/PHP)Target utama defacement
/var/logLog system & aplikasiForensik, audit, monitoring
/homeFolder userData pribadi & script user
/tmpSementara (world-writable)Tempat favorit malware
/rootHome admin (root)Script admin, ssh key
/procVirtual: info proses/kernelTroubleshooting, forensik

Permission rwx - tiga digit untuk owner/group/others. Kombinasi kritis:

MODEUNTUKKONTEKS SERVER
644File konfigurasi & HTMLOwner tulis, lainnya baca - standar web
755Folder & script (CGI)Owner penuh, lain baca+eksekusi
600Private key, config rahasiaHanya owner - wajib untuk .pem, .env
777TIDAK PERNAHUndangan menyuntik kode web shell

Aturan audit permission: file .env, .pem, config.php, wp-config.php harus 600 atau 640. Folder upload boleh 755 tapi file di dalamnya tidak boleh bisa dieksekusi. find /var/www -name "*.php" -perm 777 adalah perintah audit wajib.

Ownership: chown www-data:www-data /var/www - web server butuh baca (dan kadang tulis untuk upload), tapi TIDAK perlu menjadi root. Proses berjalan sebagai www-data: jika web shell masuk, dampaknya terbatas pada hak www-data - bukan seluruh sistem.

Setiap program yang berjalan adalah proses dengan PID unik. Memahami apa yang berjalan adalah langkah pertama monitoring DAN forensik:

PERINTAHFUNGSIPENTING UNTUK
ps auxDaftar semua prosesAudit: ada proses mencurigakan?
top / htopMonitor real-timeLihat pemakan CPU/RAM
systemctl statusStatus layananDebug: layanan mati atau hidup?
journalctl -u namaLog layanan systemdCari pesan error spesifik
lsof -i :80Proses yang pakai port 80Konflik port, audit

Red flags di output ps: proses dengan nama aneh (kdevtmpfsi, kinsing - cryptominer), proses berjalan dari /tmp (tidak wajar), CPU 100% tanpa beban nyata, banyak child process dari proses web (indikasi web shell mengeksekusi command).

Uptime dan load average - baris pertama uptime: 14:32:01 up 45 days, load average: 0.15, 0.10, 0.05. Load harus di bawah jumlah core. Load tinggi konstan = perlu investigasi (bisa cryptominer, bisa traffic naik).

Log yang wajib dipantau:

  • /var/log/auth.log - login sukses/gagal, sudo: deteksi brute force
  • /var/log/syslog - pesan system umum
  • /var/log/nginx/access.log & error.log - request web & error aplikasi
  • journalctl -f - pantau semua log real-time

Crontab - penjadwalan yang juga jadi tempat favorit malware untuk persistensi: crontab -l (user saat ini), sudo crontab -l (root), cek juga /etc/cron.d/. Entri mencurigakan: script dari /tmp, curl/wget ke IP asing, base64 di on-event.

Server yang sehat hanya membuka port yang dia butuhkan. Port asing = pertanyaan keamanan. Tools wajib:

PERINTAHMENAMPILKANFLAG PENTING
ss -tulpnPort listening + prosest=TCP u=UDP l=listen p=proses n=numeric
ss -tupnSemua koneksi aktifTanpa l: koneksi established juga
ip aInterface & alamat IPCek state UP, IP benar
ip rRouting tableGateway default via 0.0.0.0/0
ip neighARP table (tetangga)MAC address perangkat LAN
netstat -antpKoneksi TCP + PID (legacy)Pengganti: ss

Anomali yang dicari di audit jaringan:

  • Port listening yang tidak dikenal (mis. 4444 = metasploit default, 1337 = backdoor umum)
  • Koneksi ESTABLISHED ke IP asing yang tidak seharusnya (C2 server, data exfiltration)
  • Banyak koneksi SYN_SENT ke satu IP (server kamu jadi bot DDoS)
  • Interface promiscuous mode (packet sniffing berjalan)

Port yang harus ada di whitelist server web: 22 (SSH - batasi IP), 80/443 (HTTP/HTTPS), 8291 jika MikroTik Winbox (JANGAN expose ke WAN). Semua port lain yang listening perlu dijelaskan atau ditutup.

Firewall - pertahanan pertama: ufw allow 22/tcp, ufw allow 80/tcp, ufw enable. Aturan emas: deny by default, allow spesifik. Cek: ufw status verbose.

Hardening = proses menutup celah keamanan. Checklist yang wajib diterapkan di setiap server sebelum dianggap siap:

AREAAKSIKOMANDO / METODE
SSHNonaktifkan root login & password authPermitRootLogin no, PasswordAuthentication no
SSHGunakan key-based authssh-keygen + ssh-copy-id
FirewallEnable + allow minimalufw allow 22/tcp && ufw enable
UpdatesPatch keamanan rutinapt update && apt upgrade -y
UserTidak ada user kosong passwordAudit /etc/shadow, kunci user tidak aktif
ServiceMatikan yang tidak dipakaisystemctl disable --now nama
Fail2banAuto-blokir brute forceapt install fail2ban
File permissionConfig rahasia 600chmod 600 .env config.php
MonitoringLog + alertinglogwatch, auditd, osquery

SUID/SGID audit - file dengan bit SUID berjalan sebagai pemiliknya (biasanya root). Daftar sah: /usr/bin/passwd, /usr/bin/sudo, /bin/mount, /bin/umount. SUID aneh di /tmp atau /home = backdoor. Cek: find / -perm -4000 -type f 2>/dev/null.

World-writable files - siapa pun bisa menulis = siapa pun bisa menanam web shell. Cek: find /var/www -perm -o+w -type f. Folder /tmp memang harus 1777 (sticky bit t), tapi file di dalamnya yang executable mencurigakan.

Users tanpa password - akun layanan memang tanpa password login, tapi harus /usr/sbin/nologin atau /bin/false di /etc/passwd. User manusia dengan kolom shell kosong + password kosong = pintu terbuka. Cek: awk -F: '($2==""){print $1}' /etc/shadow.

Sebagai teknisi TKJ, kamu perlu bisa mengenali web shell di server yang kamu tanggung jawabkan. Ini adalah skill defensif yang sangat bernilai:

Ciri-ciri web shell di filesystem:

  • File PHP dengan nama acak di folder upload: wp-content/uploads/2024/shell.php
  • File PHP berisi eval(base64_decode('...')) atau eval(gzinflate(...))
  • File dengan nama mencurigakan: cmd.php, c99.php, r57.php, b374k.php, wso.php
  • File PHP yang sangat besar (b374k full bisa 100+ KB) di tempat tak seharusnya
  • File dengan permission 777 di folder web

Ciri-ciri di log akses: request POST panjang ke file PHP aneh, User-Agent aneh (empty, python-requests, sqlmap), akses ke file .php di folder upload, pola GET dengan parameter berisi perintah shell ter-encode.

Perintah pencarian:

  • find /var/www -name "*.php" -mtime -7 - file PHP baru 7 hari terakhir
  • grep -rl "eval(" /var/www --include="*.php" - file yang pakai eval
  • grep -rl "base64_decode" /var/www --include="*.php"
  • grep -rl "shell_exec\|system(\|passthru" /var/www --include="*.php"

Langkah pembersihan: 1) karantina server (offline dari internet); 2) identifikasi semua file berbahaya; 3) backup data bersih; 4) hapus web shell + backdoor lain (cron, SSH authorized_keys); 5) patch celah awal (update CMS, plugin); 6) ganti semua password; 7) restore dan pantau ketat.

Pencegahan: disable allow_url_include & allow_url_fopen di php.ini, batasi eksekusi PHP di folder upload via .htaccess, gunakan open_basedir untuk membatasi direktori PHP.

Server yang sehat bukan yang sekali diconfig lalu dilupakan, tapi yang dipantau dan dirawat rutin. Jadwal yang direkomendasikan:

FREKUENSIAKTIVITASPERINTAH
HARIANCek log error & securitygrep -i error /var/log/syslog | tail -20
HARIANCek disk spacedf -h (alert jika >80%)
HARIANCek service kritissystemctl status nginx ssh
MINGGUANUpdate security patchesapt update && apt upgrade
MINGGUANReview login & auth.loglast -20, grep Failed auth.log
BULANANAudit user & permissionCek /etc/passwd, find perm 777
BULANANBackup + test restoretar/rsync + verifikasi bisa dibuka
KUARTALFull security auditScan port, SUID, cron, web shell

Disk monitoring - disk penuh = layanan berhenti (database corrupt, log gagal). Threshold alert: 80%. Bersihkan: du -sh /var/log/* | sort -rh | head -10, journalctl --vacuum-size=100M, logrotate config.

Backup 3-2-1: 3 salinan data, 2 media berbeda, 1 di lokasi berbeda. Backup yang belum pernah dites restore = tidak ada backup. Test restore setiap bulan.

Tools monitoring yang bisa dipelajari lanjut: Nagios/Zabbix (enterprise), Prometheus + Grafana (modern, metrics), Netdata (real-time, mudah dipasang), glances (CLI all-in-one).

Alur kerja yang ditiru oleh 8 misi di simulator ini - hafalkan urutannya, detail menyesuaikan distro:

  • 1. Inventory: kenali servermu - uname -a, cat /etc/os-release, df -h, free -h, ip a
  • 2. Security baseline: ganti password, nonaktifkan root SSH, enable firewall, install fail2ban
  • 3. Updates: apt update && apt upgrade -y sebelum install apapun
  • 4. Install services: hanya yang dibutuhkan - apt install nginx (bukan LAMP semua)
  • 5. Konfigurasi & permission: file config 600, folder 755, ownership www-data
  • 6. Deploy aplikasi: taruh file di /var/www, test via curl localhost
  • 7. Setup monitoring: cek log, setup cron untuk cleanup, pasang alerting
  • 8. Audit & dokumentasi: jalankan security audit, catat semua konfigurasi, buat runbook

Prinsip yang membedakan teknisi baik:

  • Least privilege - beri akses minimum yang diperlukan
  • Defense in depth - banyak lapisan, bukan satu pagar
  • Document everything - runbook menyelamatkan saat darurat
  • Test before deploy - sandbox/VM dulu, produksi kemudian
  • Monitor constantly - masalah yang tidak diketahui = masalah terbesar

Setelah lancar di simulator: latih di VM (VirtualBox + Ubuntu Server), lalu di server lab sekolah di bawah supervisi. Skill yang dibangun di sini adalah fondasi sertifikasiCompTIA Linux+, RHCSA, dan pekerjaan sysadmin juniormu.

TIPS SERVER

10 TIPS BERJENJANG: BASIC -> INTER -> PRO.

BASICSELALU SS -TULPN DULUPerintah pertama saat masuk server: lihat port apa saja yang terbuka. Port asing = pertanyaan keamanan yang butuh jawaban.
BASICDF -H SETIAP SESIDisk penuh = layanan mati diam-diam. Kebiasaan cek df -h menyelamatkan dari kejadian "kok tiba-tiba down".
BASICREAD LOG SEBELUM GOOGLEError message di log lebih spesifik dari 90% artikel internet. journalctl -u nginx -n 50 dulu, baru cari solusinya.
BASICLATIH DI SANDBOXSimulator ini dan VM VirtualBox aman untuk eksperimen. Server produksi dipakai bersama - jangan jadi tempat belajar trial-error.
INTERKEY-BASED SSHSetelah SSH key aktif dan teruji, nonaktifkan PasswordAuthentication. Brute force langsung gagal total.
INTERPERMISSION MINIMAL644 untuk file config (bukan 777), 600 untuk .env & private key. find /var/www -perm 777 harus return 0 hasil.
INTERFAIL2BAN WAJIBSatu install (apt install fail2ban) = brute force SSH otomatis ditolak. Config default sudah cukup baik.
INTERGREP SEBELUM EVALRutin scan: grep -rl "eval(" /var/www --include="*.php" - hasil tak dikenal = investigasi.
PROAUDIT RUTIN TERJADWALBuat cron atau kalender: cek SUID, world-writable, user kosong password, service baru. Konsisten mengalahkan sempurna.
PROBACKUP + TEST RESTOREBackup yang belum pernah dites restore = tidak ada backup. Bulanan: restore ke VM, verifikasi data utuh.

FAQ SERVER ADMIN

10 PERTANYAAN YANG PALING SERING MUNCUL.

b374k adalah PHP web shell sungguhan yang memberikan akses penuh ke server saat diunggah. Tool ini adalah SIMULATOR edukasi: UI dan workflow-nya meniru gaya remote management, tapi semua data dan perintah berjalan 100% di browser JavaScript tanpa koneksi ke server mana pun. Tidak ada file yang diunggah, tidak ada perintah yang dieksekusi nyata. Tujuannya melatih pola pikir admin dan forensik keamanan secara aman.

Web shell adalah script (biasanya PHP) yang diunggah ke server web dan memberikan interface untuk menjalankan perintah, browse file, dan mengakses database via browser. Berbahaya karena: 1) berjalan di port 80/443 yang pasti terbuka; 2) tampak seperti traffic web normal di firewall; 3) berjalan dengan hak user web server (www-data); 4) mudah diunggah via celah upload. Deteksi: grep eval(, base64_decode(, shell_exec( di file PHP; pantau file baru di folder upload.

Formatnya disederhanakan namun struktur datanya meniru Linux asli: path, permission, format ps/ss/df, nama proses standar. Simulator melatih pola pikir dan workflow; di server asli akan ada detail lebih banyak (flags, kolom, edge case). Setelah lancar di sini, pindah ke VirtualBox + Ubuntu Server untuk pengalaman penuh, lalu server lab sekolah di bawah supervisi.

Urutan audit dasar: 1) ss -tulpn (port listening sah?); 2) last & grep Failed /var/log/auth.log (login mencurigakan?); 3) find / -perm -4000 (SUID di luar daftar sah?); 4) find /var/www -perm -o+w (world-writable?); 5) crontab -l + /etc/cron.d/ (scheduled task aneh?); 6) grep eval( /var/www (web shell?); 7) /etc/passwd & /etc/shadow (user aneh/tanpa password?); 8) ufw status (firewall aktif?). Simulator ini punya versi otomatis di menu AUDIT.

Root adalah username yang PASTI ada di semua server Linux - penyerang tidak perlu menebak usernya, cukup fokus menebak passwordnya. Dengan PermitRootLogin no, meskipun password root bocor, SSH langsung gagal. Praktiknya: buat user biasa dengan sudo, login sebagai user itu, lalu sudo untuk yang perlu. Bonus: sudo tercatat di audit log - jejak lebih baik daripada root langsung.

Urutan respons insiden: 1) ISOLASI - putus dari internet (jangan matikan, itu menghapus bukti RAM); 2) DOKUMENTASI - screenshot, copy log sebelum diutak-atik; 3) IDENTIFIKASI - bagaimana masuknya? (log auth, web shell, celah aplikasi); 4) BERISIHKAN - hapus backdoor, patch celah; 5) GANTI SEMUA password; 6) RESTORE dari backup bersih; 7) PANTAU KETAT - serangan sering kembali; 8) LEMBAR BELAJAR - catat pelajaran untuk mencegah ulang.

777 berarti siapa pun (termasuk user www-data yang menjalankan web server) bisa TULIS file. Jika ada celah upload atau LFI di aplikasi, penyerang bisa menulis file PHP ke folder yang 777, lalu mengaksesnya via browser = web shell terpasang. Aturan: file 644, folder 755, folder upload 755 TANPA eksekusi PHP (via .htaccess: php_flag engine off). File yang butuh ditulis aplikasi: owner www-data, group www-data, mode 644/664.

SUID (Set User ID) adalah bit permission yang membuat file berjalan dengan HAK PEMILIKNYA (biasanya root), terlepas dari siapa yang menjalankannya. Contoh sah: /usr/bin/passwd perlu SUID agar user biasa bisa mengubah passwordnya sendiri (menulis ke /etc/shadow). Bahaya: SUID di /tmp, /home, atau file yang bisa ditulis = eskalasi privilege. Audit: find / -perm -4000 -type f, bandingkan dengan daftar yang diketahui sah. SUID di file yang bisa ditulis = backdoor.

Ya - semua tersimpan di localStorage perangkat ini (prefix abr_srv_): misi selesai, XP, jumlah perintah, skor kuis terbaik, dan jumlah ronde. Tidak terkirim ke server mana pun. Catatan: clear site data akan menghapus progres; gunakan browser yang sama. Tombol RESET hanya mengembalikan virtual server ke kondisi awal - XP dan misi tidak ikut hilang.

Tiga jenjang: 1) Ulangi semua misi tanpa hint - target di bawah 30 perintah total; 2) Pasang Ubuntu Server di VirtualBox, ulangi seluruh workflow (update, SSH key, nginx, fail2ban, audit) di sana; 3) Ambil proyek nyata di bawah supervisi: setup web server lab, audit server yang sudah ada, atau bikin documentation runbook. Setelah itu siapkan diri untuk sertifikasi: CompTIA Linux+ atau RHCSA - materi di sini adalah fondasinya.

SOSIAL MEDIA