28
Aug

PortSentry adalah aplikasi yang dirancang untuk mendeteksi adanya scanning port
suatu box dalam model real time.
Perbedaan spesifik dengan IDS seperti Snort adalah portsentry melakukan aksi,
sedangkan snort hanya mendeteksi saja.

Instalasi :

Ambil paket dari

http://downloads.kavalinux.com/security/ids/portsentry-1.2.tar.gz

lalu ekstrak file tersebut

# tar zxvf portsentry-1.2.tar.gz
# cd portsentry_beta

Edit file portsentry_config.h, lalu ganti baris berikut :

#define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf"

Menjadi

#define CONFIG_FILE "/etc/portsentry/portsentry.conf"

Edit file portsentry.conf, lalu ganti baris berikut :

######################
# Configuration Files#
######################
#
# Hosts to ignore
IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore"
# Hosts that have been denied (running history)
HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history"
# Hosts that have been denied this session only (temporary until next restart)
BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked"

Menjadi

######################
# Configuration Files#
######################
#
# Hosts to ignore
IGNORE_FILE="/etc/portsentry/portsentry.ignore"
# Hosts that have been denied (running history)
HISTORY_FILE="/etc/portsentry/portsentry.history"
# Hosts that have been denied this session only (temporary until next restart)
BLOCKED_FILE="/etc/portsentry/portsentry.blocked"

Juga pada baris :

# iptables support for Linux
#KILL_ROUTE="/usr/local/bin/iptables -I INPUT -s $TARGET$ -j DROP"

Menjadi

# iptables support for Linux
KILL_ROUTE="/usr/sbin/iptables -I INPUT -s $TARGET$ -j DROP"

PENTING:
Untuk menentukan letak binary iptables Anda, lakukan perintah ini di shell.
Berikut contoh pada box linux saya :

# which iptables
/usr/sbin/iptables

Edit file Makefile, lalu ganti baris berikut :

INSTALLDIR = /usr/local/psionic

ke

INSTALLDIR = /etc

Kemudian compile

make linux

Bila ada error seperti dibawah ini :

SYSTYPE=linux
Making
cc -O -Wall -DLINUX -DSUPPORT_STEALTH -o ./portsentry ./portsentry.c
        ./portsentry_io.c ./portsentry_util.c
