Panduan Security untuk Newbie |
Written by Administrator | |
Thursday, 21 October 2004 | |
Menjadi Newbie bukanlah alasan untuk mengecilkan arti sekuriti dalam Linux, justru masalah sekuriti ini harus mulai dari awal kamu ketahui. Tulisan ini akan membahas apa saja yang perlu kamu ketahui dan lakukan untuk memiliki Linux yang secure. Alkisah, seorang jagoan Linux membuat sayembara barang siapa bisa membobol mesin Linuxnya akan mendapatkan hadiah $ 1000. Peminat pun datang dari segala penjuru negeri. Mesin Linuxnya ini terhubung ke internet dan diletakkan di dalam ruangan tertutup. Selama berhari-hari, para cracker yang berusaha membobol lewat internet tidak berhasil. Namun ada seorang cracker muda yang mempunyai ide lain. Ia berhasil membujuk petugas pembersih tempat mesin Linux tersebut ditempatkan dengan bayaran $500 untuk membawanya masuk ke dalam ruangan tersebut. Dan setelah berhasil masuk ke dalam ruangan, ia segera menekan tombol reset mesin Linux tersebut, dan memboot masuk ke dalam mode Linux Single! Dengan masuk ke mode Linux Single ini, ia dengan bebas mengubah password root dan dengan demikian, bobol-lah mesin Linux tersebut. Dan ia pun masih mendapat untung $500. Sang jagoan Linux tidak menyangka bahwa akan ada orang yang berusaha membobol Linuxnya dengan cara "fisik". Cerita tersebut memang merupakan rekaan saja. Namun dari cerita tersebut bisa kita dapatkan gambaran bahwa masalah sekuriti Linux (dan server lainnya pada umumnya), tidak sebatas pada sekuriti dari sisi software saja, tapi juga dari sisi fisik (hardware). Marilah kita bahas masalah sekuriti ini dengan lebih dalam. Pendahuluan : Root (Super User) dan Normal User Sebagai sistem operasi yang di desain dengan konsep yang secure, di dalam Linux, dikenal 2 golongan user, yaitu: Super User atau sering disebut juga dengan Root, dan Normal User atau User Biasa. Apa beda antara kedua golongan user ini? Perbedaan mendasar di antara keduanya adalah bahwa Super User / Root memiliki hak dan kemampuan untuk melakukan APAPUN terhadap sistem Linux itu sendiri. Jadi, dengan menggunakan account root, kamu bisa mengubah konfigurasi Linux, menambah/menghapus user, dan bahkan memformat harddisk. Sedangkan User Biasa secara default tidak mempunyai hak dan kemampuan untuk mengubah konfigurasi-konfigurasi penting dari Linux, ataupun hal lain yang berbahaya bagi sistem seperti menghapus file-file sistem atau memformat harddisk. Jadi sebagai contoh, user biasa secara default tidak bisa mengubah tanggal dan waktu dari sistem Linux tempatnya berada. Mungkin ada di antara kamu yang berpikir mengapa untuk mengubah tanggal dan waktu saja harus memakai account Root? Repot amat! Hal ini harus dimaklumi bahwa konsep penggunaan Linux dari awalnya adalah sebagai server yang secure, dan bagi server, tanggal dan waktu ini merupakan komponen yang sangat vital, terutama server-server yang memiliki proses rutin harian seperti proses end of day, dll. Jadi dapat dibayangkan betapa kacaunya kalau user biasa bisa mengubah tanggal / jam di server. Namun jangan khawatir, nanti kita akan pelajari bagaimana memberikan hak-hak "khusus" kepada user sehingga tidak memerlukan account root lagi untuk melakukannya. Prinsip Dasar Sekuriti : Principle of least Priviledge dan Principle of Minimum Access. Nah, lho! Apaan tuh! Tenang, kamu akan segera memahaminya. Di dalam sekuriti Linux, terdapat 2 prinsip atau panduan yang harus kita pahami, yaitu Principle of least Priviledge dan Principle of Minimum Access. Principle of least Priviledge terjemahan bebasnya kira-kira adalah: Prinsip Hak Paling Sedikit. Disini maksudnya adalah, kita harus memberikan sesedikit mungkin hak pada user, program-program, dan bahkan system Linux itu sendiri di dalam menjalankan fungsinya. Pemakaian prinsip ini berguna untuk mencegah bobolnya sistem Linux kita secara tidak sengaja. Jadi misalnya User A hanya akan memakai Linux untuk browsing internet dan chatting, maka jangan berikan hak lainnya yang tidak perlu, misalnya hak untuk mendownload file dari internet, ataupun menjalankan program file manager. Principle of Minimum Access, seperti yang telah dapat kamu duga, memiliki terjemahan kira-kira sebagai berikut: Prinsip Akses Minimum. Agak sulit menjelaskan hal ini. Tapi secara sederhana maksudnya adalah seperti ini: "Kecuali diizinkan secara spesifik, maka secara default semua hal akan ditolak." Masih bingung? Coba bayangkan Linux kamu pada awalnya adalah tertutup 100% bagi user biasa. User biasa tidak mempunyai akses sama sekali pada Linux tersebut. Bila ia mencoba login, maka ia akan ditolak. Lho, lalu bagaimana caranya ia memakai Linux tersebut? Caranya adalah dengan menentukan SATU per SATU hal apa saja yang bisa ia lakukan. Jadi pada prinsip akses minimum ini, kita menentukan secara sistematis hak apa saja yang ingin kamu berikan pada user yang pada awalnya diset tidak memiliki hak apapun. Jadi mulai dari nol. Catatan: pengertian "user" di atas, tidak hanya terbatas pada user "orang", tapi juga pada program-program, dan sistem Linux itu sendiri. Untuk mudahnya, kita bisa mengganti kata "user" dengan "program", "browser", dll. Berdasarkan kedua prinsip di atas, ada beberapa hal yang harus mendapatkan perhatian di dalam sekuriti Linux: 1. Mengamankan Akses User (User Access) Jika kamu ingin benar-benar membuat sebuah komputer aman, kamu dapat menaruh komputer tersebut sedemikian rupa sehingga tidak ada seorang pun bisa menjangkaunya. Namun tentu saja hal ini akan juga membuat komputer tersebut tidak berguna bagi orang lain. Jadi, yang dapat kamu lakukan adalah membatasi Akses User sehingga system Linux kamu aman, sambil tetap dapat menjalankan fungsinya. Berkaitan dengan mengamankan Akses User ini, terdapat 4 hal yang harus kamu lakukan:
2. Mengamankan Proses Otorisasi User. Secara tradisional semua sistem yang berbasis UNIX menyimpan info user di dalam file /etc/passwd. File ini berisi username, password yang terenkripsi, user ID, group ID dari user tersebut, dan default shell. Nah, file /etc/passwd ini disetel agar bisa dibaca oleh semua program (world readable) yang membutuhkan proses otorisasi. Hal ini mengakibatkan seoarang cracker yang handal bisa mengelabui program-program yang dibuat secara kurang baik, untuk mengirimkan file tersebut ke email sang cracker! Setelah dia berhasil mendapatkan file tersebut, dia bisa menggunakan program pembobol password untuk mengetahui password-password yang ada dalam file tersebut. Bayangkan apa saja yang bisa dilakukan olehnya setelah dia berhasil mengetahui password user ataupun root. Lalu apa yang bisa kita lakukan untuk mengatasi kelemahan ini? Kita bisa menggunakan yang namanya Shadow password. Dengan program ini, kita bisa "memindahkan" password-password yang tersimpan di dalam file /etc/passwd ke dalam file /etc/shadow. File shadow ini hanya bisa dibaca oleh root atau program yang dijalankan dengan ID root. Dengan demikian bila seorang cracker tetap berhasil memperoleh file /etc/passwd kita, dia tidak akan mendapatkan password apapun di dalamnya sebab semua password telah dipindahkan ke dalam file /etc/shadow. Masih belum yakin akan keamanan proses otorisasi Linuxmu? Atau kamu ingin mengatur bahwa user A hanya bisa login pada jam 10-12 hari Senin, dan Rabu saja, dsbnya. Untuk melakukan hal ini, kamu bisa menggunakan program bernama PAM (Pluggable Authentication Method). Dengan menggunakan program ini maka tanggung jawab proses otorisasi diserahkan dari program yang bersangkutan (misalnya program login) ke program PAM. Keunggulan dari PAM ini adalah, tersedia banyak modul-modul tambahan yang memberikan tambahan fungsi di dalam proses otorisasi login, seperti mengatur waktu kapan user boleh login (jam, tanggal, hari), servis-servis apa saja yang diminta oleh user, dari terminal mana ia login, dll. 3. Mengamankan Servis (Service) yang berjalan. Sering kali cracker berhasil masuk ke dalam system Linux kita karena kita lalai mematikan servis-servis yang sebenarnya tidak kita perlukan. Lalu bagaimanakah cara kita mengamankan Linux kita dari sisi servis? Kita harus melakukan langkah pengamanan ini mulai dari proses installasi. Jika kita menginstall Linux hanya untuk dijadikan web server, maka otomatis kita tidak memerlukan servis lainnya seperti mail server, news server, dll. Berkaintan dengan hal ini, alangkah baiknya jika kamu berniat memakai Linuxmu sebagai server, kamu TIDAK menginstall program-program berikut ini:
Referensi: http://linux.about.com/library/bl/open/newbie/blnewbie_toc.htm http://www.linuxquestions.org/questions/showthread.php?s=&postid=1198783#post1198783 http://www.linuxlinks.com/Beginners/ http://www.faqs.org/docs/lnag/lnag_commands.html |
Tidak ada komentar:
Posting Komentar