Home,Forum diskusi, Chatting, Download 


Masalah password, cracking password dan metode Authentikasi pada Linux

Pada masa komputerisasi saat ini, password merupakan sesuatu hal yang sangat berharga dan sensitif. Password juga merupakan salah satu sasaran yang sering diincar oleh para hacker untuk menembus suatu sistem. Memahami metode authentikasi dan penyimpanan password pada sistem operasi yang anda gunakan adalah syarat mutlak untuk mengamankan sistem dan jaringan anda.

Berikut ini adalah tulisan yang akan menjelaskan kepada anda bagaimana sistem LINUX menyimpan password, hal-hal yang mungkin mengancam keamanan metode yang digunakan. Tulisan ini juga memberikan gambaran singkat tentang beberapa usaha yang dapat dilakukan untuk memecahkan password pada sistem Linux.

Akhirnya selamat membaca dan bekerja lebih baik.

Salam,

Hendra & Susan Dewichan


Masalah password

Author: Kript0n

Sesuatu hal yang penting bagi kita adalah memahami bagaimana cara kerja dari /etc/passwd ?. Pada suatu sistem unix anda membutuhkan hal berikut: suatu field untuk  UID's, atau  GID's (untuk  group names mapping), satu lagi untuk password dan lainnya untuk informasi pemakai.

File /etc/passwd dapat secara langsung diakses dengan sejumlah operasi, misalnya. ls. ketika anda melakukan ls pada direktori home, atau  /etc/passwd, dan yang lainnya. Hal ini tentu saja menimbulkan pertanyaan :

?: Bagaimana akibatnya kalau file tersebut dapat dibaca oleh semua orang dan semua program bukankah password kita berada disana ? Bukankah hal tersebut tidak aman ?

Baiklah, banyak sekali solusi untuk mengamankan password kita salah satunya adalah menyimpan password-password tersebut dalam keadaan acak dalam file /etc/passwd Ketika pemakai memasukkan password, maka password yang dimasukkan tersebut diacak juga, dan dibandingkan dengan password yang tersimpan pada file /etc/passwd. Jika keduanya sama (hasil acak dengan yang tersimpan dalam /etc/passwd), berarti password yang dimasukkan adalah benar. Rasanya metode ini cukup logis, tetapi metode ini menjadi tidak layak sejak kehadiran sejumlah program yang dapat melakukan bruteforce untuk mencari kombinasi hasil simbol acak sampai dapat, dan ... sistem menerimanya.

Kemudian orang berpikir bagaimana cara mencegah metode cracking password secara bruteforce ?

Hal yang pertama terpikir adalah menggunakan algoritma pengacakan yang lebih baik. Algoritma MD5  menyediakan suatu password acak yang lebih baik dari pada yang normal, jadi merupakan pilihan  yang lebih baik digunakan.

Solusi lainnya adalah meletakkan file password di tempat yang tidak diketahui user. Tetapi tentu saja program harus mengetahuinya bukan ? Hal ini dapat menjadi masalah bagi program dan OS yang tidak dipersiapkan untuk hal tersebut.

Kedua solusi ini sekarang banyak diterapkan pada distribusi Linux umumnya (perhatikan bahwa "tempat" baru password berada di /etc/shadow) dan MD5 sekarang juga telah diterapkan.

Sebenarnya bagaimana persisnya cara kerja metode /etc/shadow?

Baiklah... pada dasarnya, password yang terenkripsi berada di /etc/passwd,  dan anda akan melihat suatu "x" dimana menyebabkan sistem akan memeriksa /etc/shadow.

Dan sekarang anda mungkin bertanya "tapi, kita dapat mengakses /etc/shadow juga bukan?"

dan saya akan menjawab bahwa "tidak, anda tidak bisa" :)
hal ini terjadi karena hanya root yang dapat melihat isi dari /etc/shadow. Jadi sekarang kita telah mendapatkan suatu permulaan dari password yang aman.

Disinilah letak kehebatan PAM... Dengan mengunakan PAM, anda hanya perlu mengedit file conf dari program yang perlu mengakses password  (pikir login, telnet, dll..) dan mengubah satu baris untuk mendukung modul authentikasi tersebut. Cukup mudah dan cepat diterapkan.

PAM

PAM adalah singkatan dari Pluggable Authentication Modules dan merupakan suatu himpunan dari pustaka bersama (shared libraries) yang memungkinkan administrator sistem mengatur bagaimana suatu authentikasi dilakukan oleh aplikasi. Marilah kita mulai dari dasar (basic). Ketika anda login ke suatu sistem, baik melalui jaringan serial ataupun network, getty ataupun telnet (salah satu) akan membangkitkan program login yang mana menanyakan kombinasi user/password yang kemudian akan diperiksa pada file /etc/passwd.

Sejauh ini masih baik. Sekarang coba bayangkan bahwa anda ingin menerapkan suatu suatu metode authentikasi yang baru pada sistem anda, misalnya authentikasi dengan kartu magnetik (ini hanya suatu contoh, tetapi yang terbaik :). Anda perlu melakukan perubahan terhadap login dan semua aplikasi yang menggunakannya (seperti getty, telnet dan ssh) agar metode authentikasi baru tersebut dapat digunakan. Dalam hal ini administrator sistem telah berbuat kesalahan yang akan menyebabkan seluruh sistem berada dalam keadaan berbahaya, baik secara lokal dan remote, bukankah begitu ?

Semua ini adalah latar belakang dibuatnya PAM. PAM menyediakan suatu "interface" antara program yang membutuhkan authentikasi dengan metode authentikasi yang benar. Lebih jauh, setiap metode authentikasi tunggal didukung oleh PAM, dan didukung oleh program yang mana anda menggunakannya. PAM dapat juga digunakan untuk mengatur sesi dan login dengan mudah, dan dapat melakukan pembatasan, misalnya jangka waktu login untuk seorang user(ini hanya suatu contoh). Tetapi hal tersebut adalah benar-benar mungkin dilakukan. Anda dapat juga memikirkan suatu authentikasi alternatif dan hi-tech seperti palm analysis dan retinal scanning (asyik, bukan?)

Dewasa ini, banyak distribusi yang mendukung PAM dan benar-benar telah diterapkan. Seperti distribusi SuSE, Debian, RedHat, Caldera, dll... 
Pada suatu sistem yang mendukung PAM diatas, untuk menerapkan password shadow, yang perlu anda lakukan adalah konversi password dan group file serta mengubah  PAM conf files (mudah bukan?). 

Satu dari kemungkinan lain adalah modul authentikasi yang dapat disisipkan, misalnya menggunakan authentikasi NT domain, sehingga pemakai tidak usah membeli NIS / NIS+ for NT.

Link ke modul PAM:
.PAM cryptocard module
http://www.jdimedia.nl/igmar/pam/

.PAM smartcard module
http://www.linuxnet.com/applications/applications.html

.PAM smb (samba) module
http://rpmfind.net/linux/RPM/pam_smb.html

http://www.csn.ul.ie/~airlied/pam_smb/

Password cracking

Sekarang anda mungkin bertanya, bagaimana seorang penyerang mendapatkan password pada sistem baru ini (/etc/shadow). Hal ini membuatnya sedikit agak sulit. Pada tulisan sebelumnya disebutkan penyerang mengunakan metode cracking password secara bruteforce, mengacak daftar kata-kata dan menbandingkan hasil acak dengan password acak anda, tetapi sekarang password acak tersebut berada dalam /etc/shadow, yang hanya dapat dibaca oleh root. Tetapi jangan berpikir bahwa tidak ada penyerang yang dapat membaca file tersebut selamanya, penyerang dapat menggunakan program yang memiliki bug, seperti, cgi scripts, dll yang mengunakan batasan root, selanjutnya menbuatnya mampu mendapatkan /etc/shadow untuk selanjutnya di "cracking".

Dan dewasa ini, program cracking password baru dapat membaca/menganalisa secara parallel dengan beberapa mesin yang meningkatkan waktu proses. Hal ini dapat menjadi sesuatu ancaman bagi administrator sistem. Sekarang mari kita lihat program yang dapat digunakan untuk  "crack" password:

.John the Ripper
Ini adalah tool password cracking yang paling terkenal, digunakan oleh semua  pseudo hackers dan banyak black hats, karena mudah digunakan dan cepat .
Homepage >> http://www.false.com/security/john/

.Crack
tool Password cracking yang pertama yang benar-benar didefinsikan sebagai hal tersebut :)
Homepage >> http://www.users.dircon.co.uk/~crypto/

Saya berharap file ini merupakan suatu cara untuk menunjukkan pada anda bahwa anda tidak pernah aman, bagaimanapun anda tetap dapat berjalan menuju ke tujuan ini. Bergembiralah.

Jika anda ada keraguan atau pertanyaan, , mail saya:
kript0n@phyber.dhis.dee.uc.pt [home - always on]
kript0n@antionline.org [when in a unsafe place] :)


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia