Saturday - May 10, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 4 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Tips MySQL: Mengganti Nama Tabel pada MySQL (3153)

»

Mengedit DTS Package di dalam Yukon (1580)

»

Penggunaan Fungsi substr Pada PHP Untuk Mengambil Bagian dari Suatu String (2659)

»

Mengatasi Kerusakan Sistem Operasi Windows (11255)

»

Tips SQL Server: Memeriksa Permission untuk Setiap Tabel, View dan Stored Procedure (1306)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mengamankan Mesin Linux Anda - Bagian II

Author: Ariesa Rahardjo
Published: April 14, 2006
Visits: 2861 - Category:
Linux
 
     
 

Pada tulisan sebelumnya "Mengamankan Mesin Linux Anda - Bagian I" telah dibahas cara-cara mengamankan sistem Linux Anda. Kali ini kita akan lanjutkan kembali berbagai cara dan teknik untuk mengamankan sistem Linux bagi berbagai keperluan. Mari kita simak saja lanjutannya.

2. Men-setup sinkronisasi waktu dengan menggunakan NTP
Sistem penjagaan akurasi waktu sistem operasi, bisa dilakukan baik melalui xntpd/ntpd (daemon) dan ntpdate/rdate (client). Selain di sisi daemon-nya memberikan fungsi-fungsi jaringan, tetapi ia juga mengandung xntpd buffer-overflow. xntpd stand-by pada port UDP 123. ntpdate/rdate adalah client yang dieksekusi hanya pada saat dibutuhkan untuk mendapatkan waktu dari server NTP yang telah ditentukan.

Mengapa butuh waktu yang akurat bagi sistem operasi? Hal tersebut dibutuhkan karena demi validitas dari system log. Sangat direkomendasikan untuk menggunakan ntpdate/rdate untuk mengeset waktu pada sistem operasi Anda. Jika Anda ingin menggunakan daemonnya, maka Anda harus mengkonfigurasi agar service tersebut hanya bisa diakses dari IP tertentu saja dan bila perlu juga diamankan dengan kunci otorisasi.

Tambahkan baris berikut ini pada startup script /etc/rc.local untuk mengeset waktu pada saat booting. Ini dilakukan jika Anda menggunakan rdate.

/usr/sbin/rdate –s NTP_server_addr

Switch -s akan mengeset waktu berdasarkan waktu yang diinfokan oleh server NTP. Untuk lebih membuat waktu pada sistem operasi lebih akurat lagi, maka Anda bisa menjalankannya dari sebuah cron job setiap satu jam sekali. Lihat baris cron job berikut ini.

0 * * * * /usr/sbin/rdate –s NTP_server_addr

3. Mengkonfigurasi syslog dan menginstall log analyzer
Konfigurasi syslog untuk local dan remote logging
Syslogd memberikan fasilitas logging baik secara lokal maupun remote. Dia mampu untuk mengirimkan pesan ke suatu remote host yang menjalankan syslogd. Untuk memforward pesan ke host lainnya, tambahkan hostname dengan tanda "@".

Host yang berfungsi sebagai sebuah syslog server sebaiknya memiliki syslogd yang dimulai dengan switch -r agar bisa menerima pesan dari host lainnya.

Kegunaan utama dari aktivitas logging adalah untuk kepentingan monitoring sistem oleh system administrator dari usaha-usaha akses ilegal ke sistem operasi atau juga untuk memeriksa apakah ada sesuatu yang tidak normal pada sistemnya. Untuk alasan ini maka direkomendasikan untuk memisahkan log file agar proses analisa terhadap log bisa lebih teratur.

Tabel berikut ini adalah daftar dari lima kategori besarnya.

Berikut ini adalah contoh dari konfigurasi syslog untuk suatu sistem Linux untuk me-log pesan bagi kategori log pada tabel di atas. Log akan disimpan pada local files dan kemudian dikirimkan ke log server.

Anda dapat menghapus atau me-remark baris kedua pada setiap kelompok pasangan di atas jika Anda hanya ingin melakukan log ke dalam local file saja.

Rotasi log (log rotation)
Logrotate merupakan utilitas Linux yang bisa me-rename dan menggunakan kembali (re-use) file syslog pada suatu basis waktu yang periodik, sehingga log tersebut tidak akan menghabiskan space hardisk Anda. File /etc/logrotate.conf merupakan file konfigurasi umum yang mana Anda bisa mendefinisikan frekuensi file-file mana yang akan digunakan kembali (re-use). Anda bisa mendefinisikan basis waktu rotasinya secara bulanan, mingguan atau harian. Ini bergantung pada banyaknya informasi yang didapat syslog. Anda juga dapat mendefinisikan seberapa lama backlog bisa disimpan di server dan semua ini bergantung pada kebijakan analisa log Anda.

Log analyzer
Informasi log akan sama sekali tidak berguna jika tidak pernah direview dan dianalisa dalam suatu periode waktu tertentu. Log bukanlah untuk gaya-gayaan. Saat ini ada banyak sekali tool log analyzer seperti:

- autobuse - http://www.picante.com/~gtaylor/autobuse/
- loco - http://zjuul.net/~jules/loco/
- logcheck - http://www.psionic.com/
- swatch - http://www.stanford.edu/~atkins/swatch/
- WOTS - http://www.tony-curtis.cwc.net/tools/

Log analyzer tersebut memiliki fitur unik masing-masing. Logcheck banyak digunakan dan sangat direkomendasikan sebagai syslog analyzer. Seluruh prosesnya mengikuti stuktur berikut ini.

Untuk menginstall logcheck, download paket rpm-nya dengan situs logcheck http://www.psionic.com/ dan eksekusi dengan perintah berikut ini.

Anda bisa mengganti nama file rpm-nya dengan versi yang lebih baru. Anda kemudian bisa membaca dokumen README dan INSTALL pada folder/usr/share/doc/logcheck-xx.xx.xx untuk informasi lebih jauh mengenai penggunaan logcheck. Anda bisa menghapus semua dokumentasi logcheck setelah Anda mengkonfigurasi logcheck dengan benar.

Logcheck didistribusikan secara gratis sejak awalnya dirilis oleh Psionic di bawah lisensi GPL. Namun demikian, Psionic kemudian dibeli oleh Cisco yang mana memiliki dampak bagi penggunaan logcheck untuk keperluan komersial.

4. Disable sendmail service
MTA seperti sendmail bisa di-disable dari service jika memang tidak digunakan sebagai mail server. Sendmail bisa di-disable secara manual dengan cara sebagai berikut.

[root@wen /]# /etc/rc3.d/S80sendmail stop
[root@wen /]# mv /etc/rc3.d/S80sendmail /etc/rc3.d/.NOS80sendmail

Ganti file sendmail.cf yang telah terinstall dengan contoh minimal file sendmail.cf berikut ini.

sendmail.cf

Perlu diingat, jika sendmail tidak digunakan dan tidak diinstall maka Anda tidak perlu menyimpan file sendmail.cf pada sistem Anda.

Tambahkan entry berikut ini pada crontab untuk flush queue mail sekali per jam.

0 * * * * /usr/sbin/sendmail -q

5. Memperkuat sistem Anda
Sangat dianjurkan bahwa Anda mengambil tindakan berikut ini untuk lebih mengamankan sistem Linux Anda. Namun demikain, sistem dengan user yang banyak adalah suatu lingkungan yang dinamis yang mana membutuhkan monitoring dan audit untuk memastikan bahwa kebijakan security Anda telah diimplementasikan dengan baik dan security practice telah diikuti.

BIOS password
Dengan men-disable kemampuan untuk melakukan booting dari floppy drive dan juga kemampuan untuk memasang password untuk mengakses BIOS, akan meningkatkan keamanan terhadap sistem Anda. Anda dapat membaca manual BIOS Anda atau masuklah ke dalam BIOS Anda untuk mengetahui dan mengaktifkan fitur-fitur tersebut.

Password BIOS akan membatasi akses ilegal terhadap BIOS Anda, misalnya mengganti setting dan lain sebagainya. Ada cara lain untuk mem-bypass ini, yaitu dengan melepas baterai BIOS. Ini bisa terjadi jika orang tersebut memiliki akses secara fisik (membuka komputer) ke dalam mesin Linux Anda. Jika baterai BIOS dilepas dan kemudian dipasang kembali, maka BIOS akan secara otomatis ter-reset yang artinya tidak akan ada password jika ingin masuk ke dalam BIOS.

Set login time out bagi account root
Buat bash shell untuk secara otomatis melakukan logout terhadap root account setelah suatu periode waktu tertentu. Untuk melakukannya, set variabel TMOUT ke dalam suatu nilai yang merepresentasikan detik waktu dengan cara mengedit file /etc/profile dan tambahkan baris berikut pada lokasi setelah baris yang mengandung kata "HISTSIZE=".

TMOUT=7200

Ini menandakan nilai timeout-nya adalah 7200 detik atau 2 jam. Anda bisa mengaturnya sesuai dengan keinginan Anda. Autologout ini akan berlaku bagi seluruh user pada sistem Anda. Untuk mengatur timeout masing-masing user, maka edit file .bashrc pada home directory user tersebut.

File /etc/exports
Jika Anda membutuhkan untuk mengekspor file system dengan menggunakan NFS service, maka pastikan konfigurasi file /etc/exports dengan akses yang terrestriksi dengan baik. Ini artinya jangan sampai menggunakan wildcard, jangan membolehkan root write access, dan mounting read-only jika memungkinkan. Edit file /etc/exports dan tambahkan baris berikut ini.

/dir/to/export host1.mydomain.com(ro, root_squash)
/dir/to/export host2.mydomain.com(ro, root_squash)

yang mana /dir/to/export adalah directory yang ingin Anda ekspor, host1.mydomain.com adalah mesin yang dibolehkan untuk login ke directory tersebut, opsi "ro" berarti mounting read-only dan opsi "root_squash" berarti tidak membolehkan root write access ke dalam directory ini.

Agar perubahan ini bisa langsung berpengaruh ke sistem, maka Anda harus menjalankan perintah berikut ini pada command shell.

[root@wen /]# /usr/sbin/exportfs -a

Perlu diingat, bahwa menjalankan NFS pada sistem Anda dapat menimbulkan risiko security.

Single-user login mode pada Linux
Linux memiliki mode single-user. Ini biasanya digunakan bagi pemeliharaan sistem. Anda bisa melakukan booting Linux dan masuk ke dalam mode single-user dengan mengetikkan teks berikut ini pada LILO boot prompt.

LILO: linux single

Hal tersebut akan membawa sistem pada Run level 1, yang mana Anda akan login sebagai root tanpa harus mengetikkan password. Anda dapat mengubah default perilaku ini dengan memodifikasi file /etc/inittab. Ubah baris berikut ini.

id:3:initdefault:

menjadi

id:3:initdefault:
~~:S:wait:/sbin/sulogin

Hal tersebut memaksa sistem untuk memerlukan password root ketika masuk ke dalam mode single-user. Untuk membuat perubahan di atas berpengaruh pada sistem Anda, maka ketikkan perintah berikut pada command shell.

[root@wen /]# /sbin/init q

LILO dan file /etc/lilo.conf
LILO merupakan boot loader yang umum digunakan pada sistem Linux. Dia bisa mengatur proses booting dan juga bisa melakukan booting kernel images Linux dari floppy disk, hardisk atau LILO bisa juga menjadi boot manager bagi sistem operasi lainnya. Red Hat saat ini juga menggunakan tool konfigurasi boot leader lain yang bernama Grub.

