แหล่งแลกเปลี่ยนความรู้-ประสบการณ์ FreeBSD สำหรับคนไทย
:: เพื่อแลกเปลี่ยนความรู้, ถาม-ตอบปัญหาคาใจ, แนะนำ, ประกาศ, หรือทุกสิ่งตามต้องการ ::
 
Home  กลับหน้าหลัก  สมัครสมาชิก  ตั้งคำถามใหม่  แก้ไขข้อมูลสมาชิก  ดูสมาชิกทั้งหมด  ลืมรหัสผ่าน

ขอเชิญร่วมตอบคำถามครับ



  การป้องกันการถูกบุกรุก Scan Port
   ShareKnowledge
 Posted : 2006-02-14 14:28:50

  หนึ่งในใต้หล้า
 

 Sex :
 Post : 2819
 สมาชิกลำดับที่ : 434
พอดีมีประสบการณ์ในด้านนี้มาบ้างเลยอยากจะแนะนำให้เพื่อนๆพี่ๆน้องได้ลองทำดูกัน ก็เลยนำเอาการ config โปรแกรม Portsentry มาให้ดูกัน หวังว่าคงจะเป็นประโยชน์กันบ้างไม่มากไม่น้อย ซึ่งขึ้นอยู่กับการนำไปประยุกต์กับระบบของคุณเอง

โปรแกรม portsentry เป็นโปรแกรมที่สร้างขึ้นเพื่อตรวจสอบการ scan port แบบ real time สามารถตรวจจับการบุกรุกมายัง port ต่างๆที่ server เปิดให้บริการอยู่ บางคนตั้ง server แบบไม่ระมัดระวังพอติดตั้ง NOS เสร็จก็สนใจแต่เรื่องการ config ในส่วนที่จะให้บริการกับลูกข่ายเท่านั้น สามารถหา download โปรแกรมนี้ได้จาก www.psionic.com ปัจจุบันได้เปลี่ยนแปลงชื่อโปรแกรมไปเป็นชื่ออื่นแล้ว ลองศึกษาจากเวปไซต์ดังกล่าวดูนะคับ

สมมุตว่าผมไป download เจ้าโปรแกรมนี้มาแล้วที่มีชื่อว่า portsentry-1.1.tar.gz

# cd /tmp
# gzip -cd portsentry-1.1.tar.gz | tar xvf -
# cd portsentry-1.1
# pico Makefile (เข้าไปแก้ไขไฟล์ compile โดยแก้ไขตามนี้นะครับ)

CC = cc แก้ไขเป็น
CC = egcs
(ใน server ต้องติดตั้งโปรแกรม egcs ไว้ก่อน) หรือสามารถหาติดตั้งได้ใน /usr/ports

CFLAGS = -O -Wall แก้เป็น
CFLAGS = -O3 -march=i386 -mcpu=i386 -funroll-loops -fomit-frame-pointer -Wall

INSTALLDIR=/usr/local/psionic แก้ไขเป็น
INSTALLDIR=/etc

เสร็จแล้วทำการ save ไฟล์โดยการ Ctrl+X แล้วกด Y
หลังจากนั้นแก้ไขไฟล์ portserntry_config.h

#pico portsentry.h แล้วแก้ไขตามนี้นะครับ

define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf" แก้ไขเป็น
define CONFIG_FILE "/etc/portsentry/portserntry.conf"
เสร็จแล้วทำการ save ไฟล์โดยการ Ctrl+X แล้วกด Y

แล้วเริ่มต้นการ compile โดยใช้คำสั่งดังนี้
# make linux
# make install

ทำการลบไฟล์ต้นฉบับทิ้ง
# cd /tmp
# rm -rf portsentry*

หลังจากนั้นเข้าไปแก้ไขไฟล์ config ของ portsentry ใน path /etc/portsentry/

# pico portsentry.conf
เพิ่มคำสั่งพวกนี้เข้าไปในไฟล์ สามารถใส่ตรงบรรทัดไหนในไฟล์ก็ได้

# กำหนดหมายเลข port ที่ป้องกันการถูก scan
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,31337,32771,32772,32774,40421,49724,54320"

#กำหนดหมายเลข Ports ว่างที่มักถูกผู้บุกรุก scan และใช้โจมตี
ADVANCED_PORTS_TCP="1023"
ADVANCED_PORTS_UDP="1023"

