Cara Update Kernel OpenBSD
Secara default, OpenBSD menginstal dua kernel: bsd.sp dan bsd.mp. Yang pertama untuk mesin prosesor tunggal (sp), yang kedua untuk mesin multiprosesor (mp). Penginstal memilih mana yang lebih sesuai dan menginstalnya sebagai /bsd, yang kemudian akan di-boot secara default. Kernel lainnya juga akan diinstal (sebagai /bsd.sp atau /bsd.mp), sehingga akan tersedia, tetapi tidak di-boot secara default.
Kernel berisi banyak fitur sistem operasi. Seperti utilitas eksternal, tidak semuanya diperlukan atau sesuai pada semua mesin. Kernel GENERIC mencoba menjadi segalanya bagi semua orang. Membangun kernel khusus memungkinkan penghapusan fitur yang tidak diperlukan, dan fitur yang mungkin berguna bagi penyusup setelah mereka memperoleh akses. Petunjuk langkah demi langkah yang terperinci dalam proses update kernel OpenBSD kami bahas di artikel ini.
Dari berbagai teknik yang dibahas, membangun kernel khusus adalah salah satu langkah yang lebih memakan waktu, relatif sulit untuk diuji dengan baik dan karenanya berisiko relatif tinggi, dan tentu saja memberikan keuntungan yang lebih kecil untuk upaya yang dikeluarkan daripada sebagian besar teknik lain yang dibahas.
Prinsip dasar di balik sistem Hardening (pengerasan) adalah menghapus fungsionalitas yang tidak diperlukan dan mengubah sistem tujuan umum menjadi mesin dengan fungsi terbatas atau tunggal. Prinsip ini berlaku untuk memilih opsi kernel mana yang digunakan dan layanan jaringan apa yang dijalankan. Jika keamanan adalah prioritas tertinggi, kernel khusus harus dipertimbangkan, tetapi jika keamanan yang hemat biaya adalah prioritas utama, Anda akan mendapatkan hasil yang lebih baik dengan menonaktifkan layanan yang tidak diperlukan, menggunakan kata sandi yang kuat, menghindari protokol yang tidak aman seperti telnet, dan membangun firewall khusus yang dibuat dengan cermat.
Spesifikasi Sistem
Dalam pembuatan artikel ini, kami menggunakan komputer yang tergolong tidak memiliki spesifikasi tinggi. Namun demikian, tidak mengurangi isi dari artikel ini. Adapun spesifikasi komputer yang kami gunakan sebagai berikut:
- OS: OpenBSD 7.6 amd64
- Host: Acer Aspire M1800
- Uptime: 3 mins
- Packages: 95 (pkg_info)
- Shell: ksh v5.2.14 99/07/13.2
- Terminal: /dev/ttyp0
- CPU: Intel Core 2 Duo E8400 (2) @ 3.0
- Memory: 208MiB / 1775MiB
A. Memeriksa Sistem OpenBSD
Sebelum kita melanjutkan ke proses update kernel, langkah awal dan sangat penting adalah memeriksa sistem OpenBSD anda. Langkah ini harus anda kerjakan pertama kali, karena pada akhir dari proses update ini kita akan mengetahui apakah kernel OpenBSD kita telah terupdate atau belum.
Untuk melakukan pekerjaan ini, hampir semua sistem operasi berbasis BSD sama saja, bahkan kalau boleh dikatakan sistem Linux juga hampir tentang perintah yang digunakan. Jalankan perintah di bawah ini untuk memeriksa sistem OpenBSD anda.
ns5# uname -a
OpenBSD ns5.kursor.my.id 7.6 GENERIC.MP#338 amd64
Dari perintah di atas sangat jelas terbaca, bahwa kernel yang kita gunakan bernama GENERIC.MP, dengan versi OpenBSD 7.6.
B. Unduh Kode Sumber
Ketika anda pertama kali menginstal OpenBSD, kode sumber untuk mengupdate kernel tidak disertakan di dalamnya. Meskipun direktorinya ada, yaitu /usr/src, tapi isinya kosong. Oleh karena itu untuk mulai proses update, anda harus mengunduh seluruh isi file /usr/src.
OpenBSD menggunakan sistem kontrol versi CVS untuk mengelola sumbernya. Program cvs digunakan untuk menarik salinan sumber yang diinginkan ke mesin lokal Anda untuk dilakukan kompilasi. Pengenalan cvs dan petunjuk terperinci untuk mengambil link url ada di halaman CVS anonim. Pertama, Anda harus mengunduh file atau kode sumber tersebut. Setelah itu, Anda lakukan proses update untuk memperbarui seluruh isi file dan menyimpannya ke komputer lokal anda.
Ada banyak link repositori di cvs, silahkan anda pilih salah satu saja yang menurut anda dapat mempermudah dan membantu pekerjaan anda.
Di bawah ini adalah beberapa link url cvs OpenBSD yang dapat anda gunakan:
CVSROOT=anoncvs@anoncvs.au.openbsd.org:/cvs
reposync rsync://anoncvs.au.openbsd.org/cvs/
CVSROOT=anoncvs@anoncvs.comstyle.com:/cvs
reposync rsync://anoncvs.comstyle.com/cvs/
CVSROOT=anoncvs@obsdacvs.cs.toronto.edu:/cvs
reposync rsync://obsdacvs.cs.toronto.edu/obsdcvs/
CVSROOT=anoncvs@anoncvs.fr.openbsd.org:/cvs
reposync rsync://anoncvs.fr.openbsd.org/openbsd-cvs/
CVSROOT=anoncvs@mirror.osn.de:/cvs
reposync -p rsync://mirror.osn.de/openbsd-all/
1. Unduh dengan CVS
Untuk menggunakan cvs, anda harus menghindari menjalankan cvs sebagai root. Pada sistem OpenBSD, secara default, direktori /usr/src (file untuk proses update kernel) berada dalam grup wsrc. Jadi anda hanya perlu menambahkan pengguna/user yang menggunakan cvs tersebut.
Untuk melakukan tugas itu kita buat saja user baru bernama unixwinbsd dengan menjalankan perintah adduser.
ns5# adduser
Setelah anda berhasil membuat user baru, lanjutkan dengan perintah berikut:
ns5# user mod -G wsrc unixwinbsd
Seperti telah kami jelaskan di atas, bahwa direktori /src pada OpenBSD masih kosong, jadi anda harus mengunduh banyak file untuk dimasukkan kedalam direktori /usr/src.
ns5# cd /usr
ns5# cvs -qd anoncvs@anoncvs.au.openbsd.org:/cvs checkout -rOPENBSD_7_6 -P src
Pada contoh script di atas, kami menggunakan link url anoncvs@anoncvs.au.openbsd.org:/cvs sebagai repositori untuk mengunduh file /src. Setelah proses unduhan selesai anda lanjutkan dengan memperbarui file hasil unduhan tersebut dengan perintah berikut.
ns5# cd /usr/src
ns5# cvs -q up -Pd -rOPENBSD_7_6
ns5# cvs -q anoncvs@anoncvs.au.openbsd.org:/cvs update -Pd -rOPENBSD_7_6
2. Ubah file GENERIC
Jika semua langkah diatas telah anda kerjakan, sekarang kita lanjutkan dengan mengubah file GENERIC. File isi berisi konfigurasi kernel. Anda dapat menambahkan, menghapus seluruh atau sebagian dari isi file tersebut.
Berdasarkan perintah uname -a di atas file GENERIC yang saat ini kita gunakan adalah GENERIC.MP. Salin file GENERIC.MP tersebut, seperti contoh di bawah ini.
ns5# cd /usr/src/sys/arch/amd64/conf
ns5# cp -R GENERIC.MP ROUTER.MP
3. Ubah file ROUTER.MP
Pada artikel ini kami hanya menambahkan sedikit script pada file tersebut. Pada file tersebut kami tambahkan script TIMEZONE dan ART seperti contoh di bawah ini.
ns5# cd /usr/src/sys/arch/amd64/conf
ns5# nano ROUTER.MP
# $OpenBSD: GENERIC.MP,v 1.16 2021/02/09 14:06:19 patrick Exp $
include "arch/amd64/conf/GENERIC"
option MULTIPROCESSOR
#option MP_LOCKDEBUG
option WITNESS
option TIMEZONE=300
option ART
cpu* at mainbus?
4. Proses Update Kernel
Kemudian kita lanjutkan dengan melakukan proses update kernel. Ikut perintah di bawah ini untuk melakukan proses update kernel OpenBSD.
rm -rf /usr/obj
mkdir /usr/obj
cd /usr/src
make obj
ns5# cd /usr/src/sys/arch/amd64/conf
ns5# config ROUTER.MP
ns5# cd ../compile/ROUTER.MP
ns5# make clean
ns5# make depend
ns5# make -j4
ns5# make install
C. Unduh Kode Sumber dengan Github
Cara di atas adalah, cara mengunduh file /src dengan repositori CVS. Jika anda ingin menggunakan repositori alternatif lainnya seperti Github.
ns5# cd /usr
ns5# git clone https://github.com/openbsd/src.git
Proses updatenya sama dengan cara di atas. Anda ikuti saja langkah 2, 3 dan 4.
Bagian terpenting dari proses update kernel adalah proses edit file GENERIC.MP. Dalam proses edit ini anda harus sesuaikan kernel-kernel mana saja yang dibutuhkan dan tidak dibutuhkan oleh sistem OpenBSD anda.
