Rabu, 26 September 2012

Keamanan Sistem Part 2

Untuk menjaga sistem Linux Anda aman, perhatikan pemakaian user root, akses terhadap file, pengaturan  login, password, dan enkripsinya.

Beberapa poin ini merupakan lanjutan petunjuk pengamanan root  yang telah disinggung di
bagian pertama. Batasi penggunaan konsol untuk  login sebagai root hanya pada konsol 1 dan
2 dengan cara menghapus tty3 dan tty4. Untuk membatasinya, Anda bisa melakukan editing pada  /etc/securetty, seperti tampak pada gambar berikut:
  

Batasi waktu penggunaan account root,  ini berguna jika pada suatu saat Anda lupa melakukan  logout  dari
account root. Anda perlu membatasi waktu  time out pada saat account root nonaktif. Cara membatasinya
waktunya sebagai berikut:
Edit file /root/.bashrc
Tambahkan variabel di bawah ini:
HISTFILESIZE=100
HISTSIZE=30
TMOUT=900

Variabel TMOUT berfungsi untuk menghitung waktu pada saat user root sedang tidak aktif. Lamanya
dihitung berdasarkan detik (second). Jadi jika Anda menginginkan account root untuk otomatis logout dari  shell selma 15 menit tidak ada aktivitas, Anda bisa melakukan setting 60 detik x 15 menit = 900. HISTSIZE berguna untuk membatasi history pengetikan yang dilakukan oleh root sampai dengan 30 baris. Sedangkan
HISTFILESIZE berfungsi untuk membatasi ukuran file .bash_history sampai dengan 100 byte saja
selanjutnya akan dihapus. Dengan demikian, akan mengecoh orang lain yang ingin melakukan pengintipan di
.bash_history. Anda juga bisa memasangnya di  /etc/profile, untuk menerapkannya terhadap seluruh user.
Untuk melihat efeknya, Anda harus logout terlebih dahulu. Kemudian login kembali sebagai user root.
Untuk lebih mengamankan account root, edit file /root/.bashrc, dan isikan variabel berikut:
cat /dev/null > /root/.bash_history

Variabel di atas akan mengakibatkan sistem secara otomatis akan mengosongkan .bash_history pada
saat user root melakukan login. Variabel ini bisa juga Anda masukkan di file .bashrc pada masing-masing home user untuk keamanan mereka sendiri.
Anda juga bisa memasukkan perintah pengosongan history melalui  crontab, seperti berikut ini : 
[root@localhost: ~] # crontab -e
[Insert]
59 * * * * cat /dev/null > /root/
.bash_history
[Esc]
:wq [Enter]

Perintah di atas akan mengakibatkan sistem mengosongkan file .bash_history pada direktori /root setiap satu jam sekali.

Pengamanan file dan sistem File
Mengamankan file dan sistem file sangat penting, karena akan sangat berarti bagi penyusup untuk menggunakan file yang ada demi kepentingan penyusup. Misalnya, penggunaan gcc untuk kompilasi program, akan sangat berbahaya jika dilakukan oleh user yang tidak bisa dipercaya. Beberapa menit persiapan dan perencanaan sebelum menaruh sistem Anda online  dapat membantu melindungi sistem Anda, dan data yang disimpan. Berikut ini beberapa tips untuk mengamankan file dan sistem file Anda.

Tidak ada alasan untuk menjalankan program SUID/SGID dari home user.
Gunakan opsi “nosuid” dalam /etc/ fstab untuk partisi yang dapat ditulis oleh orang selain root. Anda bisa juga menambahkan “nodev” dan “noexec” di partisi $HOME/user, juga di /var, yang melarang eksekusi program, dan penciptaan device  karakter atau blok, yang sebenarnya tidak perlu. Misalnya untuk mengamankan direktori /tmp dan direktori /home, contohnya sebagai berikut:
/dev/hda7 /tmp ext2 nosuid,defaults 1 1
/dev/hdc2 /home ext2 nodev.noexec,defaults 1 2

Konfigurasi  umask  penciptaan file user sistem Anda perlu dijaga seketat mungkin. Setting yang biasa
digunakan adalah 022, 033, dan yang paling ketat adalah 077, dan ditambahkan ke  /etc/profile. 
Set limit sistem file. Anda dapat mengendalikan limit tiap pemakai menggunakan module PAM dan  /etc/security/limits.conf. 
Sebagai contoh  limit untuk kelompok “users” mungkin tampak sebagai berikut:
@users     hard  core    0
@users     hard  nproc   50
@users     hard  rss     5000

Perintah ini berarti melarang penciptaan file core, membatasi jumlah proses hingga 50, dan membatasi penggunaan memory tiap user hingga 5M. File  /var/log/wtmp dan /var/run/utmp berisi catatan login
seluruh pemakai sistem Anda. Integritasnya harus dipelihara karena dapat digunakan untuk menentukan kapan dan dari mana seorang pemakai (atau penyusup potensial) memasuki sistem Anda. File-file ini harus memiliki permisi 644, tanpa mempengaruhi operasi sistem normal.

Jika Anda mengekspor sistem file menggunakan NFS, pastikan mengonfigurasi /etc/exports dengan akses yang seketat mungkin. Artinya tidak menggunakan wildcard, tidak membolehkan root akses menulis, dan
melakukan mount read-only  jika mungkin. 
Bit immutable dapat digunakan untuk mencegah penghapusan atau penimpahan sebuah file yang harus
dilindungi tanpa sengaja. Juga dapat mencegah seseorang menciptakan  link simbolik ke file ini, yang telah
merupakan sumber penyerangan melibatkan penghapusan  /etc/passwd atau /etc/shadow. Misalkan melindungi kedua dile tersebut di atas, caranya adalah sebagai berikut:
masaji:/etc # chattr +ua shadow
masaji:/etc # chattr +ua passwd

