Tuesday, October 13, 2009

Command Security di GNU/Linux

Apa saja tool-tool itu?

1. W
W? ya. Hanya w. cukup ketikkan w dan Anda bisa melihat siapa saja yang sedang login pada mesin Anda sekarang, dan melihat proses apa yang mereka jalankan. Berikut cuplikan dari man w:

w - Show who is logged on and what they are doing.

Contoh:
1.a Saat ini hanya ada satu orang saja yang login di mesin saya. Hasil dari perintah w adalah:

deb-909:/home/agus# w
21:45:07 up 4 min, 1 user, load average: 0.07, 0.27, 0.14
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
agus :0 - 21:41 ?xdm? 15.17s 0.05s /bin/sh /usr/bin/startkde
deb-909:/home/agus#

1.b Apabila ada user lain yang login dengan tty yang lain, hasilnya menjadi seperti ini:

deb-909:/home/agus# w
21:47:42 up 7 min, 2 users, load average: 0.07, 0.17, 0.12
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
agus :0 - 21:41 ?xdm? 17.68s 0.05s /bin/sh /usr/bin/startkde
root tty2 - 21:47 6.00s 0.01s 0.00s -bash
deb-909:/home/agus#

1.c Apabila ada user lain yang login dengan ssh, maka hasilnya akan seperti ini:

deb-909:/etc/init.d# w
21:53:23 up 12 min, 3 users, load average: 0.06, 0.11, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
agus :0 - 21:41 ?xdm? 26.09s 0.05s /bin/sh /usr/bin/startkde
root tty2 - 21:47 5:47m 0.01s 0.00s -bash
root pts/3 shadow.local 21:52 1:14m 0.00s 0.00s -bash
deb-909:/etc/init.d#

Terlihat bahwa ada tambahan baris paling bawah dimana kolom FROM tidak kosong, tetapi menunjukkan bahwa login tersebut berasal dari host lain. Dalam contoh di atas, host lain tersebut adalah shadow.local.
Nah, dari sini kita bisa melihat siapa saja yang login, dan mengecek apakah login-nya sah.

[size=12]2. WATCH[/size]

watch - execute a program periodically, showing output fullscreen

Ini utility luar biasa. dengan ini, Anda bisa memonitor apa yang terjadi pada sistem Anda. Karena utility watch ini akan mengeksekusi perintah secara periodik. Bentuk umumnya adalah sebagai berikut:

#watch -n interval command

Parameter penting untuk command watch ini adalah:

-n : mengatur interval update

Contoh:

2.a Anda ingin memonitor siapa saja yang login setiap 1 detik. Maka command-nya adalah:

#watch -n1 w

Dan di layar Anda akan muncul output dari command w yang di-update setiap 1 detik.

Untuk keluar dari command ini. Tekan tombol maut Ctrl+C.

3. NETSTAT

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

Dengan netstat, Anda bisa melihat siapa saja yang konek dengan komputer Anda, melalui port berapa mereka konek, dan proses apa yang menyediakan koneksinya. Anda juga bisa melihat port mana saja yang terbuka di komputer Anda.

Parameter penting untuk command netstat ini adalah:

-r : menampilkan routing table. Mirip dengan command route tetapi informasinya lebih singkat dan lebih cepat keluar.
-i : Mengatur interface mana yang ingin ditampilkan informasinya. Sangat berguna jika Anda memiliki lebih dari 1 network interface.
-s : Menampilkan statistik koneksi dari awal Anda login sampai sekarang.
-v : Verbose mode. Menampilkan lebih banyak informasi.
-n : Numeric. Tidak meresolve hostname. Host akan ditampilkan sebagai IP-Address. Jauh lebih menarik daripada tanpa -n
-a : Menampilkan semua port yang terbuka. Jika tidak diberi parameter ini, maka netstat hanya akan menampilkan port yang ter-konek saja.
-p : Menampilkan proses apa yang melayani koneksi.

Parameter tipe soket:

-t : Menampilkan soket TCP
-u : Menampilkan soket UDP
-w : Menampilkan soket raw
-x : Menampilkan soket UNIX
–ipx: Menampilkan soket ipx

Contoh:

3.a Anda ingin melihat semua port yang terbuka dan proses apa yang membuka port tersebut:

#netstat -ap

Keluarannya cukup panjang.

3.b Sama dengan diatas, namun Anda ingin membatasi soket tcp saja:

#netstat -tap

Hasilnya lebih rapi.

3.c Sama seperti diatas lagi, namun kali ini tampilkan IP-Address dan bukan nama host:

#netstat -tanp

Ini yang paling enak dilihat

3.d Anda ingin menampilkan port yang terbuka dan IP-Address yang konek dengan komputer Anda dan diupdate setiap 1 detik:

#watch -n1 netstat -tanp

Asik. Bisa monitoring.

3.e Sama dengan diatas, tetapi Anda ingin membatasi memonitor port 80 (service www) saja.

# watch -n1 "netstat -tanp | grep :80"

Perhatikan tanda petiknya.

3.f Anda ingin memonitor statistic jaringan Anda, diupdate 1 detik, dan hanya menampilkan protokol TCP.

# watch -n1 "netstat -ts"

Dah kayak bandwith monitoring

4. KILL

Jika Anda mencurigai suatu proses menyediakan koneksi untuk orang yang tidak sah, Anda bisa memutusnya dengan meng-kill proses nya. PID (nomor proses) bisa dilihat dengan menggunakan perintah netstat diatas.

Contoh:

Anda menemui netstat melaporkan adanya koneksi semacam ini:

tcp6 0 0 ::ffff:192.168.1.3:22 ::ffff:192.168.1.:35205 ESTABLISHED3132/3

Dan Anda mencurigai koneksi ini sebagai penyusup. Bunuh saja prosesnya:

# kill 3132

Yak, mati.

5. TELNET

telnet - user interface to the TELNET protocol

Tool yang dari dulu sampai sekarang belum kehilangan ke-digdayaannya. Jaman dahulu, banyak terminal (komputer) yang hanya menyediakan akses telnet ke sebuah server, sehingga cukup dengan meletakkan satu aplikasi di server, semua client dapat mengaksesnya.

Contoh:

5.aDengan telnet kita bisa login ke komputer lain di dalam jaringan dan berkomputer seakan-akan kita ada di jaringan tersebut. Dengan syarat, komputer lain itu menyediakan layanan telnet di port 23.

deb-909:/home/agus# telnet 192.168.1.1

Hasilnya adalah:

deb-909:/home/agus# telnet 192.168.1.1
Trying 192.168.1.1…
Connected to 192.168.1.1.
Escape character is ‘^]’.
Debian GNU/Linux 4.0
shadow.shadow.org login: shadow
Password:
Last login: Mon Aug 6 22:46:21 2007 from ws003.ltsp on pts/5
Linux shadow.shadow.org 2.6.21.5 #1 SMP Sat Jul 14 12:32:04 PDT 2007 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
You have new mail.
shadow@shadow:~$

Dan Anda sudah terlempar ke shell komputer lain itu. Gunakan dengan bijak.

5.b Telnet untuk banner-grabbing. Banner-grabbing adalah memeriksa versi server yang berjalan di sebuah host, dengan demikian kita bisa mengetahui apakah versi server tersebut memiliki celah yang bisa di-exploit atau tidak.

Mengecek port 80:

#telnet 192.168.1.1 80

kemudian ketikkan:

get / http / 1.0

Dan tekan enter 2 kali.

Hasilnya:

deb-909:/home/agus# telnet 192.168.1.1 80
Trying 192.168.1.1…
Connected to 192.168.1.1.
Escape character is ‘^]’.
get / http / 1.0

HTTP/1.1 302 Found
Date: Tue, 07 Aug 2007 05:53:50 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch1
Location: http://shadow.shadow.org/apache2-default/
Content-Length: 325
Connection: close
Content-Type: text/html; charset=iso-8859-1

Hi…ketauan ya. Server nya pake Debian, Apache versi 2.2.3 PHP versi 5.2.0. Kucari exploit nya ah!

6. CHMOD

chmod - change file access permissions

Chmod adalah tool sangat esensial. Dengan tool ini, Anda dapat mengatur hak akses setiap file di dalam GNU/Linux.

Namun saya rasa lebih enak untuk menjelaskan tentang chmod dan hak akses file di Linux dalam sebuah tulisan terpisah.

7. IPTABLES

iptables - administration tool for IPv4 packet filtering and NAT

Linux Packet Filtering atau Firewall. Sangat kompleks dan njlimet. Tapi, setelah menguasai iptables, Anda bisa paket yang datang dan pergi sesuka hati.

source : echo.or.id

No comments: