
www.infolinux.web.id
INFOLINUX 01/2009
61
TUTORIAL SERVER
# rm /.old/home/t10000/home/r00t
atau:
# chmod 0 /.old/home/t10000/home/
r00t
Catatan: Cukup fi le-fi le setuid-root di
dalam data user saja (mis: di direktori
home/USERNAME/) yang perlu kita
waspadai untuk tidak tetap menjadi
setuid-root saat kita pasang di luar
.old nanti. File-fi le di .old/bin/, .old/
sbin/, dsb toh tidak akan kita pakai
lagi karena kita sudah menginstal
ulang OS, tapi jika ada fi le dengan
nama aneh, maka kita bisa melihat
pola si cracker dalam memilih nama-
nama fi le gadungan yang merupakan
setuid-root, misalnya usr/bin/ping2,
var/tmp/root, dll. Di sini dibutuhkan
pengalaman seorang sysadmin un-
tuk mengenali nama-nama fi le yang
umum dan mana yang ganjil.
Bagian ketiga: restore data user
Yang akan direstore:
1. account-account Unix (/etc/
{passwd,shadow,group,gshadow});
2. data user (mis: /home/USER-
NAME);
3. crontab user (/var/spool/cron/
crontabs/USERNAME);
Pertama, untuk me-restore ac-
count-account Unix, kita perlu mem-
perhatikan hal-hal berikut. Mungkin
ada user yang id-nya 0 selain “root”,
ini kemungkinan besar ditanam oleh
cracker dan tidak boleh kita sertakan.
Lalu, user-user lain yang namanya
mencurigakan atau tidak dikenal juga
sebaiknya tidak disertakan. Lalu, ada
baiknya kita reset semua password
user (lihat bagian keempat). Perintah
di bawah ini hanya akan merestore
user yang ditemui direktorinya di
/.old/home/USERNAME dan uid > 0.
# cd /.old/etc
#perl -lne ‘/^([^:]+):[^:]+:(\
d+)/; print if $2>0 and -d “/.old/
home/$1”’ passwd;#>>/etc/passwd
Catatan: Hanya lepaskan komen tan-
da “;#” di atas jika Anda telah yakin
dan melihat output perintahnya.
Untuk 3 fi le lainnya, yaitu /etc/
{shadow,group,gshadow} caranya
sama. Catatan: di /etc/shadow kita
reset password-nya.
# perl -lne ‘/^([^:]+):[^:]+:(.*)/;
print “$1:!:$2” if -d “/.old/
home/$1”’ shadow;#>>/etc/shadow
# perl -lne ‘/^([^:]+):/; print if
-d “/.old/home/$1”’ group;#>>/etc/
group
# perl -lne ‘/^([^:]+):/; print if
-d “/.old/home/$1”’ gshadow;#>>/etc/
gshadow
Periksa ulang dengan perintah “ls
-l /.old/home/user” apakah semua fi le
user uid dan gid-nya telah terpetakan
dengan benar ke /etc/passwd dan /etc/
group. Jika masih ada yang numerik
berarti ada yang belum terpetakan.
Kedua, untuk me-restore data user,
cukup kita pindahkan saja dari /.old/
home/* ke /home/. Bisa saja dikopi
agar aman, tapi butuh waktu lebih
lama (bisa berjam-jam). Lagipula (se-
harusnya!) Anda masih punya back-up
data-data di /home ini di tempat lain.
Ketiga, untuk restore crontab,
pindahkan fi le crontab milik user
yang ada di /.old/var/spool/cron/
crontabs/.
Jika masih ada yang ingin di-re-
store, misalnya database MySQL atau
PostgreSQL, dapat dilakukan di sini.
Bagian keempat: reset password
Resetlah semua password user. Cara-
nya misalnya dengan perintah di
bawah ini yang akan membuatkan
daftar password baru bagi semua user
yang memiliki home di /home/USER-
NAME, lalu meresetnya. Membutuh-
kan program makepasswd dan chpass-
wd yang tersedia di Debian:
# ( cd /home; for u in *; do
echo “$u:`makepasswd`”; done ) >
passwords.txt
# chpasswd -m < passwords.txt
Atau jika aplikasi manajemen
server (mis: control panel) memiliki
fasilitas reset password masal (beserta
fi tur untuk mengirim e-mail, dan lain-
lain), silakan digunakan di sini.
# umount /tmp/hda1
Catatan: jika kita memiliki partisi
back-up, mis: di /dev/sdb1, baik nya
juga dilakukan hal yang sama, yaitu
mengisolasi dulu fi le-fi le yang ada ke
dalam sebuah direktori, mis: .old tadi.
Ketiga, tekan Alt-F1 untuk kem-
bali ke layar instalasi Debian. Lan-
jutkan instalasi.
Catatan:
hati-hati agar tidak menghapus atau
memformat sda1 tersebut.
Bagian kedua: menjinakkan data lama
Pertama, setelah boot dengan insta-
lasi OS baru beserta updates-nya
(dengan kernel dan software ter-
baru, agar tidak lagi rentan di-hack
lagi melalui lubang ke amanan yang
sama), mari kita lihat isi /.old. Pas-
tikan permission-nya 700, dan kalau
perlu kita “chattr -R +i /.old” dulu
untuk melindungi dari kecelakaan
terhapus dengan “rm”, karena /.old
ini saat ini akan kita “otopsi”.
Catatan:
sisa di bawah dibuat dengan asum-
si kita tidak melakukan chattr +i.
Jika Anda melakukannya, pastikan
Anda bisa menulis atau menghapus
atau memindahkan data dari dalam
/.old di mana diperlukan/disebutkan
dalam artikel.
Kedua, carilah fi le-fi le yang setuid-
root. File ini kemungkinan besar meru-
pakan backdoor yang memungkinkan
si hacker memperoleh root kembali.
# cd /root
# fi nd /.old -type f -uid 0 -perm
/u+s > setuid.txt
# fi nd /.old -type f -gid 0 -perm
/g+s > setgid.txt
Catatan: Sebuah server yang memiliki
banyak fi le (jutaan), misalnya server
shared hosting yang cukup penuh den-
gan user dapat memakan 5-10 menit
untuk menyelesaikan perintah di atas.
Setelah mengamati isi fi le setuid.txt,
kita bisa menghapus atau mematikan
setuid bit pada fi le-fi le yang terdaftar
di setuid.txt tersebut. Contoh:
Comentarios a estos manuales