Ada tiga pilihan untuk mengamankan LILO:

Menambahkan baris timeout=00
Opsi ini akan mengontrol seberapa lama (dalam detik) LILO menunggu input dari user sebelum melakukan booting ke dalam pilihan defaultnya. Salah satu agar sesuai dengan standar C2 security adalah interval waktu ini harus di-set 0 kecuali jika sistem memiliki dual booting.

Menambahkan baris restricted
Opsi ini akan meminta password jika parameter ditentukan pada command line (contoh linux single). Opsi "restricted" hanya dapat digunakan bersama dengan opsi "password".

Menambahkan baris password=<password>
Opsi ini akan meminta Anda untuk memasukkan password ketika ingin me-load image. Tidak masalah jika Anda mem-boot Linix pada mode single ataupun normal booting. Dia akan selalu meminta password, tetapi hal ini bisa bermasalah jika Anda ingin melakukan remote booting.

Password selalu sifatnya case-sensitive dan pastikan file /etc/lilo.conf tidak bisa dibaca sembarangan (chmod 600 /etc/lilo.conf), jika tidak maka semua orang bisa membaca password-nya. Berikut ini adalah contoh dari file lilo.conf.

lilo.conf

Jalankan perintah berikut ini agar perubahan yang Anda lakukan bisa mempengaruhi sistem.

[root@wen /]# /sbin/lilo –v

Sebagai tambahan untuk membuat /etc/lilo.conf tidak bisa dibaca sembarangan adalah dengan cara membuat filenya immutable. Ketikkan perintah berikut ini.

[root@wen /]# chattr +i /etc/lilo.conf

Untuk meng-unset flag immutable, maka gunakan perintah berikut ini.

[root@wen /]# chattr -i /etc/lilo.conf

Men-disable perintah Ctrl+Alt+Del keyboard shutdown
Edit file /etc/inittab dan hapus baris berikut ini.

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Kemudian jalankan perintah berikut ini sebagai root dari command shell.

[root@wen /]# /sbin/init q

File /etc/services
File /etc/services memungkinkan program server dan client untuk mengkonversi nama service ke dalam angka (nomor port) yang sebelumnya telah didefinisikan pada RFC 1700. Hanya user root yang boleh melakukan modifikasi terhadap file ini. Adalah hal yang sangat jarang dilakukan dalam mengedit file /etc/services ini, karena di dalamnya telah berisi nama service yang standar beserta angka port-nya masing-masing. Untuk meningkatkan keamanan, mana Anda bisa mengeset flag immutable pada file tersebut untuk mencegah penghapusan secara tidak sengaja atau modifikasi secara ilegal. Untuk melakukannya silakan jalankan perintah berikut ini.

[root@wen /]# chattr +i /etc/services

File /etc/securetty
File /etc/securetty membolehkan Anda untuk menentukan tty dan device vc (virtual console) root dibolehkan untuk login. Formatnya adalah suatu daftar dari tty dan device vc yang diperbolehkan. Anda bisa memberi remark atau menghapus tty dan vc mana saja yang tidak dibolehkan untuk login. Contohnya adalah sebagai berikut ini.

vc/1
#vc/2
#vc/3
#vc/4
#vc/5
#vc/6
#vc/7
#vc/8
#vc/9
#vc/10
#vc/11
tty1
#tty2
#tty3
#tty4
#tty5
#tty6
#tty7
#tty8
#tty9
#tty10
#tty11

Contoh di atas akan membolehkan login hanya bagi tty1 dan vc/1. Dianjurkan pula bahwa root dibolehkan pada hanya satu tty atau device vc dan gunakan perintah su untuk berpindah ke user root jika Anda ingin device lainnya masuk sebagai root.

Special account
Adalah hal yang penting untuk men-disable semua account default yang mana tidak digunakan dalam sistem Linux Anda. Terkadang account ini bisa ada secara default walaupun Anda tidak membuatnya atau menginstallnya pada server. Ini harus Anda periksa setiap kali Anda melakukan instalasi software atau upgrade dri versi sebelumnya.

Untuk menghapus user dari sistem Anda, maka gunakan perintah sebagai berikut.

[root@wen /]# userdel username

Untuk menghapus group dari sistem Anda, maka jalankan perintah berikut ini.

[root@wen /]# groupdel username

Ketikkan perintah berikut ini untuk menghapus semua default user account seperti yang tertera berikut ini.

[root@wen /]# userdel adm
[root@wen /]# userdel lp <-- if you don’t provide print service
[root@wen /]# userdel shutdown
[root@wen /]# userdel halt
[root@wen /]# userdel news
[root@wen /]# userdel mail <-- if you don’t use sendmail
[root@wen /]# userdel uucp
[root@wen /]# userdel operator
[root@wen /]# userdel games
[root@wen /]# userdel gopher
[root@wen /]# userdel ftp <-- if you don’t provide anonymous FTP

Sebagai alternatif, Anda bisa juga menggunakan script sederhana untuk menghemat pengetikkan. Contohnya adalah sebagai berikut.

# a script to delete a group of users
for user in adm lp shutdown halt news mail uucp operator games gopher ftp
do
userdel $user
done

Pekerjaan berikutnya adalah untuk menghapus group default account dari file /etc/group. Ketik perintah berikut ini untuk menghapus semua default usergroup account yang tertera di bawah ini.

[root@wen /]# groupdel adm
[root@wen /]# groupdel lp
[root@wen /]# groupdel news
[root@wen /]# groupdel mail
[root@wen /]# groupdel uucp
[root@wen /]# groupdel games
[root@wen /]# groupdel dip

Sebagai alternatif, Anda juga bisa menggunakan script sederhana untuk menghemat pengetikkan.

# a script to delete groups in batch mode
for group in adm lp news mail uucp games dip
do
userdel $group
done

Sampai di sini Anda mungkin ingin membuat atau menambahkan user dan group ke dalam server. Sekali Anda membuatnya, maka sangat dianjurkan Anda menggunakan bit immutable untuk memproteksi file /etc/passwd, /etc/shadow dan juga /etc/group. Ini akan membuatnya sedikit lebih sulit untuk melakukan perubahan atau menghapusnya. Untuk mengeset bit immutable pada file-file tersebut, maka ketikkan perintah berikut ini.

[root@wen /]# chattr +i /etc/passwd
[root@wen /]# chattr +i /etc/shadow
[root@wen /]# chattr +i /etc/group
[root@wen /]# chattr +i /etc/gshadow

Jika anda ingin menambah atau menghapus user, password, user group atau file group, maka Anda harus meng-unset bit immutable pada file-file tersebut. Untuk melakukannya maka ketikkan perintah berikut ini.

[root@wen /]# chattr -i /etc/passwd
[root@wen /]# chattr -i /etc/shadow
[root@wen /]# chattr -i /etc/group
[root@wen /]# chattr -i /etc/gshadow

Mengontrol mounting file system
Anda dapat mengedit file /etc/fstab dan menambahkan opsi keamanan sehingga Anda memiliki kontrol lebih pada saat mounting file system. Informasi yang berhubungan dengan opsi security pada file fstab adalah:

defaults - allow everything (quota, read-write, and suid) on this partition.
noquota - do not set users quotas on this partition.
nosuid - do not set SUID/SGID access on this partition.
nodev - do not set character or special devices access on this partition.
noexec - do not set execution of any binaries on this partition.
quota - allow users quotas on this partition.
ro - allow read-only on this partition.
rw - allow read-write on this partition.
suid - allow SUID/SGID access on this partition.

Anda sebaiknya memilih level yang paling restriktif bagi aplikasi Anda. Contoh berikut ini akan menunjukkan bagaimana untuk meningkatkan keamanan tiga partisi yang umum di-mounting.

LABEL=/cache /cache ext2 defaults,nodev 1 2
LABEL=/home /home ext2 defaults,nosuid 1 2
LABEL=/tmp /tmp ext2 defaults,nosuid,noexec 1 2

Untuk informasi lebih lanjut mengenai opsi yang bisa Anda set, maka baca manual mount. File system harus di remount setelah ada perubahan pada file /etc/fstab.

Mounting /boot sebagai read-only
Kernel Linux dan file-file yang berhubungan berada di dalam directory /boot yang mana hal tersebut bisa berupa directory biasa atau suatu partisi yang terpisah dan di-mount sebagai /boot. Jika itu adalah suatu partisi, maka akan secara default akan di-mount sebagai read-write. Merubahnya menjadi read-only akan mengurangi risiko dari modifikasi ilegal terhadap file-file yang vital yang ada di sana. Contoh berikut ini akan menunjukkan bagaimana untuk me-mount /boot menjadi read-only.

LABEL=/boot /boot ext2 defaults,ro 1 2

Perlu diingat bahwa Anda perlu me-reset menjadi read-write jika Anda ingin meng-upgrade kernel.

Safeguard program installer RPM
Jika sistem Anda sudah dikonfigurasi dan siap untuk digunakan, maka kebutuhan untuk melakukan instalasi mungkin tidak dibutuhkan. Dianjurkan agar perintah rpm dipindahkan ke dalam tempat yang aman, seperti floppy disk atau hidden directory pada sistem Anda. Atau paling tidak, default permission-nya sebaiknya diubah agar hanya bisa dieksekusi oleh root. Caranya adalah dengan menjalankan perintah berikut ini.

[root@wen /]# chmod 700 /bin/rpm

Memperkuat script di /etc/rc.d/init.d/
Ganti file permission untuk membolehkan hanya root yang bisa membaca, menulis dan mengeksekusi script-script tersebut dengan cara mengetikkan perintah berikut ini.

[root@wen /]# chmod –R 700 /etc/rc.d/init.d/*

atau

[root@wen /]# chmod –R 700 /etc/init.d/*

Kemudian gunakan tanda # untuk me-remark baris-baris berikut ini dari file /etc/rc.local seperti diilustrasikan berikut ini.

# This will overwrite /etc/issue at every boot.
# So, make any changes you
# want to make to /etc/issue here or you will lose them
# when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue

Kemudian hapus file /etc/issue dan /etc/issue.net sehingga pada prompt login tidak menampilkan nama distro, versi, versi kernel dan juga nama dari server.

Bits from root-owned programs
Suatu user reguler bisa saja menjalankan program sebagai root jika ia di-set ke SUID root. Semua program dan file pada sistem dengan bit "s" pada mode-nya memiliki bit SUID atau SGID yang aktif. Karena program-program ini membolehkan hak akses spesial bagi user yang mengeksekusinya, maka adalah sangat penting untuk menghapus bit "s" dari program-program yang root-owned, yang mana tidak membutuhkan privilege tersebut. Perintah berikut ini akan membantu Anda untuk mencari semua file-file dengan bit "s" dari program-program yang root-owned.

[root@wen /]# find / -type f \( -perm -04000 –o –perm -02000 \) –exec ls –l {} \;

Pada keadaan minimum, dianjurkan agar program-program SUID/SGID berikut ini di-disable.

-rwsr-xr-x 1 root root 34220 Jul 18 14:13 /usr/bin/chage
-rwsr-xr-x 1 root root 36344 Jul 18 14:13 /usr/bin/gpasswd
-r-xr-sr-x 1 root tty 6524 Jul 12 03:19 /usr/bin/wall
-rws--x-x 1 root root 13184 Jul 21 19:15 /usr/bin/chfn
-rws--x-x 1 root root 12640 Jul 21 19:15 /usr/bin/chsh
-rws--x-x 1 root root 5464 Jul 21 19:15 /usr/bin/newgrp
-rwxr-sr-x 1 root tty 8500 Jul 21 19:15 /usr/bin/write
-rwsr-xr-x 1 root root 6288 Jul 26 10:22 /usr/sbin/usernetctl
-rwsr-xr-x 1 root root 20540 Jul 25 07:33 /bin/ping
-rwsr-xr-x 1 root root 55356 Jul 12 05:01 /bin/mount
-rwsr-xr-x 1 root root 25404 Jul 12 05:01 /bin/umount
-rwxr-sr-x 1 root root 4116 Jul 26 10:22 /sbin/netreport

