Computer >> คอมพิวเตอร์ >  >> สมาร์ทโฟน >> Linux

วิธีบล็อกการโจมตี DDOS ใน Linux

คู่มือสำหรับผู้ใช้ 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 ด้วยความระมัดระวัง