|
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.
| Send
your comments or suggestions |
|
|
|