Untuk men-disable suid bit pada program-program di atas, maka ketik perintah berikut ini.

[root@wen /]# chmod a-s /usr/bin/chage
[root@wen /]# chmod a-s /usr/bin/gpasswd
[root@wen /]# chmod a-s /usr/bin/wall
[root@wen /]# chmod a-s /usr/bin/chfn
[root@wen /]# chmod a-s /usr/bin/chsh
[root@wen /]# chmod a-s /usr/bin/newgrp
[root@wen /]# chmod a-s /usr/bin/write
[root@wen /]# chmod a-s /usr/sbin/usernetctl
[root@wen /]# chmod a-s /bin/ping
[root@wen /]# chmod a-s /bin/mount
[root@wen /]# chmod a-s /bin/umount
[root@wen /]# chmod a-s /sbin/netreport

File yang tidak biasa (unusual) atau tersembunyi (hidden)
Jika Anda sedang memperkuat sistem Linux Anda, maka adalah hal yang penting untuk mencari file-file yang tidak biasanya atau hidden file di dalam sistem Anda. Perintah-perintah berikut ini bisa Anda gunakan untuk keperluan tersebut.

[root@wen /]# find / -name ".. " -print -xdev
[root@wen /]# find / -name ".*" -print -xdev | cat -v

Mencari group dan file dan directory yang bisa ditulis
Group dan file atau directory yang bisa ditulis (writable) bisa menjadi lubang security jika seorang cracker bisa mengakses sistem dan memodifikasinya. File atau directory yang istilahnya adalah "world writable" ini juga sangat berbahaya, karena bisa digunakan oleh cracker untuk meletakkan file-file jahat ke dalamnya. Pada operasional yang normal, maka beberapa file akan bersifat writable, termasuk beberapa dari directory /dev, /var/catman dan semua symbolic link dalam sistem Anda.

Untuk mencari semua group dan file "world-writable" pada sistem Anda, gunakan perintah berikut ini.

[root@wen /]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;

Untuk mencari semua group dan directory "world-writable" pada sistem Anda, gunakan perintah berikut ini.

[root@wen /]# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;

Unowned file
Unowned file atau file yang tidak dimiliki oleh siapapun juga bisa mengindikasikan bahwa seorang intruder telah mengakses sistem Anda. Jika Anda menemukan file atau directory yang sifatnya "unowned" pada sistem Anda, maka periksalah integritasnya, dan jika semuanya nampak bagus, maka beri nama owner-nya. Terkadang Anda bisa meng-uninstall sebuah program dan mendapatkan file atau directory yang "unowned" yang berhubungan dengan software tersebut, dalam kasus ini maka Anda bisa menghapus file atau directory tersebut dengan aman.

Untuk mencari file-file yang tidak memiliki owner, maka bisa gunakan perintah berikut ini.

[root@deep /]# find / -nouser -o -nogroup

Minimum panjang password yang bisa diterima
Ikuti langkah berikut ini untuk mendefinisikan minimum panjang pawword dengan menggunakan PAM.

Edit file /etc/pam.d/passwd dan hapus baris berikut ini.

password required /lib/security/pam_stack.so service=system-auth

Tambahkan tiga baris berikut ini.

password required /lib/security/pam_cracklib.so retry=3 minlen=12
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/pam_deny.so

Kemudian edit file /etc/pam.d/system-auth dan hapus baris berikut ini.

password required /lib/security/pam_cracklib.so retry=3
password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/pam_deny.so

Ini akan memaksa panjang password minimum 12 karakter dan maksimum 3 kali login retry. Perlu dicatat bahwa panjang minimum password tidak berlaku bagi user root.

Men-disable console program access
Instalasi default Linux membolehkan user biasa yang memiliki akses ke console dan privilege sebagai root bisa menjalankan program seperti shutdown, reboot dan halt. Ikuti langkah berikut ini untuk men-disable semua console access kepada program-program tersebut bagi user biasa.

[root@wen /]# rm -f /etc/security/console.apps/<servicename>

yang mana <servicename> adalah nama program yang ingin di-disable access console-nya. Tolong dicatat bahwa kecuali jika Anda menggunakan xdm, menghapus file xserver akan menghasilkan ketidakmampuan untuk menjalankan X Server bagi semua user, kecuali root. Sangat dianjurkan bahwa program-program berikut ini dihapus bagi user biasa.

halt
poweroff
reboot
shutdown
xserver (if removed, root will be the only user able to start X).

Disable semua console access
Ikuti langkah berikut ini untuk men-disable semua console access bagi user biasa.

cd /etc/pam.d
for in in * ; do
sed ‘[^#].*pam_console.so/s/^/#/’ < $i > foo && mv foo $i
done

6. File system lockdown
Setelah Anda menginstall dan mengkonfigurasi semua software pada sistem Anda, maka tentunya Anda ingin untuk memastikan bahwa tidak seorangpun bisa memodifikasinya. Untuk melakukannya maka Anda bisa memodifikasi file /etc/fstab dan menge-set flag yang tepat.

Edit file /etc/fstab dengan text editor seperti vi.

vi /etc/fstab

Jika Anda memiliki partisi yang terpisah bagi binaries, variable data dan user space, maka dianjurkan bagi Anda untuk me-mount partisi binaries sebagai read-only dan me-mount file system non-root lainnya dengan nosuid.

Pastikan juga bahwa Anda telah memeriksa semuanya dengan baik. Setelah itu Anda bisa melakukan booting untuk memeriksa semuanya berjalan dengan baik.

Ada aplikasi third party yang bisa digunakan untuk memonitor file system Anda. Tripwire adalah salah satu contohnya. Tripwire awalnya dikenal sebagai tool intrusion detection, tetapi bisa juga digunakan untuk berbagai keperluan lain seperti integrity assurance, change management, policy compliance dan masih banyak lagi yang lainnya. Pada bulan Oktober 2000, Tripwire, Inc. merilis source code untuk versi Linux Tripwire 2.2.1 di bawah lisensi GPL. Anda bisa mengakses situs http://www.tripwire.org.

Referensi

  • Nortel Networks, Linux Operating System Hardening Guideline Document, November 2003, Nortel Networks
  • Linux Security Handbook by O'Reilly
  • Secure Linux Server by O'Reilly
  • Linux Security, Prentice Hall

Demikian tulisan mengenai beberapa cara mengamankan sistem operasi Linux server Anda bagian yang kedua atau yang terakhir. Semoga berguna bagi Anda semuanya. Jika ada komentar atau saran bisa dikirimkan melalui ariesa.rahardjo@gmail.com. Jika Anda memiliki ide tulisan atau tips menarik, silakan saja kirimkan melalui article@sony-ak.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center dengan alamat di www.sony-ak.com.

Terima kasih.




 Recommended articles
 

»

Membuat Gateway NAT (Network Address Translator) Sederhana dengan Linux Disket (floppyfw) (4789)

»

Mempraktekkan Knowledge Management (1894)

»

Mengenal Virus Komputer - Part V: Anti-virus, Pembuat Virus dan Sejarah Virus (12078)

»

Memanfaatkan Fungsi SendKeys dalam Microsoft Visual Basic 6.0 - Volume 1 (4087)

»

SQL Injection Menggunakan ASP dan MS SQL Server (6559)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com