Perintah di atas akan mengakibatkan file shadow dan passwd tidak akan bisa dihapus dan hanya bisa
ditambahi saja (append). File-file SUID dan SGID pada sistem Anda adalah risiko keamanan potensial, dan harus diawasi dengan baik. Oleh karena program-program ini memberi izin khusus bagi pemakai yang mengeksekusinya, maka perlu dipastikan bahwa program yang tidak aman tidak diinstalasi. Trik favorit cracker  adalah mengeksploitasi program SUID “root”, lalu meninggalkan program SUID sebagai
backdoor untuk masuk di saat lain, meski lubang yang asli telah ditutup.
Carilah seluruh program SUID/SGID di sistem Anda, dan catatlah, sehingga Anda mengerti setiap perubahan yang dapat mengindikasikan penyusup potensial. Gunakan perintah berikut untuk mencari seluruh program SUID/SGID di sistem Anda.

Perketat sekuriti Anda dengan menyunting file  /etc/login.defs, dengan melakukan editing pada
bagian ini:
# Password aging controls:
#
# PASS_MAX_DAYS   Maximum number of days a password may be used.
# PASS_MIN_DAYS   Minimum number of days allowed between password changes.
# PASS_MIN_LEN    Minimum acceptable password length.
# PASS_WARN_AGE   Number of days warning given before a password expires.
  #
    PASS_MAX_DAYS   30
    PASS_MIN_DAYS   0
    PASS_MIN_LEN    8
    PASS_WARN_AGE   28
Berikan akses seminim mungkin bagi daemon atau program yang berjalan dan bila mungkin masukkan program tersebut ke dalam chrooted-jail, tentunya akses yang Anda berikan jangan sampai “menjerat” program/daemon tersebut hingga mati.
Monitor selalu proses (‘ps ax’), log (‘/var/log/’), dan file file yang terbuka (‘lsof’).
Perhatikan pula  socket  yang terbuka, dan  socket connections, dengan netstat, contoh: [root@hartx /root]# netstat -atn
Berikan perhatian ekstra jika Anda menjalankan layanan ftp publik (anonymous ftp) terutama sekali jika
Anda menggunakan Wu-ftpd, juga pada DNS Server Anda jika Anda menggunakan BIND, karena kedua
service ini paling rentan terhadap

masalah keamanan (terbukti sering terjadi “tambal sulam” pada dua program ini).
Akhirnya, sebelum mengubah perizinan di sembarang sistem file, pastikan Anda paham apa yang Anda
lakukan. Jangan pernah mengubah permisi suatu file hanya karena ini tampaknya merupakan cara termudah
menyelesaikan sesuatu. Selalu tentukan mengapa file memiliki permisi tersebut sebelum mengubahnya.

Pemeliharaan System Account Data
Sangat penting bahwa informasi yang berasal dari syslog belum diganggu. Membuat file dalam  /var/log dapat dibaca dan ditulis oleh sejumlah pemakai terbatas adalah awal yang baik. Yakinkan untuk memperhatikan apa yang ditulis di sana, khususnya dalam fasilitas ‘auth’. Banyaknya kegagalan  login, sebagai
contoh, dapat mengindikasikan usaha break-in.
Ke mana untuk melihat file log Anda tergantung pada distribusi Anda. Dalam sistem Linux yang sesuai dengan “Linux Filesystem Standard”, seperti Red Hat, Anda ingin melihat ke /var/log dan memeriksa pesan-pesan, mail.log  dan lainnya.

Anda dapat menemukan di mana distribusi Anda mencatat dengan melihat pada file  /etc/syslog.conf. Ini file yang memberitahu  syslogd  (the system logging daemon) di mana mencatat berbagai pesan. Anda mungkin ingin mengkonfigurasi  script log-rotating Anda atau daemon untuk menjaga log lebih panjang sehingga Anda memiliki waktu untuk memeriksanya. Lihat paket ‘logrotate’ dalam sistem Linux versi terbaru.
Jika file log Anda telah diganggu, lihat bila Anda dapat menentukan kapan terjadinya, dan hal-hal apa yang
diganggu. Apakah ada periode waktu yang tidak dapat dihitung? Periksa  tape back-up (jika Anda punya) untuk file log yang tidak terganggu adalah ide yang baik. File log umumnya dimodifikasi oleh penyusup dalam rangka menutup jejaknya, tetapi mereka harus juga memeriksa kejadian-kejadian aneh. Anda mungkin memperhatikan penyusup berusaha memperoleh jalan masuk, atau mengeksploitasi program dalam rangka
memperoleh rekening root. Anda mungkin melihat masukan log sebelum penyusup memiliki waktu memodifikasi mereka.
Anda harus juga yakin untuk memisahkan fasilitas ‘auth’ dari data log lain, termasuk usaha untuk mengganti
pemakai menggunakan ‘su’, usaha login, dan informasi akuntansi pemakai lainnya.
Jika mungkin, konfigurasi syslog untuk mengirim salinan data yang paling penting ke sistem yang aman. Hal ini
akan mencegah penyusup menutupi jejaknya dengan menghapus usaha login /su/ftp/etc. Lihat syslog.conf man page, dan acu pilihan ‘@’.

