Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Peretasan GNU/Linux

stwn
June 11, 2012

Peretasan GNU/Linux

Materi kuliah Ethical Hacking tahun ajaran 2011/2012.

Saya diminta mengajar mata kuliah ini di program studi Teknik Informatika[1], Unsoed. Tadinya menempatkan diri sebagai "ban serep" saja, ternyata memang tidak ada yang "berani".

Jadi, akhirnya saya mengajar dengan riang gembira, membaca buku serta menuliskan dan menceritakan sedikit pengalaman saya di dunia keamanan.

[1] Program studi "rumah" saya adalah Teknik Elektro

stwn

June 11, 2012
Tweet

More Decks by stwn

Other Decks in Technology

Transcript

  1. Tahun Ajaran 2011/2012 Peretasan GNU/Linux Ethical Hacking and Countermeasures (PAI

    083213) Program Studi Teknik Informatika, Unsoed Iwan Setiawan <stwn at unsoed.ac.id>
  2. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Free Software/Sofware Merdeka • Perangkat lunak yang memberikan kemerdekaan pada penggunanya untuk: • menggunakan program untuk berbagai tujuan, • mempelajari bagaimana program bekerja dan memodifikasi sesuai kebutuhan, • menyebarluaskan salinan program sehingga kita dapat membantu sesama, • meningkatkan program dan menyebarkan modifikasinya sehingga masyarakat mendapatkan manfaat. • Sifat dasar manusia adalah berbagi. • Perangkat lunak proprietary/non­free menghalangi manusia untuk hidup secara sosial di masyarakat. • Baca https://gnu.org/philosophy/free­sw.html.
  3. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Sejarah Kernel Linux • Linux adalah sistem operasi/kernel bergaya Unix yang bebas dan terbuka, baik pengembangan maupun distribusinya. • Dibuat pertama kali oleh Linus Torvalds saat menjadi mahasiswa di Universitas Helsinki. • Versi 0.01 dirilis tahun 1991 di bawah lisensi GNU General Public License (GPL) versi 2. • Linux = perangkat lunak bebas/merdeka (Free Software). • Awalnya hanya dikembangkan untuk arsitektur perangkat keras Intel x86, kemudian berkembang ke banyak arsitektur dan tipe komputer, dari ponsel sampai superkomputer.
  4. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation Frekuensi Rilis Kernel Linux
  5. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation Kontributor Kernel Linux (TOP10)
  6. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Pengembangan Kernel Linux • Pemutakhiran kernel Linux­stabil dirilis dalam waktu 2­3 bulan, dengan fitur baru yang signifikan, tambahan dukungan perangkat keras, dan peningkatan unjuk kerja. • Laju perubahan di kernel Linux terkini: 8.000­12.000 tambalan/patch setiap rilis. • Setiap rilis berisi kontribusi lebih dari 1.000 pengembang mewakili ~200 perusahaan. • Bertambah kode sumbernya 8­15 juta baris sejak 2010. • Microsoft muncul sebagai kontributor kernel Linux untuk penggerak/driver Hyper­V. • Baca Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation.
  7. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Given enough eyeballs, all bugs are shallow. – Linus Torvalds
  8. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Desain sistem Linux lebih aman daripada Windows.
  9. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed GNU/Linux dan Distribusi Linux • Kernel Linux, pustaka, dan program­program pendukung yang kebanyakkan berasal dari proyek GNU disebut GNU/Linux. “Linux” • Distribusi GNU/Linux adalah sepaket kernel Linux, pustaka, program­program pendukung, aplikasi, pengelolaan perangkat lunak, dan pemasang/installer. “Distro Linux” • Perintah dan perkakas standar Unix disediakan oleh distribusi GNU/Linux. • Tipe pengguna: root dan pengguna biasa. • Terdapat grup akses, dan ijin akses untuk pengguna, grup, dan semua orang.
  10. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed LiveCD dan LiveUSB • Cocok untuk pengguna baru atau perkakas pertolongan pertama/rescue. • Kita dapat menggunakan sistem GNU/Linux “di atas” CD/DVD atau flashdrive, tanpa harus memasangnya di hard drive. • Unduh distro Live, kemudian bakar ke CD/DVD atau flashdrive. • Gunakan program seperti UNetbootin untuk membuat LiveUSB. Coba buat LiveUSB BackTrack.
  11. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Shell • Shell: antarmuka baris perintah tempat pengguna memasukkan perintah ke sistem Linux (interpreter). • Kendali perintah, sejarah perintah, pengelolaan banyak proses, redirection, skrip shell, … • Jenis­jenis shell di sistem GNU/Linux. • C shell (csh): shell yang bahasa skripnya mirip dengan C. • Bourne shell (sh): shell klasik yang digunakan di banyak sistem bergaya Unix. • GNU Bourne Again Shell (bash): shell yang banyak digunakan dan disertakan oleh distribusi Linux, memiliki fitur lanjut seperti command­ completion. • Korn shell (ksh), tcsh, zsh, dash, dan lain­lain.
  12. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Sistem Berkas dan Perintah (1) • “Semua yang ada di Linux adalah berkas”. • Case­sensitive. • Tidak umum menggunakan karakter “/”, “?”, “*”, “­”, dan spasi. • Titik di depan nama berkas/direktori akan menyembunyikan berkas/direktori tersebut. • Hierarki sistem berkas di Linux: /, /bin, /etc, /lib, /opt, /proc, /sbin, /sys, /usr, /var, /tmp. • Tidak ada nama drive A, B, C, D, dst. • Perintah­perintah untuk meramban sistem berkas: cd, ls, mkdir, rmdir, cp, mv, find.
  13. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Sistem Berkas dan Perintah (2) • Struktur informasi berkas di Linux. Contoh: • drwxr­xr­x 7 stwn stwn 4096 Apr 18 19:20 tmp • Direktori tmp dengan akses rwx untuk pengguna, rx untuk grup dan semua pengguna, dimiliki oleh pengguna dan grup stwn, berukuran 4096 bita, waktu modifikasi 18 April pukul 19.20. • Tipe berkas: link (l), directory (d), block device (b), character device (c). • Perintah­perintah untuk melihat berkas: cat, head, tail, more, less. • Perintah­perintah jaringan di Linux: arp, ifconfig, netstat, nslookup, ps, route, traceroute, ... • Perintah informasi lengkap perintah: • man [perintah] • man ls
  14. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Kompilasi Kernel Linux (1) • Kode sumber kernel Linux tersedia bebas, karena Linux merupakan perangkat lunak merdeka/Free Software. • Beberapa alasan pengguna melakukan kompilasi ulang kernel Linux: • menyertakan perangkat lunak penggerak/driver ke dalam kernel Linux, misal perangkat keras yang kita punyai baru (sekali), • memperbaiki kutu/bug dengan menambal kernel Linux yang kita pakai, • kebutuhan fitur pada kernel Linux yang lebih baru, • melakukan optimasi agar sistemnya lebih gegas dan hemat sumber daya. • Secara umum pengguna biasa tidak memerlukan kompilasi kernel Linux. Jika ingin memutakhirkannya, pengguna tinggal menggunakan program pengelola paket dari distribusi GNU/Linux yang digunakan. • Ambil kode sumber kernel Linux dari situs resminya di kernel.org melalui paket tarball atau repositori git.
  15. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed $ gpg --verify linux-3.4.2.tar.sign linux-3.4.2.tar.bz2 gpg: Signature made Sat Jun 9 22:37:11 2012 WIT using RSA key ID 6092693E gpg: BAD signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <[email protected]>"
  16. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Kompilasi Kernel Linux (2) • Salin paket tarball kernel Linux ke direktori sumber: cp linux­ 3.4.2.tar.bz2 /usr/src/ • Masuk ke direktori tersebut: cd /usr/src/ • Ekstrak paket kernel Linux: tar jxvf linux­3.4.2.tar.bz2 • Melakukan konfigurasi kernel Linux: make menuconfig • Melakukan kompilasi kernel Linux: make atau make bzImage • Melakukan kompilasi modul kernel: make modules • Salin image kernel hasil kompilasi ke direktori /boot: cp /usr/src/linux­3.4.2/[path]/bzImage /boot/vmlinuz­ 3.4.2 • Pasang modul­modul kernel: make modules_install • Konfigurasi bootloader: update­grub
  17. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Perintah Kompilasi GCC • GNU Compiler Collection (GCC) adalah sebuah kompilator untuk bahasa pemrograman seperti C, C++, Objective­C, Fortran, Java, Ada, dan Go. • Untuk kode sumber berbahasa C: • gcc ­Wall kode.c ­o kode • Untuk kode sumber berbahasa C++: • g++ kode.cpp ­o kode • README, automake, autoconf, libtool. • Menjalankan hasil kompilasi dengan: ./kode
  18. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Perangkat keras Aplikasi Aplikasi Aplikasi Shared Runtime Libraries mode pengguna mode kernel Antarmuka System Call Komponen Device Driver memory manager task manager file manager network manager SO/Kernel Cruse, B.A. 2004. CS 326: Operating Systems.
  19. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Modul Kernel Linux • Menambah fungsionalitas tanpa melakukan kompilasi ulang kernel Linux. • Rootkit dapat berbentuk modul kernel Linux. • Contoh rootkit berbasis modul kernel Linux: Knark, Adore, Rtkit, Torn, Tuxit, Ramen, Beastkit. • Peretas/perengkah dapat menyimpan modul kernel di direktori mana pun di sistem berkas GNU/Linux. • Setelah terpasang, modul kernel rootkit akan menyembunyikan proses, berkas, koneksi jaringan, backdoor, termasuk system call. • Perintah memuat modul kernel: modprobe [modul]
  20. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Keamanan Sistem GNU/Linux (1) • Hardening: proses meningkatkan keamanan sistem dengan melakukan modifikasi. • Keamanan fisik. “Lokasi/posisi menentukan prestasi”. Misal: letakkan sistem di pusat data. • Menggunakan kata sandi yang kuat, menyediakan akses terbatas, dan tidak berbagi akses ke sistem. • Kebijakan default, deny all. • cat “ALL: ALL” >> /etc/hosts.deny • /sbin/iptables ­P INPUT DROP
  21. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Keamanan Sistem GNU/Linux (2) • Mematikan atau menghapus layanan dan program­program yang tidak diperlukan. Lihat tujuan sistem. • Memutakhirkan sistem. Sesuaikan dengan distribusi GNU/Linux yang digunakan. • Memantau sistem dengan melihat catatan/log dan tingkah lakunya. • Menyiapkan perkakas pemindai dan pemulihan sistem. Contoh: LiveUSB, chkrootkit.
  22. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Pemasangan Distribusi GNU/Linux • Gunakan distribusi yang dikenal stabil, aman, dan termutakhirkan dengan baik. Misal: Debian GNU/Linux. • Buat partisi sesuai skema dengan pertimbangan keamanan, contoh: memisahkan partisi /tmp. • Menambal dan memutakhirkan sistem setelah distribusi GNU/Linux terpasang. • Mengaktifkan iptables dan memasang HIDS. • Tidak memasang program atau layanan yang tidak diperlukan. • Aktifkan fitur keamanan lanjut jika diperlukan. • Melindungi BIOS, bootloader, dan mode single­user dengan kata sandi.
  23. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Mengamankan Sistem Berkas Lokal • Memeriksa ijin akses berkas dan direktori. • Gunakan perintah find untuk mencari berkas dan direktori, dan chmod untuk mengubah ijin akses. • Berikan akses baca­tulis untuk pengguna, dan selektif ketika memberikan akses tulis pada grup atau semua orang. • Periksa berkas biner yang mempunyai ijin akses SETUID. • Periksa opsi perintah mount seperti nosuid untuk sistem berkas lokal, misal diterapkan pada direktori /tmp yang partisinya terpisah. • Lakukan enkripsi data pada sistem.
  24. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Konfigurasi Layanan • Menghapus dan menonaktifkan layanan yang tidak diperlukan. • Direktori berisi skrip init layanan: /etc/init.d/. • Perintah menonaktifkan layanan: /etc/init.d/[servis] stop, service [servis] stop, update­rc.d ­f [servis] remove. • Gunakan versi program layanan yang termutakhir. • Jika memungkinkan, jalankan program layanan sebagai pengguna biasa dalam direktori terisolasi (chroot jail). • Mengaktifkan pencatatan/logging pada berkas terpisah, tidak tersimpan dalam satu berkas dengan catatan sistem yang lain. • Melakukan konfigurasi keamanan spesifik pada layanan­layanan yang tersedia di dalam sistem.
  25. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Mengamankan Akun root • Memilih kata sandi yang kuat dan menggantinya secara berkala. • Membatasi penggunaan perintah su. • Menggunakan sudo untuk memberikan pengguna biasa hak root saat menjalankan perintah tertentu, dan batasi penggunaannya. • Tidak masuk ke sistem langsung menjadi root.
  26. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Akun Pengguna • Melakukan konfigurasi pembatasan default untuk pembuatan pengguna di dalam sistem. • Melakukan konfigurasi /etc/skel dan berkas inisialisasi. • Memastikan akun­akun sistem dinonaktifkan untuk masuk ke sistem, misal dengan memberikan shell /bin/false. • Menghapus akun­akun yang tidak diperlukan.
  27. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Akses Jarak Jauh • Menonaktifkan akses tanpa kata sandi pada /etc/hosts.equiv dan .rhosts. • Menggunakan SSH dan mematikan rlogin, rsh, telnet, ftp, rcp, dan lain­lain. • Menjalankan SSH pada porta di atas 1024. • Menonaktifkan pengguna root masuk/login langsung. • /etc/ssh/sshd_config: PermitRootLogin no
  28. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Pemantauan Sistem • Konfigurasi fasilitas pencatatan dengan syslog atau rsyslog. • Jika memungkinkan, salin secara otomatis catatan sistem ke peladen terpusat. • Pasang program pemeriksa dan pemantau integritas sistem berkas lokal seperti tripwire/aide/integrit. • Rancang dan implementasikan rencana pemantauan catatan sistem untuk mengetahui insiden­insiden yang terjadi pada sistem.
  29. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Lain-Lain • Hapus kode sumber kernel dan paket­paket program yang tidak digunakan. • Tambahkan host baru pada konfigurasi keamanan pada sistem lain. • Aktifkan NIDS dan pantau catatan/alarmnya. • Periksa dan mutakhirkan paket­paket program yang terpasang, bila perlu mengaktifkan pemutakhiran otomatis.
  30. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Intinya: tutup semua celah akses yang rentan.
  31. Ethical Hacking and Countermeasures (PAI 083213) ­ Program Studi Teknik

    Informatika, Unsoed Daftar Bacaan • EC­Council. 2008. Module XXII: Linux Hacking, Ethical Hacking and Countermeasures Version 6 • Graves, K. 2010. CEH: Certified Ethical Hacker Study Guide, Sybex