Friday, February 27, 2009

Tidak Cukup Waktu Mengurusmu

Dear all rekan2 yang masih sering monitoring blogku ini, maaf tak cukup waktuku mengurus blog ini.. so suatu saat aku pasti akan kembali.

Solusi sementara; semua tulisan saya tentang Open Source saya sharing di website pribadiku. Klick disini untuk melihat detailnya.

Friday, June 27, 2008

Service NTP sangat vital ternyata

Selama bergelut dalam dunia linux dan nangani server kurang lebih 6 tahun NTP server jarang mendapat perhatian, bisa dikatakan nyaris tidak pernah dilirik. Baru setelah mengikuti training dari Jepang dapat pelajaran tentang administrasi time diserver ternyata adalah basical prosudure.

Sekedar bagi pengalaman aja jika menangani server yang menghandle aplikasi-aplikasi time yang valid maka NTP server akan sangat membantu. Keakuratan NTP server sudah diuji dengan baik oleh penyedia layanan NTP server. Misalnya di negara kita salah satunya dikelola oleh LIPI. Jadi saya sarankan gunakan NTP server dengan alasan utama masalah keakuratan waktu.

Berikut ini tulisan yang memanfaatkan server local yang terhubung dengan internet dimana NTP server LIPI menjadi acuan. Jika teman-teman nagani billing warnet munkin akan lebih baik jika mengaktifkan/memanfaatkan NTP server apalagi yang nangani server online misalnya webserver.

Berikut cara mengaktifkan NTP di mesin linux:
1. Check waktu saat ini menggunakan date command.
root@geek:~# date

2. Matikan service ntpd jika jalan
root@geek:~# /etc/rc.d/rc.ntpd stop
Stopping NTP daemon...

If you use redhat family distro use service ntpd stop

3. Get date terbaru dari NTP server
Ambil waktu terbaru dari server NTP dalam hal ini server LIPI di url ntp.kim.lipi.go.id
root@geek:~# ntpdate ntp.kim.lipi.go.id
11 Jun 16:21:57 ntpdate[2883]: step time server 202.152.241.83 offset -24456.124464 sec

Jika anda ingin server lain ntp.nict.jp salah satu alternatif pilihan (Server Jepang soalnya aku juga nangani beberapa server di tokyo)
Cek waktu terbaru server anda using date command. Jika valid dengan waktu sekarang it’s oke jika tidak ulangi perintah sebelumnya.

4. Aktifkan service ntpd
root@geek:~# /etc/rc.d/rc.ntpd start
Jika menggunakan distro redhat family service ntpd start

5. Set jika ntpd selalu jalan setiap kali boot
Berikut ini cara mengaktifkan ntp service sehingga diload setiap kali boot. Kali ini saya menggunakan slackware
root@geek:~# pkgtool
Pilih setup kemudian seriveces kemudian pilih rc.ntpd dengan menekan space/spasi.
Jika anda menggunakan distro redhat family gunakan perintah chkconfig ntpd on. Jika mau repot pasang di rc.local perintahnya.

6. Cek validasi query ntpd.
root@geek:~# ntpq –p
*dns1.lipi.go.id 192.168.60.16 2 u 31 256 377 49.704 -6.469 10.704

Harusnya ada tanda * jika validasi data time akurat. Ini membutuhkan waktu untuk menghasilkan seperti diatas. Jika belum ada bintang lakukan pengecekan 15 menit berikutnya.

Semoga tulisan ini memberi pencerahan buat yang membacanya.

NFS Server 0n CentOS 5

Network File System (NFS) is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network as easily as if the network devices were attached to its local disks. NFS using at Linux/Unix network.

Setting of NFS server
1. Make new user for NFS access
[root@geek ~]# adduser share
[root@geek ~]# passwd share
Changing password for user share.
New UNIX password: //change new password
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: //change again new password
passwd: all authentication tokens updated successfully.