Akhirnya, file log kurang berguna ketika tak seorang pun membacanya. Lihatlah log file Anda sewaktu-waktu, dan kenali tampaknya untuk hari normal. Dengan mengetahui hal ini dapat membantu mengenali hal-hal yang tidak biasa.
Perizinan file
Seorang sistem administrator perlu memastikan bahwa file-file pada sistem tidak terbuka untuk pengeditan oleh pemakai dan grup yang tidak seharusnya melakukan pemeliharaan sistem semacam itu.
UNIX membedakan kendali akses pada file dan direktori berdasarkan tiga karakteristik: pemilik (owner), grup, dan yang lain (other). Selalu terdapat satu pemilik, sejumlah anggota grup, dan setiap orang lain. Penjelasannya demikian :
Read (Baca):
Mampu melihat isi file.
Mampu membaca direktori.
Write (Menulis):
Mampu menambah atau mengubah file.
Mampu menghapus atau memindah file dalam sebuah direktori.

Execute (Eksekusi):
Mampu menjalankan program biner atau  script shell.
Mampu mencari dalam sebuah direktori, dikombinasikan dengan permisi  read.
Menyimpan atribut teks: (untuk direktori) Bit sticky juga memiliki arti lain ketika diaplikasikan pada direktori. Jika bit sticky diset pada direktori, maka seorang pemakai hanya boleh menghapus file yang dimiliki atau diberi ijin menulis secara eksplisit, walaupun ia memiliki akses ke direktori. Hal ini dirancang untuk direktori seperti /tmp, yang bersifat world-writable, tetapi tidak diinginkan setiap pemakai dapat menghapus file sesukanya. Bit sticky dilihat sebagai sebuah ‘t’ dalam daftar direktori.
Atribut SUID: (untuk file) Atribut ini menggambarkan permisi set ID pemakai atas file. Ketika mode akses permisi set ID diset dalam permisi pemilik, dan file adalah eksekutabel, proses yang menjalankannya diberi izin akses kepada sumber daya sistem berdasarkan pemakai yang membuat proses. Inilah penyebab eksploitasi ‘buffer overflow’.
Atribut SGID: (untuk file) Jika diset dalam permisi grup, bit ini mengendalikan status “set group id” file.
Ia berlaku serupa dengan SUID, kecuali grup terpengaruh. File harus eksekutabel agar dapat berlaku.
Atribut SGID: (untuk direktori) Jika Anda menset bit SGID pada direktori (dengan “chmod g+s direktori”), file yang tercipta di direktori akan memiliki grup yang sama dengan grup direktori.

Pengamanan password dan enkripsi
Salah satu fitur keamanan yang penting yang digunakan saat ini adalah password. Penting bagi Anda dan seluruh pemakai  server Anda untuk memiliki password yang aman dan tidak dapat diterka. Kebanyakan distribusi Linux terbaru menyertakan program ‘passwd’ yang tidak membolehkan Anda menset password yang mudah diterka. Pastikan program passwd Anda terbaru dan memiliki fitur ini.
Kebanyakan  unicies  (dan Linux bukanlah perkecualian) utamanya menggunakan algoritma enkripsi satu
arah (one-way), disebut DES (Data Encryption Standard) untuk mengenkripsi password Anda. Password
terenkripsi ini kemudian disimpan di /etc/passwd  atau di /etc/shadow. Ketika Anda berusaha login, apapun yang Anda ketikkan dienkripsi dibandingkan dengan masukkan dalam file yang menyimpan password Anda. Jika cocok, pastilah password-nya sama, dan Anda dibolehkan mengakses. Meskipun DES merupakan algoritma enkripsi dua arah (Anda dapat meng-code  dan mendecode pesan, dengan memberi kunci yang tepat), varian yang digunakan kebanyakan unicies adalah satu arah. Artinya tidak mungkin membalik enkripsi untuk memperoleh password dari isi  /etc/passwd (atau /etc/shadow).

Serangan brute force, seperti “Crack” atau “John the Ripper” sering dapat digunakan untuk menerka password meski password Anda cukup acak. Modul PAM memungkinkan Anda menggunakan rutin enkripsi yang berbeda dengan password Anda (MD5 atau sejenisnya).

Shadow passwords
Shadow password adalah suatu cara menjaga password terenkripsi Anda dari pemakai normal. Normalnya, password terenkripsi ini disimpan di file  /etc/passwd dapat dibaca semua pemakai.
Mereka lalu dapat menjalankan program penerka password dan berusaha menentukan password-nya. Shadow password menyimpan informasi ini ke file /etc/shadow yang hanya dapat dibaca oleh pemakai yang berhak. Dalam rangka menjalankan shadow password Anda perlu memastikan bahwa seluruh utilitas
Anda yang perlu mengakses informasi password dikompilasi ulang untuk mendukungnya. PAM juga
membolehkan Anda untuk hanya memasukkan modul shadow dan tidak perlu mengkompilasi ulang eksekutabel. Anda dapat mengacu pada Shadow Password HOWTO untuk informasi lebih lanjut jika perlu. 
Contohnya sebagai berikut :
tamu:x:502:100:Hanya Tamu:/home/tamu:/
bin/bash
hartx:x:503:100:Agus Hartanto:/home/
hartx:/bin/bash

Pada contoh di atas, password dari user hartx dan tamu hanya disimboliskan sebagai  x, karena yang sesungguhnya ada dan tersimpan di file /etc/shadow. Mari kita lihat isi password yang sebenarnya :

tamu:AdtjiuUotiABk:11625:0:99999:7:0::
hartx:SbTexoIdqe4IQ:11631:0:99999:7:0::

Terlihat bahwa dengan penggunaan shadow, password dari user yang bersangkutan sudah dienkripsi
sedemikian rupa, sehingga hanya dengan super komputer saja password tersebut dapat diuraikan. Dan kalau ingin lebih cepat, tentu saja melalui metode pendekatan personal).

SSH (Secure Shell), stelnet
SSH dan stelnet adalah program yang memungkinkan Anda untuk login ke sistem remote dan memiliki koneksi yang terenkripsi. SSH adalah paket program yang digunakan sebagai pengganti yang aman untuk rlogin, rsh dan rcp. Ia menggunakan  public-key cryptography untuk mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai. Ia dapat digunakan untuk login secara aman ke remote host atau menyalin data antar-host, sementara mencegah man-in-the-middle attacks  (pembajakan sesi) dan DNS spoofing. Ia akan melakukan kompresi data pada koneksi Anda, dan komunikasi X11 yang aman
antar-host. SSH homepage dapat dijumpai di  http://www.cs.hut.fi/ssh. Anda dapat pula menggunakan SSH dari stasiun kerja Windows Anda ke server SSH Linux. Terdapat beberapa implementasi client Windows yang tersedia gratis, termasuk satu di http://guardian.htu.tuwien.ac.at/therapy/ssh/ dan juga implementasi komersial dari DataFellows, di  http://www.datafellows.com.

SSLeay adalah implementasi bebas protokol Secure Sockets Layer Netscape, termasuk beberapa aplikasi, seperti Secure telnet, modul untuk Apache, beberapa database, dan juga beberapa algoritma termasuk DES, IDEA dan Blowfish. Dengan menggunakan pustaka ini, pengganti secure telnet telah diciptakan yang melakukan enkripsi pada koneksi telnet. Tidak seperti SSH, stelnet menggunakan SSL, protokol Secure Sockets Layer yang dikembangkan Netscape. Anda dapat menjumpai Secure telnet dan Secure FTP dengan melihat dulu SSLeay FAQ, tersedia di http://www.psy.uq.oz.au.


Keamanan Sistem Part 1

Keamanan sistem Linux perlu terus dijaga agar tidak diganggu orang lain, terutama para  cracker  dari Internet. Tidak hanya menjaga keamanan fisik komputer, melainkan keamanan sistem secara keseluruhan. Ini bukan hal yang sulit, tapi juga tidak bisa dianggap remeh.

Jika Anda menjadi seorang System Aministrator, ada beberapa hal yang harus dilakukan dalam mengamati sistem yang sedang berjalan, sehingga jika ada masalah pemeliharaan atau ada aktivitas yang tidak dikehendaki, Anda bisa melakukan antisipasi pencegahan maupun perbaikan. Beberapa file yang harus Anda amati, antara lain:

 /var/log/messages
File  /var/log/messages, merupakan file yang kali pertama yang harus diamati.
Karena dari file ini Anda bisa mengetahui keadaan sistem, akses yang sedang berlangsung, dan mengetahui adanya tindakan yang  tidak biasa pada sistem, sehingga antisipasi dan pemeliharaan bisa dilakukan lebih dini. Cara mengamatinya adalah sebagai berikut: [root@localhost:~] # tail -f /var/log/messages

/var/log/httpd/access_log
File ini berfungsi melihat aktivitas apache yang sedang berjalan, juga aktivitas user yang sedang mengakses web server, semua bisa dilihat di sini. Untuk mengamatinya, Anda bisa mengetikan perintah berikut:
[root@localhost:~] # tail -f /var/log/httpd/access_log

/var/log/squid/access.log
File  /var/log/squid/access.log bisa digunakan untuk melihat akses user pada server kita. Jika digunakan di warnet (warung Internet) maupun pada ISP kita bisa melihat user di ruang berapa atau user siapa sedang mengakses sistus apa saja. Untuk melihatnya, ketikkan perintah berikut:
[root@localhost:~] # tail -f /var/log/squid/access.log

/var/log/mail
File di atas berfungsi melakukan pencatatan tentang e-mail yang datang dan terkirim. Dari sini Anda bisa melakukan pelacakan, bila diperlukan untuk memeriksa keberadaan virus komputer dan siapa yang melakukan pengiriman pertama kali. Untuk melihatnya, Anda bisa mengetikkan perintah berikut:
[root@localhost:~] # tail -f /var/log/mail

/var/log/firewall
File ini sekadar contoh log buatan penulis, berfungsi untuk melakukan pengamatan keamanan sistem yang sedang berlangsung, sehingga jika ada aktivitas yang mencurigakan, kita bisa mengambil antisipasi yang diperlukan. Untuk melihatnya, Anda bisa mengetikkan perintah sebagai berikut:
[root@localhost:~] # tail -f /var/log/firewall

Dari pembahasan di atas, kita bisa mengetahui betapa penting tugas seorang System Administrator dalam menjaga dan mengamankan sistem. Untuk menjaga agar sistem berjalan dengan baik dan antisipasi terhadap user atau penyusup yang tidak diharapkan, kita bisa melakukan pengamanan server. Mari kita bahas bersama.

Tindakan preventif pengamanan server
Pengamanan secara fisik
Beberapa insiden gangguan sistem menunjukkan perlunya pengamanan data secara fisik. Hal ini dikarenakan lebih mudah dari segi aplikasi daripada pembobolan sistem secara  remote atau jarak jauh. Oleh karena itu, penulis akan menjelaskan beberapa metode pengamanan PC Anda secara fisik.

