Tips Server : Portsentry

Portsentry adalah aplikasi yang digunakan untuk mendeteksi dan merespon semua kegiatan yang berhubungan dengan 'port scanning' pada sebuah sistem.

install portsentry

centos
yum install portsentry
ato
rpm -ivh portsentry-1.1-11.fr.i386.rpm

mandriva
urpmi portsentry

dengan konfigurasi default portsentry langsung bisa digunakan. untuk file-file konfigurasi terletak di direktori :

/etc/portsentry/

dengan isi file sbb :

portsentry.blocked.atcp
portsentry.blocked.audp
portsentry.conf
portsentry.history
portsentry.ignore
portsentry.modes

untuk konfigurasi utama, silahkan di edit file /etc/portsentry/portsentry.conf , disini yang diperlu di perhatikan adalah di bagian 'kerjaan' portsentry setelah terjadi ato mendeteksi adanya 'port scanning'. di linux mandriva defaultnya adalah menge-blok usaha 'port scanning' tersebut menggunakan 'iptables', seperti terlihat di file portsentry.conf.

###################
# Dropping Routes:#
###################
# This command is used to drop the route or add the host into
# a local filter table.
#
# The gateway (333.444.555.666) should ideally be a dead host on
# the *local* subnet. On some hosts you can also point this at
# localhost (127.0.0.1) and get the same effect. NOTE THAT
# 333.444.555.66 WILL *NOT* WORK. YOU NEED TO CHANGE IT!!
#
# ALL KILL ROUTE OPTIONS ARE COMMENTED OUT INITIALLY. Make sure you
# uncomment the correct line for your OS. If you OS is not listed
# here and you have a route drop command that works then please
# mail it to me so I can include it. ONLY ONE KILL_ROUTE OPTION
# CAN BE USED AT A TIME SO DON'T UNCOMMENT MULTIPLE LINES.
#
# NOTE: The route commands are the least optimal way of blocking
# and do not provide complete protection against UDP attacks and
# will still generate alarms for both UDP and stealth scans. I
# always recommend you use a packet filter because they are made
# for this purpose.
#

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

dimana opsi diatas adalah default, dan bisa di ubah untuk menyesuaikan situasi dan kondisi serta kebutuhan.
semisal akan memerintahkan portsentry agar memasukkan usaha ip_orang 'port scanning' ke dalam file /etc/hosts.deny, cukup dengan mengkombinasikan dengan opsi yang ada di bagian tcp wrappers (service). liat contoh :

###############
# TCP Wrappers#
###############
# This text will be dropped into the hosts.deny file for wrappers
# to use. There are two formats for TCP wrappers:
#
# Format One: Old Style - The default when extended host processing
# options are not enabled.
#

KILL_HOSTS_DENY="ALL: $TARGET$"
#hilangkan tanda #

# Format Two: New Style - The format used when extended option
# processing is enabled. You can drop in extended processing
# options, but be sure you escape all '%' symbols with a backslash
# to prevent problems writing out (i.e. \%c \%h )
#
#KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"

dan jika ingin memberikan alert tentang kejadian 'port scanning' tsb, misalnya menggunakan email, bisa langsung menggunakan konfigurasi 'External Command' :

###################
# External Command#
###################
# This is a command that is run when a host connects, it can be whatever
# you want it to be (pager, etc.). This command is executed before the
# route is dropped or after depending on the KILL_RUN_CMD_FIRST option below
#
#
# I NEVER RECOMMEND YOU PUT IN RETALIATORY ACTIONS AGAINST THE HOST SCANNING
# YOU!
...
KILL_RUN_CMD="/bin/mail -s 'Portscan from $TARGET$ on port $PORT$' admin@server.org < /dev/null"

...

mudah bukan mengkonfigurasi portsentry ? :D
dan yang perlu di perhatikan lagi adalah file /etc/portsentry/portsentry.ignore