#กำหนด ports ต้องห้ามไม่ให้เข้าในระบบเพราะว่าเป็น port ที่ทำงานขณะที่เครื่อง boot คือบริการ ident(113) , NetBios(137-138) , RIP(520) , bootp broadcast(67)
ADVANCED_PORTS_TCP=”113,139”
ADVANCED_PORTS_UDP=”520,138,137,67”

#กำหนดตำแหน่งที่อยู่ของไฟล์ต่างๆ
IGNORE_FILE=”/etc/portsentry/portsentry.ignore”
HISTORY_FILE=”/var/log/portsentry/portsentry.history”
BLOCK_FILE=”/var/log/portsentry/portsentry.blocked”

#กำหนดค่าที่จะป้องกัน
#0=ไม่ block การ scan TCP/UDP
#1=block ทั้ง TCP_UDP
#2=block external command เท่านั้น
BLOCK_UDP=”1”
BLOCK_TCP=”1”

#คำสั่งนี้ไม่ให้ผู้อื่นส่งคำสั่งมาเพิ่ม route ใหม่ในระบบ
KILL_ROUTE=”/sbin/route add –host $TARGET$ reject”
KILL_HOSTS_DENY=”ALL: $TARGET$”

กำหนดจำนวน ports ที่ยอมให้ connect เข้ามาในระบบได้มีค่าตั้งแต่ 1-2 ถ้ากำหนดเป็น 0 จะเป็นการสั่งให้บันทึกค่าใน log file ทันทีเมื่อพบว่ามีการถูก scan port เพื่อให้ผู้ดูแลระบบทราบ
SCAN_TRIGGER=0

#กำหนดข้อความแจ้งเตือนว่ามีการบุกรุก อันนี้แล้วแต่นะครับตามความต้องการของผู้ดูแลระบบ
PORT_BANNER=”** UNAUTHORIZED ACCESS PROHIBITED ** YOUR CONNECTION ATTEMPT HAS BEEN LOGGED. GO AWAY”

หลังจากแก้ไขและทำการตรวจสอบความถูกต้องแล้ว ให้ทำการ save ไฟล์ แล้วทำการกำหนด Permission ให้ไฟล์ด้วย
#chmod 600 /etc/portsentry/portsentry.conf

ตรวจสอบไฟล์ portsentry.ignore ดูว่ามีค่า IP Address ตามตัวอย่างหรือไม่ ถ้าเป็น Version ใหม่โปรแกรมจะเพิ่มค่า IP Address ให้เองไม่ต้องเข้าไปแก้ไขอะไร
#pico /etc/portsentry/portsentry.ignore
127.0.0.1
0.0.0.0

จากนั้นกำหนด Permission เป็น 600
#chmod 600 /etc/portsentry/portsentry.ignore

สร้าง Scripts ไปไว้ใน /etc/rc.d/init.d ชื่อ portsentry
#pico /etc/rc.d/init.d/portsentry (path ตามที่คุณได้ติดตั้ง init เอาไว้นะครับ ลองหาดูอาจจะไม่เหมือนของผมก็ได้)

แก้ไขในไฟล์ portsentry ตามนี้นะครับ

#/bin/sh
#
#portsentry start the portsentry port scan detector
#
#source function library
./etc/rc.d/init.d/functions
#get config
./etc/sysconfig/network
#check that networking is up
if [${NETWORKING}=”no”]
then
exit 0
fi
[ -f /usr/sbin/portsentry] || exit 0

#see how we were called
case “$1” in
start)
echo –n “Starting Port Scan Detector: ”
if [ -s /etc/portsentry/portsentry.modes] ; then
modes=’cut –d “#” –f (ต่อบรรทัดล่างด้วย)1 /etc/portsentry/portsentry.modes’
else
modes=”tcp udp”
fi
for i in $modes ; do
portsentry -$i
echo –n “$i”
done
echo
touch /var/lock/subsys/portsentry
;;
stop)
echo –n “Stopping Port Scan Detector: ”
killproc portsentry
echo
rm –f /var/lock/subsys/portsentry
;;
status)
status portsentry
esac
exit 0

จากนั้นกำหนด permission ให้ไฟล์ scrips นี้
#chmod 700 /etc/rc.d/init.d/portsentry

ทำการเพิ่ม script ให้ระบบเพื่อสั่งให้ทำงานขณะที่เครื่อง reboot
#chkconfig --portsentry
#chkconfig --level 345 portsentry on

สั่งให้โปรแกรมทำงาน
#/etc/rc.d/init.d/portsentry restart


 

ความรู้ไม่มีที่สิ้นสุด...มันจะติดตัวคุณไปจนวันตาย
  IP : (125.24.80.191)
ชื่อสมาชิก ShareKnowledge Mail to ShareKnowledge เบอร์ msn share_knowledge@hotmail.com
แสดงความคิดเห็น

   mamazaki
 Posted : 2006-02-14 14:31:52   IP : (202.143.136.60)

  จอมยุทธ์น้อย
 

 Sex :
 Post : 445
 สมาชิกลำดับที่ : 278
โหยความรู้มาอีกแล้ว

 

เช่าพื้นที่เว็บไซต์ / จดทะเบียนโดเมน / วิทยุออนไลน์ / บริการด้านเครือข่าย ้http://www.smartweb.co.th hotline : info(at)smartweb.co.th
 Comment : 1
ชื่อสมาชิก mamazaki Mail to mamazaki เบอร์ msn info@smartweb.co.th กลุ่มงานข้อมูลสารสนเทศ : สำนักงานเขตพื้นที่การศึกษากาฬสินธุ์ เขต 1
กลับขึ้นด้านบน

 kittipong
 Posted : 2006-02-15 08:14:35   IP : (202.29.80.151)
อาจารย์ ขอบคุณ ShareKnowledge มาก ๆ ครับ ที่ร่วมแบ่งปันความรู้



 
 Comment : 2
กลับขึ้นด้านบน

 koob
 Posted : 2006-02-15 11:09:24   IP : (192.168.0.254)
##### KILL_ROUTE=”/sbin/route add –host $TARGET$ reject”

ถ้าต้องการให้ ipfw ดีดออก ก็ใช้
KILL_ROUTE=”/sbin/ipfw add 400 deny ip from $TARGET$ to any”

ipfw จะบล็อกไอพี ที่แสกนพอร์ตมาจนกว่า จะ start ipfw ใหม่ถึงจะหยุดบล็อก
ผมประยุกต์มาจาก linux ส่วน บีเอสดี ลองประยุกต์ใช้เองดูนะครับ
-----------------------------------------
#### HISTORY_FILE=”/var/log/portsentry/portsentry.history”
หรือ
#### HISTORY_FILE=”/etc/portsentry/portsentry.history”
คือไฟล์ที่เก็บข้อูุลของ ไอพี ที่แสกนพอร์ตเข้ามา

ปล.
ขอบคุณ คุณ Jean สำหรับเสื้อ freebsd เสื้อสวยมากครับ


 
 Comment : 3
Mail to koob
กลับขึ้นด้านบน

 OHM
 Posted : 2006-02-15 11:11:17   IP : (10.7.5.126)
เป็นประโยชน์กับผมมาก ขอบคุณมากครับ ผมขอให้กำลังใจคนที่มีความรู้มาช่วยกันเขียนสิ่งที่เป็นประโยชน์ให้คนอื่นอ่านนะครับ

อาจารย์ครับ ไม่ทราบว่าจะทำ Wiki สำหรับเว็บนี้ได้หรือเปล่า จะได้ให้คนเข้าไปเขียน จัดเป็นหมวดหมู่ ผมว่าน่าจะดีกว่าเข้ามาโพสต์ไว้ในเว็บบอร์ด เพราะวันหลังเผื่ออยากหาบทความเดิม ๆ อ่าน อาจจะยากไปหน่อย

หรือว่าจะไปเขียนไว้ที่http://th.wikipedia.org/wikiดี แต่ผมว่ามันช้าไปหน่อย

 
 Comment : 4
กลับขึ้นด้านบน

 kittipong
 Posted : 2006-02-15 12:25:56   IP : (202.29.80.151)
เป็นความคิดที่ดีครับ เดี๋ยวผมขอเวลาหน่อยครับ จะทำ wiki ให้ หรือหากมีอาสาสมัครช่วย ก็จะทำให้เร็วขึ้นนะ

 
 Comment : 5
กลับขึ้นด้านบน

   fortuner
 Posted : 2006-02-15 15:14:12   IP : (58.9.194.24)

 หน้าใหม่ไร้วรยุทธ์
 

 Sex :
 Post : 9
 สมาชิกลำดับที่ : 605
ผมโหลดโปรแกรมไม่ได้อะครับ

 

มือใหม่ ป้ายแดง FreeBSD
 Comment : 6
ชื่อสมาชิก fortuner Mail to fortuner
กลับขึ้นด้านบน

   NaiTeelak
 Posted : 2006-02-15 18:00:59   IP : (172.16.55.131)

  ศิษย์น้อยฝึกวิชา
 

 Sex :
 Post : 214
 สมาชิกลำดับที่ : 608
ได้ฟามรู้อีกแล้ว ดีจัง กะลังหาอยู่เชียว ทำได้แล้วจะมารายงานได้ทราบ
คับผม

 

ตรุษจีน เป็นหมาพันธ์ผสม แม่เป็นโกลเด้น พ่อเป็นเซนต์ มีไว้ไล่กัดแมวลุงมะขาม
 Comment : 7
ชื่อสมาชิก NaiTeelak Mail to NaiTeelak
กลับขึ้นด้านบน

   ShareKnowledge
 Posted : 2006-02-15 18:14:23   IP : (125.24.93.55)

  หนึ่งในใต้หล้า
 

 Sex :
 Post : 2819
 สมาชิกลำดับที่ : 434
โปรแกรมอาจจะต้องไปหาเวปอื่นแล้วละครับ เวปที่บอกอาจจะปิดไปแล้ว ลอง search ใน google ดูคับมีเยอะ

 

ความรู้ไม่มีที่สิ้นสุด...มันจะติดตัวคุณไปจนวันตาย
 Comment : 8
ชื่อสมาชิก ShareKnowledge Mail to ShareKnowledge เบอร์ msn share_knowledge@hotmail.com
กลับขึ้นด้านบน

   9GRiT
 Posted : 2006-02-15 18:18:01   IP : (58.147.104.152)

  ศิษย์น้อยฝึกวิชา
 

 Sex :
 Post : 278
 สมาชิกลำดับที่ : 137
อ่า ดีจังเลย ระบบปลอดภัยอีกเยอะ

 

WebHosting FreeBSD PLESK V.8 // 250 MB 2000 บาท/ปี Hot Line : 08-4025-6330
 Comment : 9
ชื่อสมาชิก 9GRiT Mail to 9GRiT 678790 เบอร์ msn maharach@hotmail.com
กลับขึ้นด้านบน

   NaiTeelak
 Posted : 2006-02-15 19:52:41   IP : (172.16.55.131)

  ศิษย์น้อยฝึกวิชา
 

 Sex :
 Post : 214
 สมาชิกลำดับที่ : 608
http://phst.ph.mahidol.ac.th/Linux/software/

 

ตรุษจีน เป็นหมาพันธ์ผสม แม่เป็นโกลเด้น พ่อเป็นเซนต์ มีไว้ไล่กัดแมวลุงมะขาม
 Comment : 10
ชื่อสมาชิก NaiTeelak Mail to NaiTeelak
กลับขึ้นด้านบน

1 2


 แสดงความเห็นต่อคำถามนี้
ชื่อ/Username
รหัสผ่าน
( เฉพาะสมาชิก )
อีเมลล์
( ถ้าเป็นสมาชิกไม่ต้องใส่ )
รูปแบบพิเศษ   ย่อหน้า ตัวหนา ตัวยก ตัวห้อย ตัวหนังสือเรืองแสง ตัวหนังสือมีเงา ตัวเอียง เส้นใต้ สีแดง สีเขียว สีน้ำเงิน สีส้ม สีชมพู สีเทา
Emotions  
แทรกภาพ  
ขนาดภาพ ห้ามเกิน 50 kb  และ ไฟล์ Flash ขนาดห้ามเกิน 500 kb
แสดงความเห็น

ความปลอดภัย กรุณากรอกข้อความที่ท่านเห็นด้านล่าง
   
   
   
[ สมัครสมาชิก | ปิดหน้าต่างนี้ ]


ข้อความที่ท่านได้อ่าน เกิดจากการเขียนโดยสาธารณชน และส่งขึ้นมาแบบอัตโนมัติ เจ้าของเว็บบอร์ดไม่รับผิดชอบต่อข้อความใดๆทั้งสิ้น เพราะไม่สามารถ
ระบุได้ว่าเป็นความจริงหรือชื่อผู้เขียนที่ได้เห็นคือชื่อจริง ผู้อ่านจึงควรใช้วิจารณญาณในการกลั่นกรอง และถ้าท่านพบเห็นข้อความใด ที่ขัดต่อกฎหมายและ
ศีลธรรม หรือเป็นการกลั่นแกล้งเพื่อให้เกิดความเสียหาย ต่อบุคคล หรือหน่วยงานใด กรุณาส่ง email มาที่ admin@thaibsd.com เพื่อให้ผู้ควบคุม
ระบบทราบและทำการลบข้อความนั้น ออกจากระบบต่อไป


 © Copyright 2001 thaibsd.com All Right Reserved. Contact >> admin@thaibsd.com