Penguncian komputer
Pada masa lampau, banyak vendor PC yang menyertakan kunci pada setiap produk yang mereka pasarkan. Ini berguna untuk mengantisipasi dari penyadapan bahkan pencurian data secara fisik. Namun, metode ini sekarang jarang digunakan pada PC rumah tangga (standalone PC), beberapa PC branded masih menyertakan kunci pada beberapa jenis produk yang dibuat untuk kepentingan perkantoran.

Pengamanan BIOS
BIOS merupakan peranti lunak arus rendah yang berguna untuk melakukan konfigurasi atau manipulasi hardware pada PC berbasis x86. MS Windows maupun lilo dari Linux menggunakannya untuk menentukan
prosedur melakukan booting pada PC Anda. Anda perlu memproteksi BIOS Anda dengan cara memberi password padanya. Cara ini juga berguna untuk mencegah penggunaan booting up melalui floppy disk.

Cara ini tidak memberi perlindungan secara maksimal pada PC Anda, namun dapat mempersulit orang lain untuk mengacak-acak PC Anda. Perlu diingat, bahwa seiring dengan kemajuan teknologi, BIOS saat ini menggunakan metode flashroom, yang memungkinkan kita untuk mengubah konfigurasi atau bahkan
menghapusnya sama sekali. Baik secara fisik, dengan menggabungkan arus positif dan negatif pada baterai atau dengan memberi virus yang dapat mengacak-acak program BIOS yang ada.

Pengamanan Boot Loader
Sistem operasi Linux, sebagaimana UNIX variant lainnya memiliki kelemahan dalam mengamankan bootloader/lilo. Ini dikarena-kan untuk berjaga-jaga dalam keadaan darurat, misalnya jika system administrator lupa password “root”, atau melakukan resqueing system. Sehingga memungkinkan orang lain untuk ikut serta masuk ke sistem tanpa menyertakan pasword root, dengan mengetikkan:  linux single atau
linux -s pada saat PC dinyalakan dan lilo memberikan prompt. Untuk mengantisipasinya, Anda perlu memberikan password pada  /etc/lilo.conf, seperti di bawah ini:
 
boot    = /dev/hda
vga     = 771
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
prompt
menu-title=”masaji’s computer”
restricted
password = 4bl3h
timeout = 80
message = /boot/message 
image  = /boot/vmlinuz 
label  = linux  
root   = /dev/hda6 
image  = /boot/vmlinuz-baru 
label  = linux-baru 
root   = /dev/hda6

Anda perlu menambahkan  restricted dan password pada file /etc/lilo.conf, seperti terlihat di atas. Lalu jalankan lilo, hasilnya akan tampak seperti berikut ini:
[root@localhost: ~] #  lilo
Added linux *
Added linux-baru
Added suse
Added memtest86
[root@localhost: ~] #

Penggunaan xlock dan vlock
Jika Anda sering kali meninggalkan komputer untuk keperluan makan siang, maupun keperluan lain namun tidak ingin melakukan  shutdown karena sedang tanggung dalam menyelesaikan pekerjaan, Anda bisa menjalankan xlock. Xlock dirancang untuk mengunci konsol X, Anda bisa menggunakannya untuk mengamankan desktop pada saat ingin meninggalkan meja Anda. Sedangkan bagi Anda yang menggunakan konsol teks, ini biasa yang menggunakan program vi untuk melakukan editing maupun pemrograman, bisa menjalankan vlock. Vlock merupakan program yang berfungsi untuk mengunci beberapa atau semua konsole teks yang terbuka. 

Pengamanan peranti lunak
Di samping pengamanan secara fisik, Anda juga memerlukan pengamanan sistem melalui berbagai perangkat (tools) yang ada pada sistem itu sendiri. Pengamanan ini berguna dalam mengantisipasi penggunaan jaringan yang terhubung dengan PC Anda, lebih-lebih bilamana PC Anda merupakan server utama yang bertugas melayani beragam keperluan dari client, baik lokal maupun Internet. Berbagai bentuk perlindungan ada di Internet, baik yang ditawarkan sebagai program komersial seperti Xsentry, maupun yang bersifat GPL atau  free.

Pemasangan firewall
Jika Anda mempunyai beberapa buah komputer yang saling terhubung lewat jaringan (ethernet misalnya), dapat menggunakan linux sebagai pintu gerbang (router/gateway) untuk menyambungkan semua komputer Anda menuju Internet. Router dan gateway sendiri sebenarnya secara teori mempunyai filosofi arti yang
berbeda, gateway sebenarnya mengacu pada alat yang difungsikan untuk menjembatani dua buah jaringan yang mempunyai topologi berbeda, berbeda subnet, dan sebagainya, sedangkan router untuk mengatur pengalamatan paket paket data dalam jaringan yang berbeda sehingga komunikasi dapat terlaksana.
Akan tetapi, dalam kenyataan sehari hari router dan gateway sering kali hanya ditangani oleh sebuah alat saja. Hal inilah yang menyebabkan router selalu diidentikkan dengan gateway, demikian pula sebaliknya.

Pada saat PC kita bisa berhubungan satu sama lain, maka akan kita temui satu persoalan baru, yaitu bagaimana agar kita tidak kedatangan “tamu tak diundang”. Untuk itulah kita buat firewall. Jika server Anda bukan merupakan layanan untuk publik, tentukan dari host/IP mana saja yang diizinkan untuk mengakses
ke server Anda, kemudian lakukan DENY/DROP/REJECT terhadap paket-paket yang bukan dari host/IP yang Anda izinkan, gunakan ipfwadm/ipchains/iptables,ipfw, atau ipf untuk melakukan filtering/firewalling.
Firewall adalah suatu cara untuk membatasi informasi yang dibolehkan masuk dan keluar dari jaringan lokal Anda.
Umumnya host firewall terhubung ke Internet dan LAN lokal Anda, dan akses LAN Anda ke Internet hanya melalui firewall. Dengan demikian, firewall dapat mengendalikan apa yang diterima dan dikirim dari Internet dan LAN Anda. Firewall adalah teknik yang sangat berguna dan penting dalam mengamankan jaringan Anda. Penting untuk menyadari bahwa Anda tidak boleh pernah berpikir bahwa dengan memiliki firewall, Anda tidak perlu mengamankan mesin-mesin di baliknya. Ini kesalahan fatal. Periksa Firewall-HOWTO yang sangat bagus di arsip terbaru sunsite untuk informasi mengenai firewall dan Linux. http://sunsite.unc.edu/mdw/HOWTO/Firewall-HOWTO.html.

Setting firewall
Setting  firewall personal ini sekilas kelihatan kalau ruwet, namun sebenarnya tidak begitu. Di sini disertakan maquerading, karena bilamana ada rekan kita yang membawa laptop ingin “nebeng” jaringan Internet, ataupun berbagi file dan data, maka kita akan membukanya satu per satu. Selain itu, sebagai jaga-jaga kalau ada rekan kita yang usil “ngerjain” PC kita, karena “sesama bis kota dilarang saling mendahului”.
Pemasangan firewall dengan Iptables
Penggunaan IPTABLES ini diperuntukkan bagi yang menggunakan kernel 2.4.x, program IPTABLES ini lebih lengkap dari segi fasilitasnya dan juga lebih “aman” dibandingkan ipchains. Disarankan Anda menggunakan IPTABLES versi 1.2.5 ke atas untuk amannya.

Penggunaan Portsentry
Portsentry dirancang khusus untuk memperlambat proses penjejakan (scanning) yang biasa dilakukan oleh user, baik user eksternal maupun user internal sendiri. Di dalam buku ini sudah disertakan CD, yang salah satunya berisi program Portsentry.
Cara kerja program ini pada dasarnya akan melakukan indikasi terhadap penjajakan (scanning) melalui syslog. Jika ada, sasaran akan secara otomatis diarahkan kepada /etc/hosts.deny. Portsentry akan melakukan konfigurasi ulang terhadap host lokal terhadap route penjajak (scanner), sehingga akan mengakibatkan sistem menjadi “menghilang”. Selanjutnya, host lokal akan melakukan blokir melalui filter yang ada.

Pengamanan lokal
Setelah kita membahas bersama masalah penggunaan firewall dan Portsentry dalam mengantisipasi penyusupan ataupun gangguan terhadap sistem, sekarang kita menginjak pada pengamanan sistem internal. Pengamanan ini tidak kalah pentingnya dibandingkan penggunaan firewall. Keduanya, jika dipadukan akan memberikan hasil yang optimal dalam melindungi sistem dari orang-orang yang tidak berhak. Berikut ini penjelasan sederhana mengenai pengamanan lokal jaringan.

Pembuatan rekening baru
Anda harus memastikan bahwa Anda memberikan account kepada orang yang tepat sesuai kebutuhan dan tugas-tugasnya. Beberapa aturan yang penting bagi orang yang boleh mengakses sistem Anda, sebagai berikut:
Beri mereka fasilitas minimal sepanjang yang dibutuhkan saja. 
Perhatikan jika mereka mencoba untuk mengakses area yang bukan hak mereka. 
Hapus rekening mereka seketika mereka tidak lagi membutuhkan akses.

Pengamanan root
Root merupakan account yang paling dicari oleh para perusak sistem (cracker), beberapa hal yang perlu Anda pastikan dalam mengamankan account root, adalah sebagai berikut: 
  • Jangan sekali-sekali login sebagai root, jika tidak sangat perlu. 
  • Jika terpaksa ingin menggunakan root, login-lah sebagai user biasa kemudian gunakan perintah su (substitute user). 
  • Jangan sekali-sekali menggunakan seperangkat utilitas, seperti rlogin/rsh/rexec (disebut utilitas r) sebagai root.
    Mereka menjadi sasaran banyak serangan dan sangat berbahaya bila dijalankan sebagai root. Jangan membuat file .rhosts untuk root. 
  • Jangan pernah menggunakan “.”, yang berarti direktori saat ini dalam penyertaan path.

Bilangan Biner

Berikut penjelasan singkat tentang bilangan biner, semoga bermanfaat dan bisa dipelajari dengan mudah..
Sebagai contoh dari bilangan desimal, untuk angka 157:
157(10) = (1 x 100) + (5 x 10) + (7 x 1)
Perhatikan! bilangan desimal ini sering juga disebut basis 10. Hal ini dikarenakan perpangkatan 10 yang didapat dari 100, 101, 102, dst.
Mengenal Konsep Bilangan Biner dan Desimal
Perbedaan mendasar dari metoda biner dan desimal adalah berkenaan dengan basis. Jika desimal berbasis 10 (X10) berpangkatkan 10x, maka untuk bilangan biner berbasiskan 2 (X2) menggunakan perpangkatan 2x. Sederhananya perhatikan contoh di bawah ini!
Untuk Desimal:
14(10) = (1 x 101) + (4 x 100)
= 10 + 4
= 14
Untuk Biner:
1110(2) = (1 x 23) + (1 x 22) + (1 x 21) + (0 x 20)
= 8 + 4 + 2 + 0
= 14

