Tahun Ajaran 2011/2012
Peretasan GNU/Linux
Ethical Hacking and Countermeasures (PAI 083213)
Program Studi Teknik Informatika, Unsoed
S aa d Ir fa n, C C B Y N C S A , http s: //s ec ur e. fli ck r.c om /p ho to s/ sa ad irf an /5 16 89 81 29 8/
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/nonfree menghalangi manusia untuk hidup
secara sosial di masyarakat.
●Baca https://gnu.org/philosophy/freesw.html.
Free Software atau
Open 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
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Corbet, dkk. 2012. Linux Kernel Development, The Linux Foundation
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Pengembangan Kernel Linux
●
Pemutakhiran kernel Linuxstabil dirilis dalam waktu 23 bulan,
dengan fitur baru yang signifikan, tambahan dukungan perangkat
keras, dan peningkatan unjuk kerja.
●Laju perubahan di kernel Linux terkini: 8.00012.000 tambalan/patch
setiap rilis.
●Setiap rilis berisi kontribusi lebih dari 1.000 pengembang mewakili
~200 perusahaan.
●Bertambah kode sumbernya 815 juta baris sejak 2010.
●Microsoft muncul sebagai kontributor kernel Linux untuk
penggerak/driver HyperV.
●Baca Corbet, dkk. 2012. Linux Kernel Development, The Linux
Foundation.
Kode sumbernya tersedia
bebas, berarti mudah ketahuan
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Given enough eyeballs,
all bugs are shallow.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Desain sistem Linux lebih
aman daripada Windows.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
GNU/Linux dan Distribusi Linux
●
Kernel Linux, pustaka, dan programprogram pendukung
yang kebanyakkan berasal dari proyek GNU disebut
GNU/Linux.
“Linux”
●Distribusi GNU/Linux adalah sepaket kernel Linux, pustaka,
programprogram 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, …
●Jenisjenis 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 lainlain.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Sistem Berkas dan Perintah (1)
●
“Semua yang ada di Linux adalah berkas”.
●Casesensitive.
●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.
●Perintahperintah 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:
●drwxrxrx 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).
●Perintahperintah untuk melihat berkas: cat, head, tail, more, less.
●Perintahperintah jaringan di Linux: arp, ifconfig, netstat, nslookup,
ps, route, traceroute, ...
●Perintah informasi lengkap perintah:
●man [perintah]
●man ls
Kompilasi
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
$ 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)
<greg@kroah.com>"
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 linux3.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/linux3.4.2/[path]/bzImage /boot/vmlinuz
3.4.2
●Pasang modulmodul kernel: make modules_install
●Konfigurasi bootloader: updategrub
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++, ObjectiveC, 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
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
manager
task
manager
file
manager
network
SO/Kernel
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
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
programprogram 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 singleuser dengan
kata sandi.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
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 bacatulis 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, updaterc.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 layananlayanan
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 akunakun sistem dinonaktifkan
untuk masuk ke sistem, misal dengan
memberikan shell /bin/false.
●
Menghapus akunakun 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 lainlain.
●
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 insideninsiden
yang terjadi pada sistem.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed
Lain-Lain
●
Hapus kode sumber kernel dan paketpaket
program yang tidak digunakan.
●
Tambahkan host baru pada konfigurasi
keamanan pada sistem lain.
●
Aktifkan NIDS dan pantau catatan/alarmnya.
●
Periksa dan mutakhirkan paketpaket program
yang terpasang, bila perlu mengaktifkan
pemutakhiran otomatis.
Ethical Hacking and Countermeasures (PAI 083213) Program Studi Teknik Informatika, Unsoed