2176
command , shell script ,tool , crontab / Tracking perl hack script in server style golfreeze
« on: มกราคม 23, 2011, 12:26:45 AM »
#พอดี เครื่องที่ได้ดูแล มีปัญหาเรื่อง perl script น่ะครับ ลักษณะคือมีการรัน perl5.7 อยู่ซึ่งเป็น
user apache สำหรับวิธีการ tracking หาต้นตอ นั้น ขอให้มีสติ ให้นิ่งก่อน แล้วเริ่มใช้วิธีง่ายๆ ดังนี้
ครับ
1.find command
#find / -user apache -name "*.pl"
#find / -user apache -name "*.txt"
ดูเจอไฟล์ไหนแปลกๆ ก็เข้าไปดูครับ
2.จะเข้าไปดูตาม log ของ access กับ error_log ใน apache ครับ
#less /var/log/httpd/access_log
#less /var/log/httpd/error_log
3.เข้าไปใน ไฟล์พวก log ของ ไฟล์ ftp log
#less /var/log/xferlog
4.อีกวิธีที่ผมชอบใช้ คือ ใช้ตัว application มาช่วย คือตัว lsof
ตัวนี้ เก๋าพอสมควร ซึ่งมันจะ หา ip ที่ connection "ESTABLISH" อยู่
และบางทีอาจปรากฏเป็น path ที่รันไฟล์อยู่ด้วย เราก็เข้าไปจัดการได้เลย
#lsof -i -n -P | more
ถ้าเจอ ip ที่เชื่อมต่อก็ block เพื่อตัดปัญหาที่ปลายทางไปก่อนก็ได้ครับ
5.ลองดู crontab ของ user นั้นๆเช่น
#crontab -u apache -l
ถ้าเจอ ก็ตามไปดู ไฟล์นั้น
6.ทำการ ตรวจไวรัสโดยใช้ tools clamscan ช่วย
#clamscan /
ึ7.ถ้าไม่เจอ จริงๆ แล้วล่ะก็ทำการ Killall process นั้นทิ้งซะ เช่น
#killall -9 perl5.7.8
ซึ่งปัญหาที่เกิดขึ้น แอดมินแต่ล่ะคนก็ แก้ปัญหาตามสไตส์ที่ตนเองถนัด สำหรับผมก็จะใช้ประมาณนี้
เลยอยากมาแชร์ให้เพื่อนๆ ได้ทราบ เผื่ออาจจะช่วยท่านได้บ้าง
แต่สุดท้าย ทุกอย่างก็ล้วนไม่มีอะไรสมบูรณ์ มันเป็น อนิจจัง ครับ
golfreeze[at]packetlove.com
user apache สำหรับวิธีการ tracking หาต้นตอ นั้น ขอให้มีสติ ให้นิ่งก่อน แล้วเริ่มใช้วิธีง่ายๆ ดังนี้
ครับ
1.find command
#find / -user apache -name "*.pl"
#find / -user apache -name "*.txt"
ดูเจอไฟล์ไหนแปลกๆ ก็เข้าไปดูครับ
2.จะเข้าไปดูตาม log ของ access กับ error_log ใน apache ครับ
#less /var/log/httpd/access_log
#less /var/log/httpd/error_log
3.เข้าไปใน ไฟล์พวก log ของ ไฟล์ ftp log
#less /var/log/xferlog
4.อีกวิธีที่ผมชอบใช้ คือ ใช้ตัว application มาช่วย คือตัว lsof
ตัวนี้ เก๋าพอสมควร ซึ่งมันจะ หา ip ที่ connection "ESTABLISH" อยู่
และบางทีอาจปรากฏเป็น path ที่รันไฟล์อยู่ด้วย เราก็เข้าไปจัดการได้เลย
#lsof -i -n -P | more
ถ้าเจอ ip ที่เชื่อมต่อก็ block เพื่อตัดปัญหาที่ปลายทางไปก่อนก็ได้ครับ
5.ลองดู crontab ของ user นั้นๆเช่น
#crontab -u apache -l
ถ้าเจอ ก็ตามไปดู ไฟล์นั้น
6.ทำการ ตรวจไวรัสโดยใช้ tools clamscan ช่วย
#clamscan /
ึ7.ถ้าไม่เจอ จริงๆ แล้วล่ะก็ทำการ Killall process นั้นทิ้งซะ เช่น
#killall -9 perl5.7.8
ซึ่งปัญหาที่เกิดขึ้น แอดมินแต่ล่ะคนก็ แก้ปัญหาตามสไตส์ที่ตนเองถนัด สำหรับผมก็จะใช้ประมาณนี้
เลยอยากมาแชร์ให้เพื่อนๆ ได้ทราบ เผื่ออาจจะช่วยท่านได้บ้าง
แต่สุดท้าย ทุกอย่างก็ล้วนไม่มีอะไรสมบูรณ์ มันเป็น อนิจจัง ครับ
golfreeze[at]packetlove.com