PROMO SELL

Monday, March 07, 2005

Pengamanan Shadow Password dengan Bash Scripting + Crontab

1. Persiapan

Login ke level Superuser, lalu buatlah direktori untuk menyimpan file2 shadow password dan direktori untuk file2 script-nya. Terserah anda mau membuatnya dimana..... yang penting mudah dimengerti. Saya meletakkan file2 shadownya di /home/backup/etc dan untuk file script-nya di /home/backup/script.
Lalu backup /etc/shadow ke direktori yg telah anda buat, untuk berjaga-jaga ......... jikalau anda lupa passwd rootnya ....... tinggal di recovery saja .........

[sysadmin@notebook]$ /bin/su root
[root@notebook]# cd /home
[root@notebook]# mkdir -p backup/etc
[root@notebook]# mkdir -p backup/script

[root@notebook]# cp /etc/shadow /home/backup/etc
[root@notebook]# chmod 600 backup
-
Langkah 1. Disini kita membuat passwd baru untuk root
-
[root@notebook]# passwd
Changing password for root
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
-
Langkah 2. Kemudian kutip baris yang mengandung kata "root" pada /etc/shadow
-
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow0

Ulangi lagi langkah 1 dengan passwd yang berbeda, dimana pada langkah 2 anda buat spt ini :
-
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow1

Ulangi terus dari langkah1 dan langkah 2 tadi..... jangan lupa untuk mengutip passwd root yang telah anda buat berbeda-beda
-
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow2
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow3
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow4
[root@notebook]# grep ^root /etc/passw > /home/backup/etc/shadow5
-
Ubah permission filenya, lalu lihat apakah file yang memiliki kutipan shadow passwd root sudah komplit ada 6 file -
-
[root@notebook]# chmod 600 /home/backup/etc/*
[root@notebook]# ls -l /home/backup/etc/
-rw------- 1 root root 53 2004-09-12 21:10 shadow0
-rw------- 1 root root 53 2004-09-12 21:11 shadow1
-rw------- 1 root root 53 2004-09-12 21:11 shadow2
-rw------- 1 root root 53 2004-09-12 21:11 shadow3
-rw------- 1 root root 53 2004-09-12 21:11 shadow4
-rw------- 1 root root 53 2004-09-12 21:11 shadow5


2. Pembuatan Script

Pada bagian ini kita akan membuat script yang berfungsi untuk mengubah password /etc/shadow dengan file kutipan shadow passwd root yang anda backup tadi.
Masuk ke direktori /home/backup/script, lalu isi file script tersebut dengan editing favorit anda....
-
[root@notebook]# cd /home/backup/script/
[root@notebook]# vim ubah0
#!/bin/bash
backupfile="/home/backup/etc/shadow0"
usermod -p"`cut -f2 -d: $backupfile`" root
-
[root@notebook]# vim ubah1
#!/bin/bash
backupfile="/home/backup/etc/shadow1"
usermod -p"`cut -f2 -d: $backupfile`" root
-
Buat 6 file script (ubah0, ubah1 s/d ubah5), perhatikan penomoran script maupun penomoran shadow-nya, karena itu bagian yang sensitif .......... ^_^
Setelah ke 6 script tersebut selesai dibuat, ubah permission scriptnya ......
-
[root@notebook]# chmod 700 /home/backup/script/*
[root@notebook]# ls -l /home/backup/script/
-rwx------ 1 root root 114 2004-09-12 21:18 ubah0
-rwx------ 1 root root 114 2004-09-12 21:17 ubah1
-rwx------ 1 root root 114 2004-09-12 21:18 ubah2
-rwx------ 1 root root 114 2004-09-12 21:18 ubah3
-rwx------ 1 root root 114 2004-09-12 21:18 ubah4
-rwx------ 1 root root 114 2004-09-12 21:18 ubah5

3. Mengatur Waktu Eksekusi Script Pengubah Shadow Password Pada Crontab

Pada Skenario ini, aku mengatur script tsb agar dieksekusi setiap 5 menit sekali .......... ^_^
Dimana pada menit ke 1 s/d 29 ... akan meng-eksekusi script ubah0-5, dan pada menit ke 30 s/d 59 akan mengulangi proses eksekusi dari scrip ubah0 lagi .

Tambahkan line ini pada /var/spool/cron/crontabs/root
-
00 * * * * /home/backup/script/./ubah0
05 * * * * /home/backup/script/./ubah1
10 * * * * /home/backup/script/./ubah2
15 * * * * /home/backup/script/./ubah3
20 * * * * /home/backup/script/./ubah4
25 * * * * /home/backup/script/./ubah5
30 * * * * /home/backup/script/./ubah0
35 * * * * /home/backup/script/./ubah1
40 * * * * /home/backup/script/./ubah2
45 * * * * /home/backup/script/./ubah3
50 * * * * /home/backup/script/./ubah4
55 * * * * /home/backup/script/./ubah5
-
Restart crond anda
-
[root@notebook]# killall -HUP crond
-
Lihat penampakan proses eksekusi cronnya di /var/log/cron, perhatikan baik-baik waktunya ............. ^_^
-
[root@notebook]# tail -f /var/log/cron
Sep 12 23:00:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah0
Sep 12 23:05:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah1
Sep 12 23:10:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah2
Sep 12 23:15:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah3
Sep 12 23:20:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah4
Sep 12 23:25:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah5
Sep 12 23:30:01 iman crond[3550]: USER root pid 3555 cmd /home/backup/script/./ubah0

.
.
dst ....

Ikuti juga perubahan passwd rootnya
-
[root@notebook]# tail -f /var/log/secure
Sep 12 23:00:01 iman usermod[3519]: change user `root' password
Sep 12 23:05:01 iman usermod[3519]: change user `root' password
Sep 12 23:10:01 iman usermod[3519]: change user `root' password
Sep 12 23:15:01 iman usermod[3519]: change user `root' password
Sep 12 23:20:01 iman usermod[3524]: change user `root' password
Sep 12 23:25:01 iman usermod[3530]: change user `root' password
Sep 12 23:30:02 iman usermod[3533]: change user `root' password
.
.
dst ....
-
Sekarang passwd root anda telah diubah otomatis menggunakan 5 passwd yang berbeda setiap 5 menit...... silahkan anda tambahkan lagi passwdnya jika merasa hal diatas masih kurang secure ..... dengan menambahkan shadow6 s/d seterusnya... atau juga anda set saja tiap menit passwdnya berubah2 terus.

Jangan sampe lupa passwdnya ............ ^_^

Selamat mencoba, Salam dari Medan City

5. Referensi

1. Manual page cut
2. Manual page crond
3. Manual page crontab
4. Manual page usermod

No comments: