Peretasan GNU/Linux - ee.unsoed.ac.idstwn/kul/pai083213/ethack-2012-11.pdf · menggunakan program...

54
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>

Transcript of Peretasan GNU/Linux - ee.unsoed.ac.idstwn/kul/pai083213/ethack-2012-11.pdf · menggunakan program...

Tahun Ajaran 2011/2012

Peretasan GNU/LinuxEthical Hacking and Countermeasures (PAI 083213)

Program Studi Teknik Informatika, Unsoed

Iwan Setiawan <stwn at unsoed.ac.id>

 

Cadillac, http://wired.com/autopia/2012/05/2013­cadillac­xts/

 

Cadillac, http://wired.com/autopia/2012/05/2013­cadillac­xts/

 

Cadillac, http://wired.com/autopia/2012/05/2013­cadillac­xts/

 

kalleboo, CC BY, https://secure.flickr.com/photos/kalleboo/2473197800/

 paulmmay, CC BY, https://secure.flickr.com/photos/paulmmay/2451273111/

http://businessinsider.com/linux­based­devices­2011­7

http://businessinsider.com/linux­based­devices­2011­7

http://businessinsider.com/linux­based­devices­2011­7

 

John Dalton, CC BY­SA, https://secure.flickr.com/photos/varrqnuht/2230046171/

 

kodomut, CC BY, https://secure.flickr.com/photos/kodomut/5145992776/

 

Burnt Pixel, CC BY­NC­ND, https://secure.flickr.com/photos/keithwj/2188856636/

 

parl, CC BY­NC­ND, https://secure.flickr.com/photos/parl/5002682624/

  Matt Biddulph, CC BY­SA, https://secure.flickr.com/photos/mbiddulph/3836727468/

 

Saa

d Ir

fan,

 CC

 BY­

NC

­SA

, http

s://s

ecur

e.fli

ckr.c

om/p

hoto

s/sa

adirf

an/5

1689

8129

8/

 

Linux

 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.

 

Free Software atauOpen Source?

 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.

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation

Frekuensi Rilis Kernel Linux

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation

Kontributor Kernel Linux (TOP10)

 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.

 

Kode sumbernya tersediabebas, berarti mudah ketahuan

dong kelemahannya?

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Given enough eyeballs,all bugs are shallow.

– Linus Torvalds

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Desain sistem Linux lebihaman daripada Windows.

 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.

 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.

 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.

 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.

 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

 

KompilasiKernel Linux

 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.

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

$ gpg --verify linux-3.4.2.tar.sign linux-3.4.2.tar.bz2gpg: Signature made Sat Jun 9 22:37:11 2012 WIT using RSA key ID 6092693Egpg: BAD signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <[email protected]>"

 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

 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

 

Modul Kernel Linux

Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Perangkat keras

Aplikasi AplikasiAplikasi

Shared Runtime Librariesmode pengguna

mode kernel

Antarmuka System Call

Komponen Device Driver

memorymanager

taskmanager

filemanager

networkmanager

SO/Kernel

Cruse, B.A. 2004. CS 326: Operating Systems.

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

built-in vs. modul

 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]

 

Peningkatan Keamanan Sistem GNU/Linux

 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

 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.

 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.

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

/etc/sysctl.conf

 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.

 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.

 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.

 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.

 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

 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.

 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.

 Ethical Hacking and Countermeasures  (PAI 083213) ­ Program Studi Teknik Informatika, Unsoed

Intinya: tutup semua celah akses yang rentan.

 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