Banyak pertanyaan yang mungkin timbul di pikiran kita. Mengapa kita membutuhkan kemanan, atau seberapa aman, atau apa yang hendak kita lindungi, seberapa pentingkah data kita sehingga perlu memusingkan diri dengan masalah keamanan. Pertama akan dijelaskan mengapa kita membutuhkan keamanan. Dalam dunia global dengan komunikasi data yang selalu berkembang dengan pesat dari waktu ke waktu, koneksi internet yang semakin murah, masalah keamanan seringkali luput dari perhatian pemakai komputer dan mulai menjadi isu yang sangat serius. Kemananan data saat ini telah menjadi kebutuhan dasar karena perkomputeran secara global telah menjadi tidak aman. Sementara data anda berpindah dari satu titik ke titik lainnya di Internet, mungkin data tersebut melewati titik - titik lain dalam perjalanannya, yang memberikan kesempatan kepada orang lain untuk mengganggunya. Bahkan mungkin beberapa pengguna dari sistem anda, mengubah data yang dimiliki menjadi sesuatu yang tidak anda inginkan. Akses yang tidak terotorisasi ke dalam sistem anda mungkin bisa diperoleh oleh penyusup, yang disebut 'cracker', yang kemudian menggunakan kemampuannya untuk mencuri data, atau pun melakukan hal - hal lain yang merupakan mimpi buruk bagi anda.
Sekarang kita akan mempelajari lebih jauh mengenai seberapa tinggi tingkat kemanan yang kita miliki, atau pun kita perlukan. Satu hal yang perlu diingat adalah tidak ada satu sistem komputer pun yang memiliki sistem keamanan yang sempurna. Hal yang dapat anda lakukan hanya mencoba meminimalisir celah keamanan yang ada. Untuk pengguna Linux rumahan yang hanya menggunakannya untuk keperluan pribadi saja di rumah, mungkin tidak perlu memikirkan terlalu banyak tindakan pencegahan. Tetapi untuk pengguna Linux yang termasuk dalam skala besar, seperti bank dan perusahaan telekomunikasi, banyak usaha ekstra keras yang harus dilakukan.
Hal lain yang perlu diingat adalah semakin aman sistem yang anda miliki, maka sistem komputer akan menjadi semakin merepotkan. Anda harus menyeimbangkan antara kenyamanan pemakaian sistem dan proteksi demi alasan keamanan. Sebagai contoh, anda bisa saja memaksa orang lain yang ingin masuk ke dalam sistem anda untuk menggunakan call-back modem untuk melakukan panggilan balik melalui nomor telepon rumah mereka. Cara ini kelihatannya memang lebih aman, tapi jika tidak ada seorang pun di rumah, akan menyulitkan mereka untuk login. Anda juga dapat mengatur konfigurasi sistem Linux anda tanpa jaringan atau koneksi ke Internet, tapi pembatasan ini akan membatasi kegunaan jaringan itu sendiri.
Jika anda memiliki situs dengan ukuran menengah sampai besar, anda harus membangun seperangkat kebijakan dalam hal keamanan yang menyatakan tingkat keamanan yang diperlukan. Anda dapat menemukan berbagai informasi mengenai contoh kebijakan dalam hal keamanan yang umum digunakan di http://www.faqs.org/rfcs/rfc2196.html. Informasi ini sering diperbarui, dan berisi lingkup kerja yang bagus untuk mengembangkan kebijakan keamanan untuk perusahaan anda.
Sebelum anda berusaha melakukan pengamanan terhadap sistem yang anda miliki, anda harus menentukan terlebih dahulu beberapa hal. Hal - hal yang perlu dipikirkan, yaitu tingkat ancaman yang harus anda antisipasi, resiko yang harus diambil, dan seberapa kebal sistem anda sebagai hasil usaha yang telah anda lakukan. Anda harus menganalisa sistem anda untuk mengetahui apa yang anda lindungi, kenapa anda melindunginya, seberapa besar nilai data yang anda lindungi, dan siapa yang bertanggung jawab terhadap data dan aset lain dalam sistem anda.
Resiko adalah kemungkinan dimana seorang penyusup mungkin bisa berhasil dalam usahanya untuk mengakses komputer anda. Dapatkah seorang penyusup membaca atau menulis berkas, atau pun mengeksekusi program yang dapat menyebabkan kerusakan? Dapatkah mereka menghapus data yang penting? Sebagai tambahan, memiliki account yang tidak aman dalam sistem anda dapat berakibat kecurian pada jaringan anda. Anda harus memutuskan siapa yang anda percaya untuk mengakses sistem dan siapa yang dapat menimbulkan ancaman bagi sistem anda.
Ada beberapa tipe penyusup yang karakteristiknya berbeda satu dengan lainnya, diantaranya:
The Curious Penyusup tipe ini pada dasarnya tertarik mencari tahu tipe sistem dan data yang anda miliki.
The Malicious Penyusup tipe ini, mengganggu sistem sehingga tidak dapat bekerja dengan optimal, merusak halaman situs web anda, atau pun memaksa anda untuk menghabiskan banyak uang dan waktu untuk memperbaiki kerusakan yang dibuatnya.
The High-Profile Intruder Penyusup tipe ini mencoba menyusup ke dalam sistem anda untuk mendapatkan ketenaran dan pengakuan. Kemungkinan dia akan menggunakan sistem anda yang canggih sebagai sarana untuk membuatnya terkenal karena telah berhasil menyusup sistem kemanan komputer anda.
The Competition Penyusup tipe ini tertarik pada data yang dimiliki oleh sistem anda. Penyusup ini mungkin adalah seseorang yang berpikir ada sesuatu yang berharga yang dapat memberikan keuntungan baginya.
The Borrowers Penyusup tipe ini akan menggunakan sumber daya yang kita miliki untuk kepentingan mereka sendiri. Biasanya penyusup ini akan menjalankannya sebagai server chatting (irc), situs porno, atau bahkan server DNS.
The Leapfrogger Penyusup tipe ini hanya tertarik menggunakan sistem yang anda miliki untuk masuk ke dalam sistem lain. Jika sistem anda terhubung atau merupakan sebuah gateway ke sejumlah host internal, anda akan menyaksikan penyusup tipe ini sedang berusaha untuk berkompromi dengan sistem yang anda miliki.
Ciptakanlah kebijakan yang sederhana dan umum digunakan, dimana tiap pengguna dalam sistem anda dapat mengerti dan mengikutinya. Kebijakan tersebut harus dapat melindungi data anda sendiri sebagaimana melindungi kerahasiaan dari tiap pengguna. Beberapa hal yang perlu dipertimbangkan adalah: siapa sajakah yang memiliki akses ke sistem anda, siapa sajakah yang diizinkan untuk menginstall program ke dalam sistem, siapa memiliki data apa, perbaikan terhadap kerusakan yang mungkin terjadi, dan penggunaan yang wajar dari sistem.
Sebuah kebijakan mengenai keamanan yang dapat diterima secara umum dimulai dengan pernyataan "Mereka yang tidak diizinkan, dilarang masuk". Artinya, kecuali anda memberikan izin akses kepada service atas seorang pengguna, maka pengguna tersebut haruslah tidak bisa melakukan apa - apa sampai anda memberikan izin akses kepadanya. Yakinkan bahwa kebijakan yang anda buat, dapat berjalan dengan baik pada account pengguna biasa. Dengan mengatakan "Ah, saya tidak habis pikir mengenai masalah perizinannya" atau "Saya malas", biasanya seseorang akan melakukan segala sesuatunya sebagai root. Hal ini dapat menyebabkan terciptanya lubang keamanan yang belum ada sebelumnya. rfc1244 adalah dokumentasi yang menjelaskan cara untuk membuat kebijakan keamanan jaringan sendiri. Sedangkan dokumentasi yang menjelaskan mengenai contoh kebijakan keamanan dengan deskripsi yang lengkap untuk tiap tahapnya dapat anda lihat di rfc1281.
Dokumen ini mendiskusikan berbagai macam cara untuk mengamankan aset anda. Sebagai contoh mesin lokal anda, data anda, pengguna anda, jaringan anda, dan bahkan reputasi anda sendiri. Apa yang akan terjadi pada reputasi anda, jika seorang penyusup berhasil menghapus sebagian pengguna data anda? Atau merusak situs web anda? Atau bahkan menerbitkan rencana proyek perusahaan anda untuk beberapa tahun kedepan? Jika anda berencana untuk membangun sebuah instalasi jaringan, ada banyak faktor yang harus anda perhitungkan sebelum menambahkan satu demi satu mesin ke dalam jaringan anda.
Bahkan dengan account panggilan PPP tunggal anda, atau bahkan sebuah situs kecil, bukan berarti si penyusup tidak tertarik pada sistem yang anda miliki. Situs - situs raksasa bukanlah satu - satunya target sasaran, karena banyak penyusup yang ingin mengeksploitasi sebanyak mungkin situs yang ada, seberapa pun juga ukurannya. Sebagai tambahan mereka mungkin menggunakan lubang keamanan dalam situs anda untuk memperoleh akses ke situs lain yang mereka tuju. Penyusup tidak perlu melakukan tebak - tebakan mengenai cara anda mengamankan sistem karena mereka memiliki banyak waktu. Kemungkinan besar cara yang mereka gunakan adalah mencoba semua kemungkinan yang ada (brute force).
Lapisan kemanan pertama yang harus anda perhitungkan adalah keamanan secara fisik dalam sistem komputer anda. Siapa saja yang memiliki akses secara langsung ke sistem? Apakah mereka memang berhak? Dapatkah anda melindungi sistem anda dari maksud dan tujuan mereka? Apakah hal tersebut perlu anda lakukan?
Berapa banyak keamanan fisik yang berada dalam sistem anda memiliki ketergantungan terhadap situasi yang anda hadapi, dan tentu saja anggaran. Apabila anda adalah pengguna rumahan, maka kemungkinan anda tidak membutuhkan banyak. Tapi jika anda berada di laboratorium, atau pun jaringan komputer tempat anda bekerja, banyak yang harus anda pikirkan. Secara nyata dan jelas, metode keamanan secara fisik yang bisa dilakukan antara lain dengan mngunci pintu, kabel, laci, tapi semuanya itu diluar pembahasan dalam bagian ini.
Banyak komputer pribadi saat ini yang memiliki kemampuan mengunci. Biasanya kunci ini berupa soket pada bagian depan casing yang bisa dimasukkan kunci untuk mengunci mau pun membukanya, Kunci casing dapat membantu mencegah seseorang untuk mencuri dari komputer, atau membukanya secara langsung untuk memanipulasi atau pun mencuri perangkat keras yang anda miliki. Kunci ini juga berguna untuk mencegah orang tertentu untuk mereboot komputer anda dari disket mau pun perangkat keras lainnya.
Kunci casing ini melakukan hal-hal yang berbeda menurut fasilitas yang ditawarkan oleh motherboard dan bagaimana struktur casing itu sendiri. Pada banyak komputer pribadi, perusahaan pembuat menciptakan casing tersebut sedemikian rupa sehingga anda harus menghancurkannya untuk membukanya. Sedangkan pada tipe casing yang lain, keyboard mau pun mouse baru tidak dapat dipasangkan ke dalamnya. Periksalah mainboard anda, mau pun instruksinya untuk informasi lebih lanjut. Kadang - kadang hal ini bisa menjadi sangat berguna, walau pun kunci yang digunakan seringkali berkualitas rendah dan dapat dengan mudah dikalahkan oleh si penyerang dengan metode pembukaan kunci yang dimilikinya.
Beberapa mesin terutama SPARC dan Mac punya pengaman di bagian belakangnya, sehingga jika ada yang memasukkan kabel ke dalamnya, si penyerang harus memotong kabelnya atau merusak casing untuk masuk ke dalamnya. Dengan meletakkan padlock atau combo lock akan menjadi pengamanan yang cukup baik untuk mencegah orang lain mencuri mesin anda.
BIOS adalah tingkatan terendah dari perangkat lunak yang mengkonfigurasi atau memanipulasi perangkat keras anda. BIOS adalah singkatan dari Basic Input Output System. LILO dan berbagai metode boot Linux lainnya mengakses BIOS untuk menentukan cara untuk memboot mesin Linux anda. Perangkat keras lain yang dijalankan dengan Linux memiliki perangkat lunak yang mirip (Open Firmware di Mac dan new Suns, Sun boot PROM, dll). Anda dapat menggunakan BIOS untuk mencegah penyerang untuk mem-boot komputer dan memanipulasi sistem Linux anda.
Banyak BIOS komputer yang bisa diset kata kuncinya. Walau pun begitu, keamanan belum terjamin karena seseorang bisa saja menset ulang BIOS atau pun membuangnya jika ada orang yang mampu memasuki casing-nya. Mirip dengan itu, EEPROM S/Linux dapat diset untuk memenuhi sebuah kata kunci boot. Hal ini mungkin dapat memperlambat gerak si penyerang. Resiko lainnya dari mempercayai kata kunci BIOS untuk mengamankan sistem anda adalah masalah kata kunci yang digunakan. Kebanyakan pembuat BIOS tidak berharap pembeli untuk membuka komputernya dan mencabut baterai untuk menghilangkan kata kuncinya apabila mereka lupa. Pembuat BIOS ini seringkali melengkapi BIOS mereka dengan kata kunci standar dari pembuatnya.
Banyak BIOS dari komputer dengan sistem x86 memberikan kemudahan untuk mengatur berbagai macam seting keamanan. Periksalah manual BIOS anda atau lihatlah pada saat anda akan melakukan boot up lagi. Sebagai contoh, beberapa BIOS tidak mengizinkan anda untuk mem- boot dari disket dan menuntut kata kunci untuk mengakses fasilitas tertentu dari BIOS. Sebagai catatan, jika anda memiliki mesin server, dan anda mengeset sebuah kata kunci boot, mesin anda tidak akan melakukan boot tanpa sepengetahuan dari anda sendiri. Ingatlah bahwa anda harus masuk ke ruangan server dan menyediakan kata kunci setiap kali terjadi penurunan daya listrik.
Berbagai macam boot loader Linux juga memiliki seperangkat kata kunci boot. Sebagai contoh, LILO memiliki kata kunci dan beberapa seting tertutup. LILO akan meminta masukan berupa kata kunci dari pengguna, sementara seting tertutup meminta kata kunci boot-time jika anda menambahkan option (misalnya single) di prompt LILO.
Ingatlah selalu kata kunci yang anda masukkan pada saat seting. Juga jangan lupa bahwa kata kunci tersebut akan memperlambat gerakan beberapa hacker. Jika anda menerapkan keamanan dalam boot-loader, aturlah BIOS anda sehingga komputer tidak bisa diboot dari disket, dan berikan kata kunci pada BIOS anda.
Jangan lupa juga untuk menset atribut berkas /etc/lilo.conf menjadi 600 (rw- --- ---), yang artinya berkas tersebut hanya bisa dibaca dan ditulis oleh root. Jika tidak, orang lain akan dapat mengetahui kata kunci anda. Jika anda memiliki sebuah server, dan memberikan kata kunci boot, maka mesin anda tidak akan dapat mem-boot tanpa seizin anda. Ingatlah bahwa anda harus datang dan memasukkan kata kunci setiap kali terjadi masalah dengan daya listrik pada ruangan di mana server berada.
Hal berikutnya yang akan kita perhatikan lebih lanjut adalah keamanan sistem terhadap serangan dari pengguna lokal. Mendapatkan akses ke account pengguna lokal adalah hal pertama yang dilakukan oleh penyusup sistem untuk memperoleh account root. Dengan sistem keamanan yang lemah, seorang pengguna biasa dapat menjadi root dengan menggunakan berbagai macam bug yang ada dan service dari localhost yang rentan. Jika anda yakin, bahwa sistem keamanan anda cukup baik, maka si penyusup akan mencari jalan lain untuk menyusup ke sistem anda.
Anda harus yakin bahwa anda menyediakan account pengguna dengan keleluasaan minimal sesuai dengan tugas yang akan mereka kerjakan. Jika anda menyediakan account kepada seorang anak berumur 10 tahun, anda mungkin hanya akan memberikan akses ke program pengolah kata dan program menggambar kepadanya, sehingga dia tidak bisa menghapus berkas yang bukan miliknya sendiri.
Beberapa tips yang mungkin bisa membantu membatasi akses:
Berikan kepada mereka akses yang minimum sesuai dengan kebutuhannya
Berhati-hatilah, perhatikan kapan dan dimana mereka login
Pastikan bahwa anda telah menghapus account yang sudah tidak digunakan lagi, yang dapat anda tentukan dengan perintah 'last' atau pun dengan memeriksa berkas log aktivitas dari tiap pengguna.
Penggunaan userid yang sama untuk semua komputer dan jaringan sangat dianjurkan untuk mempermudah pemeliharaan account, dan memudahkan analisa berkas log.
Pembuatan userid dengan group harus dihindari. Account pengguna lebih mudah untuk diawasi dan diperhitungkan, berbeda halnya dengan account group.
Account root memiliki akses penuh terhadap keseluruhan sistem. Ingat jangan menggunakan account root dengan sembarangan. Gunakan account root hanya untuk mengerjakan suatu pekerjaan khusus saja dan lakukan dalam jangka waktu yang tidak terlalu lama. Biasakan untuk menggunakan account pengguna biasa untuk menjalankan aplikasi sehari - hari. Bahkan kesalahan terkecil yang dilakukan pada saat login sebagai root dapat menyebabkan kekacauan yang fatal.
Beberapa trik untuk menghindari kekacauan ketika login sebagai root:
Ketika mengetikkan beberapa perintah yang kompleks, cobalah untuk menjalankannya pertama kali dengan cara yang aman, khususnya perintah yang menggunakan globbing. Anda dapat juga menggunakan echo di depan perintah yang anda ketikkan, sehingga anda yakin bahwa anda benar - benar ingin menjalankannya.
Menyediakan pengguna dalam sistem anda dengan alias standar (alias rm='rm -i' ke perintah rm untuk memberikan konfirmasi mengenai penghapusan berkas.
Jadilah root hanya untuk melakukan pekerjaan tertentu saja. Jika anda ingin mencoba sesuatu, cobalah dengan login pengguna biasa sampai anda yakin apa yang akan anda lakukan dengan login root.
Variabel path untuk root sangat penting. Cobalah batasi isi variabel path perintah untuk root dan jangan memasukkan "." (direktori saat ini) ke dalam variabel path. Jangan pernah memberikan izin akses tulis ke dalam direktory yang ada di variabel path, supaya pengguna lain tidak bisa memasukkan berkas binary lain yang bisa membuatnya menjadi root setelah anda mengeksekusi berkas binary tersebut.
Jangan menggunakan perangkat lunak tools rlogin/rsh/rexec sebagai root. Karena perangkat lunak tersebut mudah diserang oleh penyusup. Jangan pula membuat sebuah berkas .rhost untuk root.
Dalam berkas /etc/securetty terdapat daftar terminal di mana root dapat login. Berhati - hatilah apabila anda ingin memodifikasinya. Sedapat mungkin login-lah sebagai pengguna biasa, dan gunakan perintah su untuk mendapatkan akses lebih.
Terakhir cobalah untuk bersikap tenang dan berpikir jernih ketika login sebagai root. Apa pun yang anda lakukan sebagai root akan sangat mempengaruhi banyak hal. Karena itu berpikirlah sebelum anda melakukan hal bodoh yang dapat merusak seluruh sistem.