คู่มือสำหรับผู้ใช้ Linux นี้จะแสดงวิธีการตรวจหาที่อยู่ IP ที่ใช้ในการปฏิเสธการโจมตีบริการและบล็อกพวกเขา
เราเปิดบทความเกี่ยวกับวิธีบล็อกที่อยู่ IP ใน iptables ใน Linux เมื่อไม่กี่วันก่อน นี่คือบทความฟรีที่แสดงวิธีการตรวจหาที่อยู่ IP ของผู้โจมตีในกรณีที่มีการโจมตีแบบปฏิเสธบริการ (หรือ DOS)
ในการดำเนินการนี้ เราจะใช้ซอฟต์แวร์ฟรีที่เรียกว่า psad แผ่นเสียง ทำงานประสานกับ iptables และตรวจสอบบันทึก iptables และตรวจสอบการสแกนพอร์ตและการรับส่งข้อมูลที่น่าสงสัยอื่น ๆ ซึ่งมักจะเป็นสัญญาณว่ามีคนพยายามบุกเข้าไปในเซิร์ฟเวอร์ Linux ของคุณ
ในการเริ่มต้น ให้ติดตั้งpsad หากคุณใช้ Linux ที่มีระบบจัดการแพ็คเกจแฟนซี เช่น Ubuntu หรือ Fedora คุณควรใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้เพื่อรับ psad บนระบบของคุณ:
# sudo apt-get ติดตั้ง psad
หรือ
# yum ติดตั้ง psad
หากไม่ได้ผล ให้ไปที่หน้าดาวน์โหลด psad และดาวน์โหลดรูปแบบที่เหมาะกับคุณ
ขณะที่ฉันใช้เซิร์ฟเวอร์ Ubuntu Linux บทช่วยสอนที่เหลือจะเป็นเฉพาะ Ubuntu อย่างไรก็ตาม ด้วยการปรับแต่งเล็กน้อย คุณควรจะสามารถทำให้มันทำงานบน Linux รสชาติอื่นๆ ได้ เปิด syslog.conf ไฟล์ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ:
# กลุ่ม /etc/syslog.conf
เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์:
kern.info |/var/lib/psad/psadfifo
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อทำสิ่งเดียวกันให้สำเร็จ:
# echo -e 'kern.info\t|/var/lib/psad/psadfifo'>> /etc/syslog.conf
ตอนนี้รีสตาร์ท sysklogd และ กก ภูต:
/etc/init.d/sysklogd รีสตาร์ท
/etc/init.d/klogd รีสตาร์ท
วิธีการทำงานของ psad คือจะตรวจจับและสั่งให้ iptables บล็อก IP ที่น่าสงสัย บางครั้งอาจส่งผลให้มีการบล็อก IP ที่คุณใช้ เพื่อแก้ไขปัญหานี้ คุณควรสร้างไฟล์ที่มีรายการที่อยู่ IP ที่ปลอดภัย สร้างไฟล์แบบนี้:
# กลุ่ม /home/calvin/safeiplist.cfg
ป้อนที่อยู่ IP ที่คุณต้องการให้psad ในรายการที่อนุญาต:
127.0.0.0/24
192.168.0.0/24
122.164.34.240
ไม่ใช้สคริปต์เช่นต่อไปนี้เพื่อกำหนดค่า iptables ด้วยกฎที่จำเป็น หมายเหตุ ว่าสคริปต์นี้จะลบการตั้งค่าก่อนหน้าทั้งหมดออกจากการตั้งค่า iptables ของคุณ คัดลอกและวางสคริปต์ต่อไปนี้บนเซิร์ฟเวอร์ Linux ของคุณและแทนที่ตัวแปร WORKDIR และ SAFEIPLIST ด้วยการตั้งค่าที่ถูกต้องจากการตั้งค่าของคุณ
WORKDIR="/home/calvin/"
INTERVAL="5"
HITCOUNT="5"
SAFEIPLIST="safeiplist.cfg"
cd $WORKDIR
iptables -F
ถ้า [ -f $SAFEIPLIST ]; จากนั้น
IPS=$(grep -Ev “^#” $SAFEIPLIST)
for i in $IPS
do
iptables -A INPUT -s $i -j ACCEPT
เสร็จแล้ว
fi
iptables -A INPUT -m state –state NEW -m ล่าสุด –set
iptables -A INPUT -m state –state NEW -m ล่าสุด –update –seconds $INTERVAL –hitcount $HITCOUNT -j LOG
สิ่งที่สคริปต์ทำคือบันทึกที่อยู่ IP หากพยายามทำการเชื่อมต่อห้าครั้งขึ้นไปในช่วงห้าวินาที ฉันขอแนะนำให้คุณใช้สคริปต์ตามที่เป็นอยู่เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรขณะแก้ไข เมื่อเสร็จแล้ว ให้อนุญาตและเรียกใช้
# chmod +x /home/calvin/ipblock.sh
# /home/calvin/ipblock.sh
ตอนนี้กลับไปที่psad เปิดไฟล์การกำหนดค่า psad และแก้ไข นี่คือการเปลี่ยนแปลงที่ฉันแนะนำให้คุณทำ โปรดอ่านเอกสารประกอบและทำการเปลี่ยนแปลงอื่นๆ ได้ตามสบาย:
EMAIL_ADDRESSES [email protected];
ตั้งชื่อโฮสต์ของเครื่อง:
HOSTNAME yourdomain.com;
หากคุณมีอินเทอร์เฟซเครือข่ายเพียงอินเทอร์เฟซเดียวบนเซิร์ฟเวอร์นี้ ให้ตั้งค่า HOME_NET ถึง:
HOME_NET NOT_USED;
คุณยังจำเป็นต้องปรับระดับอันตรายสำหรับ psad และกำหนดชุดพอร์ตที่จะละเว้นได้ เช่น การขอให้ psad ละเว้นพอร์ต udp 80 และ 8080 ทำการเปลี่ยนแปลงต่อไปนี้:
IGNORE_PORTS udp/80, udp/8080;
บันทึกและปิดไฟล์ จากนั้นรีสตาร์ทpsad:
# /etc/init.d/psad รีสตาร์ท
ตอนนี้คุณพร้อมแล้วที่จะไป ในการตรวจสอบรายงานของ psad ให้รันคำสั่งต่อไปนี้:
# psad -S
ในการลบ IP ที่โอเวอร์คล็อกโดยอัตโนมัติให้รันคำสั่งต่อไปนี้:
# psad -F
psad เป็นเครื่องมืออเนกประสงค์และทรงพลังมาก ถ้าคุณรู้วิธีใช้งาน มันก็สามารถทำสิ่งมหัศจรรย์ให้คุณได้ แต่ถ้าคุณไม่รู้ คอมพิวเตอร์ของคุณอาจเสียหายได้ ดังนั้นโปรดใช้ psad ด้วยความระมัดระวัง