portsentry.c:1584:11: missing terminating " character
portsentry.c: In function `Usage':
portsentry.c:1585: error: syntax error before "sourceforget"
portsentry.c:1585: error: stray '' in program
portsentry.c:1585:24: missing terminating " character
make: *** [linux] Error 1

maka edit portsentry.c, hilangkan baris 1585, lalu pada baris 1584, edit menjadi demikian:

printf ("Copyright 1997-2003 Craig H. Rowland n");

Lalu, coba jalankan kembali perintah

# make linux

Kemudian install

# make install

Jika lancar, coba cek ke direktori /etc/portsentry

# ls /etc/portsentry
portsentry*  portsentry.conf  portsentry.ignore

Akan tercipta file2 seperti diatas.
Berikut penjelasan file2 diatas :

- portsentry
File ini adalah binary portsentry. Anda perlu mengeksekusi file ini bila ingin menjalankan aplikasi
portsentry

- portsentry.conf
File ini adalah file konfigurasi portsentry
Sekarang Anda siap menjalankan aplikasi portsentry :

- portsentry.ignore
File ini berisikan list ip yang diabaikan atau ip yang tidak di blok oleh portsentry

Edit file portsentry.ignore dan pastikan ip local dan ip static Anda terdaftar didalamnya, misalnya :
127.0.0.1/32
172.167.0.174

Hilangkan baris ini :
0.0.0.0

Eksekusi binary portsentry

# /etc/portsentry/portsentry -stcp

Cek di syslog

# tail -f /var/log/messages
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 27665
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 31337
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 32771
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 32772
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 32773
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 32774
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 40421
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 49724
portsentry[3772]: adminalert: Going into stealth listen mode on TCP port: 54320
portsentry[3772]: adminalert: PortSentry is now active and listening.

Untuk ujicoba, coba lakukan port scanning melalui komputer yang memiliki ip yang
tidak terdaftar di dalam portsentry.ignore

Misalnya : Saya scan dari ip 172.168.0.1

# nmap -sS -vv -O -P0 172.168.0.174

Saya lihat kembali ke shell saya dan cek pada syslog

# tail -f /var/log/messages

portsentry[4009]: attackalert: TCP SYN/Normal scan from host: server.kapukvalley.net/172.168.0.1
to TCP port: 1080
portsentry[4009]: attackalert: Host 172.168.0.1 has been blocked via wrappers with string: “ALL: 172.168.0.1″
portsentry[4009]: attackalert: Host 172.168.0.1 has been blocked via dropped route using command:
“/usr/sbin/iptables -I INPUT -s 172.168.0.1 -j DROP”
portsentry[4009]: attackalert: TCP SYN/Normal scan from host: 172.168.0.1/172.168.0.1 to TCP port: 54320
portsentry[4009]: attackalert: Host: 172.168.0.1/172.168.0.1 is already blocked Ignoring

Ehm.. seperti diatas, ada peringatan serangan dari ip 172.168.0.1
Apa gunanya baris KILL_ROUTE tadi, yaitu merupakan aksi dari serangan, aksi yang kita
ambil seperti diatas adalah di handle oleh iptables. Bila ada serangan seperti diatas,
maka iptables akan segera mendrop ip tersebut, kita lihat list tabel iptables :

# iptables -L -vnx

Chain INPUT (policy ACCEPT 545689 packets, 79757453 bytes)
pkts bytes target prot opt in out source destination
1351 65609 DROP all — * * 172.168.0.1 0.0.0.0/0

Untuk membuka koneksi nya kembali anda perlu seperti ini :

# iptables -D INPUT 1

Pada waktu ada serangan, maka akan tercipta 2 file di direktori /etc/portsentry, yaitu :

- portsentry.blocked.stcp
File ini berisikan host yang di blokir

Contoh isinya :

# cat portsentry.blocked.stcp
1139373183 - 02/08/2006 11:33:03 Host: server.kapukvalley.net/172.168.0.1 Port: 1080 TCP Blocked

- portsentry.history
File ini isinya hampir sama dengan file diatas, perbedaan yang spesifik yaitu,
file yang diatas menyimpan informasi mengenai host yang melalukan serangan dan berhubungan
dengan aturan pemblokiran atau aksi pemblokiran. Sedangkan file history hanya menyimpan
informasi yang melalukan serangan saja, tidak termasuk aksi.

Contoh isinya :

# cat portsentry.history
1139373183 - 02/08/2006 11:33:03 Host: server.kapukvalley.net/172.168.0.1
Port: 1080 TCP Blocked

Bila Anda sudah mendelete aturan yang ada di chain iptables, maka sebaiknya isi file
portsentry.blocked.stcp pada host yang bersangkutan di delete, bisa dengan perintah :

# echo "" > /etc/portsentry/portsentry.blocked.stcp

Apabila Anda ingin praktis membuka koneksi host yang di blokir,
Anda bisa membuat script bash seperti yang penulis buat dibawah ini :

—————————–Awal-Script—————————–

#!/bin/sh

IPTABLES="$(which iptables)"
ROOT_UID=0
E_NOTROOT=67
# Harus root
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Harus root euy.."
exit $E_NOTROOT
fi
# clear blocked portsentry -stcp
if [ -f /etc/portsentry/portsentry.blocked.stcp ]
then
 echo "Hapus log file portsentry.blocked.stcp... done..."
 echo "" > /etc/portsentry/portsentry.blocked.stcp
else
 echo "ga ada file portsenty.blocked.stcp-na"
fi
# Print ip si nakalz :
$IPTABLES -L INPUT -vnx  | awk '{print "IP si nakalz -> " $8}' | sed '1,2d'

echo "IP berapa yang mau dibuka?"
read ip
echo "IP yang Anda masukkan adalah : $ip"
echo "Apakah benar? [y/t]"
read jawab
case "$jawab" in
'y')
$IPTABLES -D INPUT -s $ip -j DROP
;;
'n')
esac
exit 0

——————————————Akhir-Script——————

hasil pencarian :

Random Posts

Category: Linux
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
One Response
  1. [...] terus,aku akan jaga service-mu jangan sampai crash dan aku akan menjadi firewallmu aku akan pasang portsentry, dan menyeting error pagemu ”The page cannot be found coz it Has Been Owned by Someone, get [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

[+] kaskus emoticons nartzco