2. Configuration exports file
[root@geek ~]# vim /etc/exports
/home/share 192.168.0.0/16(rw,sync,no_root_squash


3. Setting service portmap and nfs always on init.d script
[root@geek ~]# chkconfig portmap on
[root@geek ~]# chkconfig nfs on


4. Run portmap and nfs service
[root@geek ~]# service portmap start
Starting portmap: [ OK ]
[root@geek ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Starting RPC idmapd: [ OK ]


Until here NFS server all ready. Next, make NFS client

Setting NFS Client On CentOS

1. Setting service portmap and nfs always on init.d script
[root@client ~]# chkconfig portmap on
[root@client ~]# chkconfig nfs on


2. Run portmap and nfs service
[root@client ~]# service portmap start
Starting portmap: [ OK ]
[root@client ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Starting RPC idmapd: [ OK ]


3. Make directory /mnt/share then mount nfs server files
[root@client ~]# mkdir /mnt/share
[root@client ~]# mount -t nfs xeon3:/home/share /mnt/share


4. Check if /mnt/share have mounted.
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 224G 18G 195G 9% /
tmpfs 1013M 0 1013M 0% /dev/shm
geek:/home/share
224G 20G 193G 10% /mnt/share


Automatic start NFS mount on client
1. Make a new file /etc/init.d/mount_nfs
[root@client ~]# vim /etc/init.d/mount_nfs
#!/bin/sh
#mount nfs
#ip 192.168.52.10 is NFS server on geek
mount -t nfs 192.168.52.10:/home/share /mnt/share


2. Change permission mount_nfs 755
[root@client ~]# chmod 755 /etc/init.d/mount_nfs

3. Make symbolic link to rc3.d directory
[root@client ~]# cd /etc/rc.d/rc3.d/
[root@client ~]# ln –s /etc/init.d/mount_nfs S99mount_nfs


4. Restart server then check /mnt/share
[root@client ~]# ls /mnt/share/
vxeon_template.2008-05-26
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 224G 20G 193G 10% /
/dev/sda1 99M 16M 78M 17% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
192.168.52.10:/home/share
224G 23G 190G 11% /mnt/share


Enjoy it yaa…
You can call me if you have a problem with this reference.

Friday, May 23, 2008

Pesan Saat Login dan Logout Ubuntu Server.

Kebetulan hari ini lagi berhadapan dengan mesin Ubuntu Server, maklum hari sabtu jadwal bekerja sebagai freelance. Pagi-pagi sudah didepan komputer belum ada jadwal pekerjaan hari ini dari tempatku kerja so sante aja dolo… heheeeee… Iseng-iseng tacobain oprek ringan server yang aku buat minggu lalu…

Pertama login di server dapat ucapan selamat datang dari distro ubuntu server 8.04. Pikir-pikir harusnya hal ini bisa di ganti. Lagian mataku hari ini gak enak ngelihat tulisan yang pangjangnya cukup memenuhi layar. So aku putuskan buat sendiri tulisan “Welcome to Server Mr Wevils” (Mr Wevils mengganti nama tempat kerjaku sebagai freelance).

Ingat.. ingat ilmu yang dolo ternyata susah juga ya... Akhirnya dicariin di file /etc dan ketemu. Nama filenya motd (message of the day) lihat isinya ternyata benar yang di tampilkan saat login. Ya uda aku edit file seperti dibawah ini

root@geek :~# vim /etc/motd

Welcome to Server Mr Wevils

Save, keluar dan coba login dari console lain then sukses deh… Lumayan klo pengen buat ajang promosi, put aja tulisan sesuai yang diinginkan maka setiap orang yang login ke server akan mendapatkan pesan yang ditulis dalam file ini.

Muncul ide lagi… Jika login bisa pasang pesan harusnya saat logout juga mestinya bisa. Googling dolo soalnya seingatku belum pernah ta buat hal seperti ini. Ya.. ternyata harus buat bash script. Cobain deh.. Ternyata bisa juga.. Neh caranya

Perhatikan direktori kerja di /root

root@geek :~# vim .bash_logout

if [ "$SHLVL" = 1 ]; then

[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q

fi

echo "Attention Please, 'Pastikan User Anda Juga Sudah Logout dari Console Lainnya!'";

Save lalu keluar dan coba login sebagai root di console lainnya kemudian ketik perintah exit. Harusnya muncul kalimat ini setelah layar dibersihkan ”Attention Please, 'Pastikan User Anda Juga Sudah Logout dari Console Lainnya!'” Jika ingin diberlakukan ke semua user system tinggal copy aja dan put di /home/user_masing2.

Tulisan ini saya buat sebagai reminder aja.. soalnya klo mengandalkan otak butuh waktu cukup lama untuk mengingatnya. Semoga bermanfaat buat yang membacanya.

Aku tambahkan lagi neh buat auto logout jika tidak ada kegiatan apapun di console. Tambahkan baris export TMOUT=60 di .profile atau .bash_profile di home direktory masing-masing user.

Tuesday, May 06, 2008

Buat DHCP server on CentOS 5.0

DHCP (Dynamic Host Configuration Protocol) merupakan protocol yang menangani pembagian ip address secara otomatis. Untuk menerapkan konsep DHCP ini diperlukan satu komputer yang menghandle tugas ini. Komputer tersebut dinamakan DHCP Server sedangkan komputer yang mendapatkan ip address dari server disebut DHCP client.

Berikut ini adalah cara konfigurasi DHCP server di CentOS 5.0
1.
Pastikan paket dhcp dan dhcp-devel telah diinstall dikomputer. Jika belum silahkan install sendiri menggunakan rpm �ivh nama_paket.
[root@server01 etc]# rpm -qa | grep dhcp
dhcp-devel-3.0.5-3.el5
dhcp-3.0.5-3.el5
2. Copy sample file konfigurasi dhcpd.conf dari direktory /usr/share/doc/dhcp-3.0.5/ ke /etc
[root@server01 etc]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
3.
Edit file /etc/dhcpd.conf sesuai dengan setingan network yang diinginkan.
[root@server01 etc]# vim dhcpd.conf
ddns-update-style none;
ignore client-updates;
DHCPARGS=eth0;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name "server01.com";
option domain-name-servers 192.168.1.11;
option time-offset -18000;
range 192.168.1.241 192.168.1.254;
default-lease-time 86400;
max-lease-time 604800;
# host ns {
# next-server client1.server01.com;
# hardware ethernet 00:C0:9F:FA:B9:OF;
# fixed-address 192.168.1.253;
# }
}
Save lalu keluar.
Jika ingin mengaktifkan ipaddress pada client tertentu contoh saya berikan yang diberi pagar diawal setiap baris. Tinggal sesuaikan dengan MAC address komputer client.
4. Jalankan service dhcpd
[root@server01 etc]# /etc/init.d/dhcpd start
Starting dhcpd: [ OK ]
5. Tes dikomputer client anda

Yang perlu diperhatikan adalah waktu sewa/leases setiap ipaddres yang diberikan oleh server.
3600 = satu jam
86400 = satu hari
604800 = satu minggu
2592000 = satu bulan (asumsi 30 hari)
31536000 = satu tahun

Untuk melihat komputer client yang telah menyewa ip address diserver dapat ditemukan di /var/lib/dhcpd/dhcpd.leases dan pesan log service dhcpd di /var/log/messages.

Keep your smile man�!!

Wednesday, April 09, 2008

Boot Loader raib..

Kabanyakan pengguna GNU/Linux sering kehilangan lilo atau grub karena sesuatu dan lain hal. Ada dengan alasan inilah, itulah dan intinya satu, help me please..! Daripada aq sering ditanya ttg hal itu berikut aku berikan trik untuk menyelamatkan lilo atau grub yang gak bisa diakses.

Seperti yang kita ketahui dalam teori sistem operasi bahwa bootloader bisa ditempatkan di master boot record (mbr) atau awal partisi sebuah harddisk. Boot loader itu berupa aplikasi seperti lilo, grub dan sejenisnya. Ketika bootloader bermasalah maka ibarat rumah penghuni tidak bisa masuk kedalam karena pintu depan gak bisa dibuka.

Oke, let’s we do.. Perbaiki Pintu depan!
With cd 1 slackware
1. Masukkan cd ke cdrom drive then restart komputer anda. Jangan lupa seting BIOS supaya load awal ke device cdrom drive.
2. Jika muncul boot prompt ketikkan bare.i root=/dev/hda7 rw dimana /dev/hda7 adalah letak partisi / system anda. Kemudian tekan enter.
3. Biarkan booting system Linux anda berjalan sampai anda dapat #
4. Ketikkan lilo then restart komputer anda …
5. Kalo make grub ya tinggal ketik perintah ini grub-install /dev/hda
Enjoy it..

With Live CD GNU/Linux
1. Siapkan live cd GNU/Linux kemudian boot komputer sehingga muncul prompt #
2. Berikutnya mounting partisi / linux yang anda gunakan (misalnya / di /dev/hda7)
# mkdir /resque
# mount /dev/hda7 /resque -- hda7 letak partisi / system anda (sesuaikan)
# chroot /resque
3. Eksekusi lilo anda # lilo klo make grub ya grub-install /dev/had

Jika gagal, ulangi kembali... kerusakan sistem di tanggung sendiri-sendiri.

Tuesday, March 04, 2008

instalasi SNORT di CentOS 5.0

Awalnya ikut-ikut forum salah satu website open source ditanah air akhirnya dapat tulisan aneh "snort"! What is snort? Ehm, sampai tulisan ini aku buat definisi snort yang aku pahami adalah salah satu software untuk memonitoring/mendeteksi serangan yang ditujukan kekomputer yang kita tangani (server). Dengan bantuan software blockit, snort juga dapat melakukan blocking network base ipaddress sesuai rules yang kita terapkan. Jika dikombinasikan dengan firewall with iptables akan lebih baik.

Kenapa menggunakan CentOS 5.0? Soalnya komputer yang aku gunakan ngoprek da di install CentOS 5.0. heheeeee.. Tapi pada prinsipnya hampir semua distro GNU/Linux mendukung snort. Tulisan ini saya buat sebagai reminded jika saya terpaksa harus menggunakan snort suatu hari nanti. Untung jika bisa membantu yang ingin nyobain snort, kali aja bisa berguna. Saya juga hanya newbie dibidang security network base GNU/Linux.

Paket yang harus didownload yaitu snort,snortrules, snort-init dan blockit. Pada kesempatan ngoprek kali ini saya menggunakan snort-2.8.0.2 merupakan versi stable snort sampai tulisan ini dibuat dengan dukungan snortrules-snapshot-2.8 juga rilis terakhir. Selain itu script snort-init entah siapa yang buat, pokoknya aku nemu di b3cak.anjagri.com (em, domain keren man). Untuk Blockit aku menggunakan versi blockit-1.4.3a yang masih tahap testing.. Tapi biarlah wong aku juga lagi test-test aja.

Oke, this steps to install snort at your pc base CentOS 5.0
o Pastikan libpcap ma develnya serta pcre ma develnya sudah terinstall dengan baik.
Selain itu paket awk juga akan dibutuhkan.
o ekstrak file snort hasil download di /tmp
[wevils@server01 tmp]$
tar xjvf snort-2.8.0.2.tar.gz
[wevils@server01 tmp]$ cd
snort-2.8.0.2
[wevils@server01 snort-2.8.0.2]$ ./configure -prefix=/usr -sysconfdir=/etc/snort -mandir=/usr/share/man -with-libpcap -with-dynamicplugins
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
----> ...
config.status: creating m4/Makefile
config.status: creating etc/Makefile
config.status: creating templates/Makefile
config.status: creating src/win32/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

[wevils@server01 snort-2.8.0.2]$ make
[wevils@server01 snort-2.8.0.2]$ su
Password:
[root@server01 snort-2.8.0.2]#make install
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/share/man/man8" || /bin/mkdir -p "/usr/share/man/man8"
/usr/bin/install -c -m 644 './snort.8' '/usr/share/man/man8/snort.8'
make[2]: Leaving directory `/tmp/snort-2.8.0.2'
make[1]: Leaving directory `/tmp/snort-2.8.0.2'

[root@server01 snort-2.8.0.2]# mkdir -p /etc/snort/rules; mkdir /var/log/snort
[root@server01 snort-2.8.0.2]# mkdir -p mkdir /var/log/snort
ato langsung aja dengan satu perintah
[root@server01 snort-2.8.0.2]# mkdir -p /etc/snort/rules; mkdir /var/log/snort
heheee…
[root@server01 snort-2.8.0.2]# cp etc/* /etc/snort/
[root@server01 snort-2.8.0.2]# exit

Oke sampai tahap ini jika tidak ada error lanjutkan dengan memasang rules snort yang udah di download
o
ekstrak file snortrules hasil download di /tmp
[wevils@server01 tmp]$
tar xjvf snortrules-snapshot-2.8.tar.gz
[wevils@server01 tmp]$
su
[root @server01 tmp]#
cp rules/* /etc/snort/rules/

Selanjutnya lakukan konfigurasi snort.conf yaitu:
[root @server01 tmp]#
vim /etc/snort/snort.conf
var HOME_NET 192.168.1.0/24
## sesuaikan dengan ipaddress network anda
var EXTERNAL_NET $HOME_NET
var RULE_PATH /etc/snort/rules
dynamicpreprocessor directory /usr/lib/snort_dynamicpreprocessor/
dynamicengine /usr/lib/snort_dynamicengine/libsf_engine.so

Simpan lalu keluar. Lanjutkan dengan memberi tanda pagar baris 97,98 dan 452 pada file /etc/snort/rules/web-misc.rules

Selanjutnya buat file snort di /etc/init.d/ dengan isi dari file snort-init.txt yang udah didownload lalu jadikan file snort tersebut jadi executable.
[root@server01 ~]#
chmod +x /etc/init.d/snort
Selanjutnya jalankan snortnya sekarang
[root@server01 ~]#
/etc/init.d/snort start
Starting snort service: 8613 [ OK ]

Hahaaaaa.. akhirnya bisa jalan.

Berikutnya lanjut instalasi paket blockit untuk pencegahan penyusup masuk diserver yang kita gunakan.

[wevils@server01 tmp]$ tar xjvf blockit-1.4.3a.tar.gz
[wevils@server01 tmp]$
cd blockit-1.4.3a
[wevils@server01 tmp]$
su
Password:
[root@server01
blockit-1.4.3a]# ./install.sh
Please Enter Install Directory [/usr/local/blockit]:/usr/sbin/blockit
Do you want to configure MySQL support? [y/n]: n
If using PF add a line saying ‘anchor blockit’ in your /etc/pf.conf!

[root@server01 blockit-1.4.3a]# vi /etc/blockit/blockit.conf
# pastikan alert file sesuai direktori yang sudah dibuat sebelumnya.
AlertFile = /var/log/snort/alert
Save lalu keluar!

[root@server01 blockit-1.4.3a]# /usr/sbin/blockit/bin/blockit start

Oke lanjutkan dengan tes hasil kerjaan. Coba lakukan koneksi dari komputer lain. Ada hasil gak di snort yang baru dibuat. Berikut hasil monitoring akses webserver dari client di jaringan local saya.

[root@server01 ~]# tail -f /var/log/snort/alert
03/05-10:55:00.143078 192.168.1.10:80 -> 192.168.1.234:1304
TCP TTL:64 TOS:0x0 ID:23640 IpLen:20 DgmLen:460 DF
***AP*** Seq: 0xCB9ABF77 Ack: 0x12C3F916 Win: 0x1920 TcpLen: 20
[**] [1:1201:7] ATTACK-RESPONSES 403 Forbidden [**]
[Classification: Attempted Information Leak] [Priority: 2]
03/05-11:03:08.854317 192.168.1.10:80 -> 192.168.1.234:1718
TCP TTL:64 TOS:0x0 ID:36242 IpLen:20 DgmLen:460 DF
***AP*** Seq: 0xEA90D532 Ack: 0xC0C3E540 Win: 0x1920 TcpLen: 20

Agar monitoringnya tidak menggunakan user root lebih baiknya diberi otorisasi kepada user biasa misalnya user wevils.
[root@server01 log]# chgrp wevils -R snort/
[root@server01 log]# chmod 660 snort/alert
[root@server01 log]# exit
[wevils@server01 ~]$ tail -f /var/log/snort/alert
03/05-10:55:00.143078 192.168.1.10:80 -> 192.168.1.234:1304
TCP TTL:64 TOS:0x0 ID:23640 IpLen:20 DgmLen:460 DF
***AP*** Seq: 0xCB9ABF77 Ack: 0x12C3F916 Win: 0x1920 TcpLen: 20
[**] [1:1201:7] ATTACK-RESPONSES 403 Forbidden [**]
[Classification: Attempted Information Leak] [Priority: 2]

03/05-11:03:08.854317 192.168.1.10:80 -> 192.168.1.234:1718
TCP TTL:64 TOS:0x0 ID:36242 IpLen:20 DgmLen:460 DF
***AP*** Seq: 0xEA90D532 Ack: 0xC0C3E540 Win: 0x1920 TcpLen: 20
[**] [1:486:5] ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited [**]

[Classification: Misc activity] [Priority: 3]
03/05-11:50:59.422274 192.168.1.10 -> 192.168.1.11
ICMP TTL:64 TOS:0xD0 ID:38032 IpLen:20 DgmLen:88
Type:3 Code:10 DESTINATION UNREACHABLE: ADMINISTRATIVELY PROHIBITED HOST FILTERED
** ORIGINAL DATAGRAM DUMP:
192.168.1.11:56069 -> 192.168.1.10:23
TCP TTL:64 TOS:0x10 ID:14185 IpLen:20 DgmLen:60 DF
Seq: 0xB3DF15BA
(32 more bytes of original packet)
** END OF DUMP

Keep your smile man!

Diambil dari http://blogger-templates.blogspot.com | editor: Mr Wevils