Halaman

Kamis, 09 Juni 2011

Keamanan LINUX

Keamanan merupakan isu utama dalam jaringan. Apalagi jika seluruh host tersambung ke Internet. Melindungi jaringan, berarti melindungi setiap host yang ada dalam jaringan, baik workstation maupun server. Fokus bahasan bab ini adalah melindungi linux server Anda, baik ancaman dari luar jaringan (misalnya dari Internet), maupun internal jaringan (ancaman dari salah satu user Anda). Pembahasan hanya menyentuh secara global, dengan beberapa contoh program yang dapat dipergunakan. Tujuannya adalah untuk memberikan kerangka berfikir dalam menyusun konsep keamanan dalam jaringan, dan mempraktekannya lewat beberapa program yang dicontohkan.
Arsitektur kemanan di Linux, mempunyai enam komponen :

  • Account Pemakai (User Account)
  • Kontrol Akses secara Diskresi (Discretionary Access Control)
  • Kontrol Akses Jaringan (Network Access Control)
  • Enkripsi (Encryption)
  • Logging
  • Deteksi penyusupan (Intrusion Detection)

    Account Pemakai (User Account)

    Kekuasaan dalam mengadministrasi sistem secara keseluruhan berada dalam satu account, yakni root. Dengan root, Anda bisa mengontrol sistem file, user, sumber daya (devices), bahkan akses jaringan. Model diktatorial ini memudahkan administrator dalam menangani sistem. Jika ada satu user yang melanggar aturan, root bisa membuat account-nya beku, tanpa mengganggu yang lain. Atau mengatur siapa-siapa saja yang boleh mengakses suatu file, memberikan hak khusus pada user-user tertentu.. Setiap user diatur pula lingkungan di mana dia boleh main-main sepuasnya, atau cuma melihat-lihat. Hal ini memberikan keuntungan bagi pemakai maupun sistem :
  • Kecerobohan salah satu pemakai tidak akan berpengaruh terhadap sistem secara keseluruhan
  • Masing-masing pemakai memiliki privacy yang ketat
Untuk itu account root biasanya hanya digunakan saat-saat tertentu saja. Misalnya perbaikan sistem. Dan biasanya account root dipergunakan pada modus single user. Dapat Anda bayangkan apa yang terjadi dengan jaringan Anda jika penyusup dari luar memperoleh akses root.

Kontrol Akses secara Diskresi (Discretionary Access Control)

Setiap pemakai Linux, memiliki account tersendiri, yang masing-masing dibedakan dengan user name dan password. Setiap file memiliki atribut kepemilikan, group, dan user umum. Satu file, bisa diberikan atribut tertentu, sehingga hanya dapat dibaca atau dieksekusi oleh pemiliknya saja. Pembatasan ketat ini dinamakan Discretionary Access Control (DAC). Hal ini pula yang menyebabkan virus jarang ditemui atau jarang tersebar di Linux. Sebab virus biasanya menulis file ke dalam sistem. Dengan DAC, virus hanya berpengaruh pada file-file yang dimiliki oleh salah seorang user yang mengeksekusi virus tersebut. Sedangkan sistemnya sendiri tidak tersentuh.
Root merupakan satu-satunya account yang punya akses penuh ke seluruh sistem. Root juga dipakai untuk mengadministrasi seluruh sistem, mengganti atribut file, hingga mengadministrasikan divais. Karena itu, demi keamanan, root biasanya hanya dipakai untuk perawatan atau perbaikan sistem saja. Untuk mengetahui atribut file :
$ ls -l

 

total 27

drwx---   5 fade   users        1024 Feb  8 11:27 Desktop

drwx---   2 fade   users        1024 Feb 28 10:15 Mail

-rw----   2 fade   users         509 Feb 29 10:14 Mailbox

-rw----   1 fade   hacker        318 Feb 29 10:11 dead.letter

drwxr-xr-x   3 fade   hacker       1024 Feb 14 09:12 ftp.linuxrouter.org

drwx---   2 fade   users        1024 Feb 29 10:14 mail

drwx---   2 fade   users        1024 Feb 14 12:07 nsmail

-rw-r-r-   1 fade   hacker      17358 Feb 23 09:11 sinkcp.gif

-rw-r-r-   1 fade   hacker        393 Feb 24 10:13 spam

drwxr-xr-x   2 fade   hacker       1024 Feb 22 08:36 temp

Beberapa program penting berkaitan dengan Discretionary Access Control :

su (Substitute User).

Jangan menggunakan user root untuk penggunaan sehari-hari. Jika memang mendesak, jalankan program su. Program ini memungkinkan Anda menggunakan account root untuk sementara. Caranya :
$ su
lalu Anda akan diminta password.
password :
Setelah Anda isi dengan benar, prompt akan berubah menjadi pagar. Jika telah selesai, ketik exit
# exit
$
kembali ke prompt user. Selain su, dapat dipakai pula program sudo, yakni memberikan beberapa user untuk dapat mengeksekusi program tertentu sebagai root. Konfigurasi filenya berada di
/etc/sudoers

shadow.

Secara default, instalasi binary slackware, telah mengaktifkan shadow password. shadow adalah program yang membuat file /etc/passwd menjadi dapat dibaca (readable) tetapi tidak lagi berisi password, dan sebagai gantinya disimpan di file /etc/shadow.Berikut contoh tipikal file passwd :
halt:x:7:0:halt:/sbin:/sbin/halt

root:x:0:0::/root:/bin/bash

operator:x:11:0:operator:/root:/bin/bash

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

sync:x:5:0:sync:/sbin:/bin/sync

bin:x:1:1:bin:/bin:

ftp:x:404:1::/home/ftp:/bin/bash

daemon:x:2:2:daemon:/sbin:

adm:x:3:4:adm:/var/adm:

lp:x:4:7:lp:/var/spool/lpd:

mail:x:8:12:mail:/var/spool/mail:

news:x:9:13:news:/usr/lib/news:

uucp:x:10:14:uucp:/var/spool/uucppublic:

man:x:13:15:man:/usr/man:

games:x:12:100:games:/usr/games:

guest:x:405:100:guest:/dev/null:/dev/null

nobody:x:65534:100:nobody:/dev/null:

fade:x:1000:103:,,,:/home/fade:/bin/bash

alias:x:7790:2108::/var/qmail/alias:/bin/true

qmaild:x:7791:2108::/var/qmail:/bin/true

qmaill:x:7792:2108::/var/qmail:/bin/true

qmailp:x:7793:2108::/var/qmail:/bin/true

qmailq:x:7794:2107::/var/qmail:/bin/true

qmailr:x:7795:2107::/var/qmail:/bin/true

qmails:x:7796:2107::/var/qmail:/bin/true

Satu baris mencerminkan satu user, lengkap dengan atributnya. Berikut keterangan tiap field :
Username:password:UserID:GroupID:keterangantambahan:homedirektori:shell
Ambil contoh dari user fade :
fade:x:1000:103:,,,:/home/fade:/bin/bash
Keterangan dari line tersebut :

  • Username              : fade
  • Password              : x
  • User ID (UID)         : 1000
  • Group ID (GID)        : 103
  • Keterangan tambahan   : -
  • Home Direktori        : /home/fade
  • Shell Default         : /bin/bash
Password dalam file ini dapat dibaca oleh setiap user, tapi yang tampak hanya x saja. Password yang sebenarnya disimpan di file shadow (terenkripsi). Berikut file shadow dari password diatas : root:pCfouljTBTX7o:10995:0:::::

halt:*:9797:0:::::

operator:*:9797:0:::::

shutdown:*:9797:0:::::

sync:*:9797:0:::::

bin:*:9797:0:::::

ftp:*:9797:0:::::

daemon:*:9797:0:::::

adm:*:9797:0:::::

lp:*:9797:0:::::

mail:*:9797:0:::::

news:*:9797:0:::::

uucp:*:9797:0:::::

man:*:9797:0:::::

games:*:9797:0:::::

guest:*:9797:0:::::

nobody:*:9797:0:::::

fade:OihQw6GBf4tiE:10995:0:99999:7:::

alias:!:10995:0:99999:7:::

qmaild:!:10995:0:99999:7:::

qmaill:!:10995:0:99999:7:::

qmailp:!:10995:0:99999:7:::

qmailq:!:10995:0:99999:7:::

qmailr:!:10995:0:99999:7:::

qmails:!:10995:0:99999:7:::

Sebagai salinan dari /etc/passwd, shadow menyimpan satu record dalam satu baris yang dibagi menjadi 9 bagian (dipisahkan oleh titik dua) :

  • Nama user
  • Password user
  • Jumlah hari digantinya password sejak 1 Januari 1970
  • Jumlah hari sebelum user diijinkan untuk mengubah password
  • Jumlah hari sebelum user dipaksa untuk mengganti password
  • Jumlah hari sebelum user diingatkan untuk mengganti password
  • Jumlah hari yang tersisa di mana user harus mengganti password sebelum user tersebut dihapus.
  • Jumlah hari dihapusnya password sejak 1 Januari 1970
  • Field terakhir dipakai sendiri oleh shadow

Table: Program Bantu shadow dan fungsinya
Nama program Fungsi
chage Mengganti informasi waktu berlakunya sebuah password
chfn Menggantikan chfn bawaan Linux untuk bisa mengganti informasi yang tampil di finger.
chsh Menggantikan chsh bawaan Linux untuk mengganti shell yang sudah di set secara default
gpasswd Menambah user baru ke dalam grup
groupadd Menambah grup
groupdell Menghapus grup
groupmod Modifikasi grup
grpck Verifikasi dengan membandingkan antara /etc/group dan /etc/passwd
id Menggantikan id standar, berfungsi untuk menampilkan UID (User ID) pada saat login.
login Menggantikan login standar, sehingga bisa berinteraksi dengan shadow untuk autentikasi
newgrp Menggantikan perintah standar newgrp. User dapat berganti group dalam satu session, setelah login kembali
passwd Menggantikan perintah passwd standar, mengingat shadow punya struktur yang berbeda.
pwck Sinkronisasi antara /etc/passwd dan /etc/shadow. Biasa dilakukan setelah menambah password atau user
pwconv Menyatukan file /etc/passwd lama ke dalam file shadow yang baru.
pwunconv Memisahkan informasi dalam /etc/shadow kembali ke /etc/passwd
su Menjalankan shell dengan atribut root
userdel Menghapus nama user
usermod Mengganti informasi tentang user
   

Pro aktif Password

Linux menggunakan metode enkripsi DES (Data Encription Standard) untuk passwordnya. Namun seketat apapun enkripsi yang dilakukan akan menjadi percuma jika user memilih password yang mudah ditebak. User biasanya memilih hal-hal umum sebagai password, misalnya :

  • Tanggal lahir (dirinya sendiri atau salah satu anggota keluarga)
  • Nomor Mobil
  • Nama salah satu anggota keluarga (baik ditulis langsung, atau dengan variasi huruf besar/dibalik dan sebagainya)
  • Kata-kata yang ada di kamus, ditulis terbalik
  • Nama favorit (pacar, artis, penyanyi, dan sebagainya)
Pilihan ini sangat riskan, sebab program semacam crack, dapat menebaknya dengan mencocokkan kamus yang ada dengan mudah. Bahkan program ini dapat diberikan pilihan kombinasi. Untuk itu perlu dibuat kebijakan yang baik untuk password.
Catatan :

Crack dapat Anda peroleh di http://www.users.dircon.co.uk/crypto/index.html. Anda dapat menggunakannya sebagai ujicoba untuk test seberapa jauh keamanan password dalam jaringan Anda. Dokumentasinya dapat pula Anda peroleh di 
http://alloy.net/writings/funny/crack_readme.txt.
Program pembantu dalam cek password di antaranya :

passwd+

Program yang ditulis oleh Matt Bishop ini mampu meningkatkan logging, dan mengingatkan user jika mengisi password yang mudah ditebak. passwd+ dapat Anda peroleh di ftp://ftp.dartmouth.edu/pub/security

anlpasswd

Program ditulis dalam perl oleh Argonne National Laboratory. anlpasswd mempunyai aturan standar dalam pengisian password. Meski demikian dapat ditambahkan beberapa aturan yang dibuat sendiri, seperi jumlah minimal, gabungan huruf besar huruf kecil, gabungan angka dan huruf. anlpasswd dapat Anda peroleh di : 
ftp://coast.rs.purdue.edu/pub/tools/unix/anlpasswd/analpasswd-2.3.tar.Z

npasswd

Program sederhana, ditulis oleh CLYDE HOOVER merupakan program pengganti passwd yang biasa. npasswd dapat Anda peroleh di : 
http://www.uetxas.edu/cc/unix/software/npasswd/doc untuk dokumentasi 
http://www.utexas.edu/cc/unix/software/npasswd untuk programnya

Tidak ada komentar:

Posting Komentar