Bentuk umum dari bilangan biner dan bilangan desimal adalah :

Biner
1
1
1
1
1
1
1
1
11111111
Desimal
128
64
32
16
8
4
2
1
255
Pangkat
27
26
25
24
23
22
21
20
X1-7

Sekarang kita balik lagi ke contoh soal di atas! Darimana kita dapatkan angka desimal 14(10) menjadi angka biner 1110(2)?
Mari kita lihat lagi pada bentuk umumnya!

Biner
0
0
0
0
1
1
1
0
00001110
Desimal
0
0
0
0
8
4
2
0
14
Pangkat
27
26
25
24
23
22
21
20
X1-7
Mari kita telusuri perlahan-lahan!
            • Pertama sekali, kita jumlahkan angka pada desimal sehingga menjadi 14. anda lihat angka-angka yang menghasilkan angka 14 adalah 8, 4, dan 2!
            • Untuk angka-angka yang membentuk angka 14 (lihat angka yang diarsir), diberi tanda biner “1”, selebihnya diberi tanda “0”.
            • Sehingga kalau dibaca dari kanan, angka desimal 14 akan menjadi 00001110 (terkadang dibaca 1110) pada angka biner nya.

Mengubah Angka Biner ke Desimal
Perhatikan contoh!

1. 11001101(2)
Biner
1
1
0
0
1
1
0
1
11001101
Desimal
128
64
0
0
8
4
0
1
205
Pangkat
27
26
25
24
23
22
21
20
X1-7

Note:
            • Angka desimal 205 didapat dari penjumlahan angka yang di arsir (128+64+8+4+1)
            • Setiap biner yang bertanda “1” akan dihitung, sementara biner yang bertanda “0” tidak dihitung, alias “0” juga.

2. 00111100(2) 
Biner
0
0
1
1
1
1
0
0
00111100
0
0
0
32
16
8
4
0
0
60
Pangkat
27
26
25
24
23
22
21
20
X1-7

Mengubah Angka Desimal ke Biner
Untuk mengubah angka desimal menjadi angka biner digunakan metode pembagian dengan angka 2 sambil memperhatikan sisanya.
Perhatikan contohnya!

1.         205(10)
205 : 2 = 102 sisa 1
102 : 2 = 51 sisa 0
51 : 2 = 25 sisa 1
25 : 2 = 12 sisa 1
12 : 2 = 6 sisa 0
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
1            sebagai sisa akhir “1”

Note:
Untuk menuliskan notasi binernya, pembacaan dilakukan dari bawah yang berarti 11001101(2)

2.         60(10)
60 : 2 = 30 sisa 0
30 : 2 = 15 sisa 0
15 : 2 = 7 sisa 1
7 : 2 = 3 sisa 1
3 : 2 = 1 sisa 1
1          sebagai sisa akhir “1”
Note:
Dibaca dari bawah menjadi 111100(2) atau lazimnya dituliskan dengan 00111100(2). Ingat bentuk umumnnya mengacu untuk 8 digit! Kalau 111100 (ini 6 digit) menjadi 00111100 (ini sudah 8 digit).

Aritmatika Biner
Pada bagian ini akan membahas penjumlahan dan pengurangan biner. Perkalian biner adalah pengulangan dari penjumlahan; dan juga akan membahas pengurangan biner berdasarkan ide atau gagasan komplemen.

Penjumlahan Biner
Penjumlahan biner tidak begitu beda jauh dengan penjumlahan desimal. Perhatikan contoh penjumlahan desimal antara 167 dan 235!
1          7 + 5 = 12, tulis “2” di bawah dan angkat “1” ke atas!
167
235
---- +
402
Seperti bilangan desimal, bilangan biner juga dijumlahkan dengan cara yang sama. Pertama-tama yang harus dicermati adalah aturan pasangan digit biner berikut:
0 + 0 = 0
0 + 1 = 1
1 + 1 = 0           dan menyimpan 1
sebagai catatan bahwa jumlah dua yang terakhir adalah :
1 + 1 + 1 = 1        dengan menyimpan 1
Dengan hanya menggunakan penjumlahan-penjumlahan di atas, kita dapat melakukan penjumlahan biner seperti ditunjukkan di bawah ini:

11111                “simpanan 1” ingat kembali aturan di atas!
01011011            bilangan biner untuk 91
01001110            bilangan biner untuk 78
------------ +
10101001           Jumlah dari 91 + 78 = 169
Silahkan pelajari aturan-aturan pasangan digit biner yang telah disebutkan di atas!
Contoh penjumlahan biner yang terdiri dari 5 bilangan!

11101              bilangan 1)
10110              bilangan 2)
  1100              bilangan 3)
11011              bilangan 4)
  1001              bilangan 5)
-------- +

untuk menjumlahkannya, kita hitung berdasarkan aturan yang berlaku, dan untuk lebih mudahnya perhitungan dilakukan bertahap!



 













sekarang coba tentukan berapakah bilangan 1,2,3,4 dan 5! Apakah memang perhitungan di atas sudah benar?

