Tidak Cukup Waktu Mengurusmu
Solusi sementara; semua tulisan saya tentang Open Source saya sharing di website pribadiku. Klick disini untuk melihat detailnya.
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.
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�!!
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!