|
[039]. STEP BY STEP FREEBSD
------------------------------------------------------
Author : scut
Contact : scut@kecoak.or.id
CopyLEFT (c) 2005
www.spyrozone.tk All Rights Reserved
� 10/06/2005 05:33:44 WIB
------------------------------------------------------
[1] Intro
Tulisan ini tidak mewakili keseluruhan dari apa yang dibutuhkan dalam belajar sistem operasi
FreeBSD, namun setidaknya dapat memberikan gambaran yang jelas bagaimana cara awal untuk memahami FreeBSD ini.
[2] Upgrade
[2.1] Ports Tree
Sebenarnya ini bukanlah hal yang sangat penting untuk dibicarakan, namun kenapa hal ini bisa dianggap
sebagai sesuatu yang menarik? Ports adalah suatu fasilitas yang disediakan di sistem operasi BSD
(Free,Open BSD) yang ditujukan untuk memudahkan user dalam menginstall atau mengupdate beberapa
packages yang dibutuhkan sistem operasi.
Sangat mudah untuk melakukan instalasi ports-tree basic, anda cukup menulis perintah
`sysinstall' didalam mesin BSD anda.
Contoh ports-supfile:
Shove all this in something like /root/port-supfile
*default host=cvsup7.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
ports-all
Sekarang anda masuk ke direktori /usr/ports/net/cvsup dan tulis perintah `make install clean' didalam
konsol mesin anda. Setelah CVSup komplit lakukan dengan mengetikkan perintah
`cvsup -g -L 2 /root/port-supfile' perintah ini berfungsi untuk mengupgrade ports-tree anda.
Untuk lebih lengkapnya silahkan anda membaca artikel tentang bagaimana penggunaan ports didalam FreeBSD:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html
[2.2] OpenSSL
Normalnya ketika anda melakukan instalasi FreeBSD, mungkin anda telah melakukan instalasi terhadap paket
openssl ini, namun biasanya versi yang ada bukanlah versi yang terbaru, untuk itu perlu melakukan upgrade
OpenSSL. Download paketan openssl dari http://www.openssl.org kemudian segera lakukan instalasi:
[...]
./config
make
make test
make install
[...]
[2.3] OpenSSH Upgrade
Biasanya seperti yang terjadi dalam instalasi awal, seringkali dijumpai
beberapa paket pendukung yang tidak up-to-date, termasuk OpenSSH, untuk
itu segera lakukan upgrade dengan mendownload versi portable dari
http://www.openssh.com/portable.html
[...]
./configure --prefix=/usr --sysconfdir=/etc/ssh
make; make install
make clean && make distclean
Edit /usr/local/etc/ssh/sshd_config
Protocol 2
ListenAddress 192.168.0.1 # Optional
ListenAddress 2000:ffff:ffff:ffff::1 # IPv6 supported
X11Forwarding no
PermitRootLogin no
Compression yes
MaxStartups 5
cp -f sshd_config /etc/ssh/sshd_config
Jalankan /usr/local/sbin/sshd
[...]
PS: Saya sebenarnya tidak menganjurkan untuk menginstall OpenSSH sebagai SSH servis didalam mesin
anda, saya lebih suka menggunakan versi SSH2 Non Commercial, yang bisa anda install melalui ports yang sudah
anda siapkan sebelumnya.
[3] System Permission
Sederhana sebenarnya, namun mengingat bahwa *NIX (disini kita berbicara FreeBSD) adalah bersifat
multiuser, dalam artian kita tidak bisa secara langsung mengontrol segala aktifitas yang dilakukan oleh user yang
berada didalam mesin kita, dengan kondisi seperti itu `root' akan memberikan batasan-batasan apa saja yang
boleh dilakukan oleh user.
Biasanya root melakukan ini dengan menggunakan perintah `chown' atau `chmod' dan ini adalah sebagai perintah
standar didalam *NIX. Namun FreeBSD menyediakan perintah yang lebih `powerfull' dari perintah standar
diatas. Perintah tersebut adalah `chflags' disebut powerfull karena chflags mode tidak dapat dimodifikasi dengan
akses securelevel >= 1 Untuk lebih lengkap dan lebih jauh tentang securelevel silahkan anda baca manual
didalam konsol anda dengan mentikkan perintah `man securelevel'.
Bila root melakukan mode chflags /root/somefile ini akan memfungsikan `immutable flag' sehingga tidak bisa
dilakukan perubahan atau penghapusan file tersebut selain akses root, untuk lebih detailnya silahkan baca
manual tentang chflags didalam konsol anda dengan mengetikkan perintah `man chflags'.
Didalam sebuah sistem operasi, ada beberapa file dan direktori yang `tidak' boleh dilihat oleh user,
anda hanya membutuhkan bagaimana user biasa tidak bisa membaca (mengakses)
direktori tersebut (not file)
[...]
/bin
/sbin
/etc
/usr/local/bin
/usr/local/sbin
/usr/local/share
/usr/lib
/var
/var/log
/usr/local/lib
/usr/home
/usr/bin
/usr/sbin
[...]
Anda cukup melakukan perintah `chmod o-r <dir>' maka semua isi didalam direktori tersebut tidak bisa dibaca
atau dilihat oleh user.
[4] Setting systcl
Tidak semua setingan didalam FreeBSD bisa anda dapatkan didalam Linux, jadi hanya meyakinkan anda untuk
bertindak lebih bagus, atau mengetahui yang lebih bagus. Dibawah ini adalah petunjuk cepat bagaimana anda
menyeting systcl
security.bsd.see_other_uids=0 # Will hide non-owned PIDs
net.inet.tcp.blackhole=2 # Allows greater protection via TCP in the kernel (still use ipfw)
net.inet.tcp.msl=7500 # I forget, but i believe its the rate a timed out packet lives. This is 1/2 the default.
net.inet.tcp.log_in_vain=1 # log all connections via TCP
net.inet6.ip6.forwarding=1
net.inet6.ip6.redirect=1
net.inet.udp.blackhole=1 # Allows greater protection of UDP
net.inet.udp.log_in_vain=1 # log all connections via UDP
net.inet.icmp.icmplim=50
net.inet.icmp.bmcastecho=0
Untuk lebih jauh tentang setingan systcl dalam sistem operasi FreeBSD, silahkan anda membaca didalam
freebsd-handbooks.
[5] End Of Chapter 1
Next Chapter:
mtree, rc.conf settings, packet sniffing, nmap, sftp vs ftp, ipfw
[6] References
- FreeBSD Security http://www.freebsd.org
- Google `as' your friend |