Pengurangan Biner
Pengurangan bilangan desimal 73426 – 9185 akan menghasilkan:
73426         lihat! Angka 7 dan angka 4 dikurangi dengan 1
9185        digit desimal pengurang.
--------- -
64241    Hasil pengurangan akhir .

Bentuk Umum pengurangan :
0 – 0 = 0
1 – 0 = 0
1 – 1 = 0
0 – 1 = 1        dengan meminjam ‘1’ dari digit disebelah kirinya!



Untuk pengurangan biner dapat dilakukan dengan cara yang sama. Coba perhatikan bentuk pengurangan berikut:
1111011    desimal 123
101001     desimal 41
--------- -
1010010    desimal 82
Pada contoh di atas tidak terjadi “konsep peminjaman”. Perhatikan contoh berikut!
     0                      kolom ke-3 sudah menjadi ‘0’, sudah dipinjam!
111101      desimal 61
10010      desimal 18
------------ -
101011      Hasil pengurangan akhir 43 .
Pada soal yang kedua ini kita pinjam ‘1’ dari kolom 3, karena ada selisih 0-1 pada kolom ke-2. Lihat Bentuk Umum!
7999                              hasil pinjaman
800046
397261
--------- -
402705
Sebagai contoh pengurangan bilangan biner 110001 – 1010 akan diperoleh hasil sebagai berikut:
1100101
1010
---------- -
100111

Komplemen
Salah satu metoda yang dipergunakan dalam pengurangan pada komputer yang ditransformasikan menjadi penjumlahan dengan menggunakan minusradiks-komplemen satu atau komplemen radiks. Pertama-tama kita bahas komplemen di dalam sistem desimal, dimana komplemen-komplemen tersebut secara berurutan disebut dengan komplemen sembilan dan komplemen sepuluh (komplemen di dalam system biner disebut dengan komplemen satu dan komplemen dua). Sekarang yang paling penting adalah menanamkan prinsip ini:
“Komplemen sembilan dari bilangan desimal diperoleh dengan mengurangkan masing-masing digit desimal tersebut ke bilangan 9, sedangkan komplemen sepuluh adalah komplemen sembilan ditambah 1”
Lihat contoh nyatanya!
Bilangan Desimal 123 651 914
Komplemen Sembilan 876 348 085
Komplemen Sepuluh 877 349 086 􀃆 ditambah dengan 1!
Perhatikan hubungan diantara bilangan dan komplemennya adalah simetris. Jadi, dengan memperhatikan contoh di atas, komplemen 9 dari 123 adalah 876 dengan simple menjadikan jumlahnya = 9 ( 1+8=9, 2+7=9 , 3+6=9 )!
Sementara komplemen 10 didapat dengan menambahkan 1 pada komplemen 9, berarti 876+1=877!
Pengurangan desimal dapat dilaksanakan dengan penjumlahan komplemen sembilan plus satu, atau penjumlahan dari komplemen sepuluh!
893                  893                              893
321                  678 (komp. 9)              679 (komp. 10)
---- -                 ---- +                            ---- +
572                  1571                            1572
      1
---- +
572       angka 1 dihilangkan!
Analogi yang bisa diambil dari perhitungan komplemen di atas adalah, komplemen satu dari bilangan biner diperoleh dengan jalan mengurangkan masing-masing digit biner tersebut ke bilangan 1, atau dengan bahasa sederhananya mengubah masing-masing 0 menjadi 1 atau sebaliknya mengubah masing-masing 1 menjadi 0. Sedangkan komplemen dua adalah satu plus satu. Perhatikan Contoh .!
Bilangan Biner            110011 101010 011100
Komplemen Satu         001100 010101 100011
Komplemen Dua         001101 010110 100100

Pengurangan biner 110001 – 1010 akan kita telaah pada contoh di bawah ini!
110001      110001      110001
001010      110101      110110
--------- -      --------- +     --------- +
100111      100111    1100111
dihilangkan!


Sistem Oktal dan Heksa Desimal

Bilangan oktal adalah bilangan dasar 8, sedangkan bilangan heksadesimal atau sering disingkat menjadi heks. ini adalah bilangan berbasis 16. Karena oktal dan heks ini merupakan pangkat dari dua, maka mereka memiliki hubungan yang sangat erat. oktal dan heksadesimal berkaitan dengan prinsip biner!

1. Ubahlah bilangan oktal 63058 menjadi bilangan biner !
6       3       0       5        oktal
110   011   000   101    biner

Note:
        • Masing-masing digit oktal diganti dengan ekivalens 3 bit (biner)
        • Untuk lebih jelasnya lihat tabel Digit Oktal di bawah!

2. Ubahlah bilangan heks 5D9316 menjadi bilangan biner !
heks               biner
5     0101
D     1101
9     1001
3     0011
Note:
        • Jadi bilangan biner untuk heks 5D9316 adalah 0101110110010011

3. Ubahlah bilangan biner 1010100001101 menjadi bilangan oktal !
001   010   100   001   101      biner
3       2       4       1       5     oktal
Note:
        • Kelompokkan bilangan biner yang bersangkutan menjadi 3-bit mulai dari kanan!

4. Ubahlah bilangan biner 101101011011001011 menjadi bilangan heks !
0010 1101 0110 1100 1011                   biner
2       D       6       C       B          heks

Tabel Digit Oktal
Digit Oktal
Ekivalens 3-Bit
0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111

Tabel Digit Heksadesimal
Digit Desimal
Ekivalens 4-Bit
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
A (10)
1010
B (11)
1011
C (12)
1100
D (13)
1101
E (14)
1110
F (15)
1111