# Put hosts in here you never want blocked. This includes the IP addresses
# of all local interfaces on the protected host (i.e virtual host, mult-home)
# Keep 127.0.0.1 and 0.0.0.0 to keep people from playing games.
#
# PortSentry can support full netmasks for networks as well. Format is:
#
# /
#
# Example:
#
# 192.168.2.0/24
# 192.168.0.0/16
# 192.168.2.1/32
# Etc.
#
# If you don't supply a netmask it is assumed to be 32 bits.
#
#

beberapa fitur dari portsentry (diambil dari tulisannya pak onno w purbo)

•Mendeteksi adanya Stealth port scan untuk semua platform Unix. Stealth port scan adalah teknik port scan yang tersamar / tersembunyi, biasanya sukar di deteksi oleh sistem operasi.
•PortSentry akan mendeteksi berbagai teknik scan seperti SYN/half-open, FIN, NULL dan X-MAS. Untuk mengetahui lebih jelas tentang berbagai teknik ini ada baiknya untuk membaca-baca manual dari software nmap yang merupakan salah satu software portscan terbaik yang ada.
•PortSentry akan bereaksi terhadap usaha port scan dari lawan dengan cara membolkir penyerang secara real-time dari usaha auto-scanner, probe penyelidik maupun serangan terhadap sistem.
•PortSentry akan melaporkan semua kejanggalan & pelanggaran kepada software daemon syslog lokal maupun remote yang berisi nama sistem, waktu serangan, IP penyerang maupun nomor port TCP atau UDP di mana serangan di lakukan. Jika PortSentry didampingkan dengan LogSentry, dia akan memberikan berita kepada administrator melalui e-mail.
•Fitur cantik dari PortSentry adalah pada saat terdeteksi sebuah scan, sistem anda tiba-tiba menghilang dari hadapan si penyerang. Fitur ini betul-betul membuat penyerang tidak berkutik.
•PortSentry selalu mengingat alamat IP penyerang, jika ada serangan Port Scan yang sifatnya random PortSentry akan bereaksi.

Mandriva 2009.0 : Add Repo dengan rpmdrake

ok langsung aja. kita akan menambahkan repo untuk mandriva 2009.0 kita dengan repo yang tersedia di http://www.arsip.or.id. untuk link lengkapnya dari arsip.or.id adalah ini :

http://arsip.or.id/mandrakelinux/official/2009.0/i586/

disini repo tersebut terdiri dari main repo dan contrib repo. dan masing-masing repo terdapat repo bakcports, release, testing dan updates.

jadi untuk menambahkan semua repo itu (main dan contrib repo), dengan menambahkan link-link langsung ini melalui rpmdrake ataupun manual dengan perintah urpmi.addmedia. daftar linknya

main repo

backports : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/main/backports/
releease : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/main/release/
testing : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/main/testing/
updates : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/main/updates/

dan
contrib repo nya

backports : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/contrib/backports/
releease : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/contrib/release/
testing : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/contrib/testing/
updates : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/contrib/updates/

kemudian setelah kita tau link repo buat mandrivanya, sekarang kita masukkan ke database sistem mandriva kita. caranya :

1. klik menu, dan pilih Install & Remove Software



2. masukkan password root, setelah halaman rpmdrake muncul. langsung pilih menu Option dan pilih Media manager. seperti gambar di bawah ini:



3. muncul halaman configure media, seperti gambar di bawah ini :



kemudian tekan tombol Ctrl dengan diikuti huruf A ( Ctrl+A ), untuk menambahkan repo diatas. seperti gambar di bawah ini :



kemudian masukkan parameternya yang seperti diatas. contoh untuk medium name main repo, isikan ;

Medium Name : arsip_main_release
URL : http://arsip.or.id/mandrakelinux/official/2009.0/i586/media/main/release/



kemudian tekan OK jika sudah selesai, dan lanjutkan dengan repo lainnya (contrib repo).

Jika tidak ada error/kesalahan. sistem mandriva kita sudah bisa digunakan untuk menginstall dan meng-update software dari repo arsip.or.id


note :

http://bayuart.wordpress.com
http://bayu.blitar.org / http://blitar.org
http://blitar.linux.or.id / http://linux.or.id
http://mandriva.linux.or.id

I'm Linux Girl