ฉันตรวจสอบ google ip ที่เข้าถึงเซิร์ฟเวอร์ของฉันเป็นเวลาสองสามปีและระบุมาสก์เหล่านี้: 66.249.64.0/19 66.102.0.0/20 64.233.160.0/19 34.64.0.0/10 216.58.192.0/19 74.125.0.0/16
จากนั้นฉันสร้างสคริปต์นี้ใน php ซึ่งฉันรวมไว้ในเว็บไซต์ทั้งหมดของฉัน
include_once('function_global/cidr_match_function.php');
if(cidr_match($_SERVER['REMOTE_ADDR'], '66.249.64.0/19') === เท็จ && cidr_match($_SERVER['REMOTE_ADDR'], '66.102.0.0/20') === เท็จ && cidr_match( $_SERVER['REMOTE_ADDR'], '64.233.160.0/19') === เท็จ && cidr_match($_SERVER['REMOTE_ADDR'], '34.64.0.0/10') === เท็จ && cidr_match($_SERVER[' REMOTE_ADDR'], '216.58.192.0/19') === เท็จ&& cidr_match($_SERVER['REMOTE_ADDR'], '74.125.0.0/16') === เท็จ){
$fake_google_ip_list = file_get_contents('function_global/ip_add_fwd.txt');
if(strpos($fake_google_ip_list, $_SERVER['REMOTE_ADDR']) === เท็จ){
file_put_contents('function_global/ip_add_fwd.txt', $_SERVER['REMOTE_ADDR'].PHP_EOL , FILE_APPEND | LOCK_EX);
}
}
}
ผลลัพธ์คือไฟล์นี้มีรายการ IP ที่หลอกว่าเป็น Google และเข้าถึงเซิร์ฟเวอร์ของฉันด้วยเจตนาหลอกลวง
จากนั้นฉันรันคำสั่งคอนโซลนี้ไม่มากก็น้อยวันละครั้งซึ่งเพิ่ม ip เหล่านี้ทั้งหมดไปยัง ufw:
ขณะอ่านบรรทัด ทำ sudo ufw แทรก 1 ปฏิเสธจาก $line ไปยังใดๆ; เสร็จสิ้น < /var/www/html/function_global/ip_add_fwd.txt
และอัปโหลดไฟล์เปล่าใหม่ไปยังเซิร์ฟเวอร์
ฉันต้องการทำให้ส่วนสุดท้ายนี้เป็นแบบอัตโนมัติและอาจใช้ fail2ban แทนการเติม ip มากขึ้นเรื่อย ๆ ซึ่งอาจไม่มีวันกลับมาอีกใน ufw
และฉันคิดว่าฉันต้องการสคริปต์ .sh หรืออะไรที่คล้ายกัน แต่ฉันไม่รู้ว่าจะเขียนมันอย่างไร... (ฉันเป็นโปรแกรมเมอร์ php และฉันใช้ ubuntu เป็นเว็บเซิร์ฟเวอร์จำกัดเฉพาะสิ่งที่จำเป็นสำหรับการทำงานของ เว็บไซต์ของฉัน).
สคริปต์ควรเป็น:
- เรียกได้ด้วย crontab
- เพิ่มรายการ ip ใน ufw หรือแทนที่จะเป็น fail2ban
- ล้างไฟล์ ip_add_fwd.txt
- อาจส่งอีเมลพร้อมรายการ IPs ให้ฉันเพียงเพื่อจะรู้ว่าได้ทำอะไรไปแล้วและสามารถตรวจสอบได้ว่ามันทำงานได้อย่างถูกต้องหรือไม่ (ผลลัพธ์ crontab ก็มาถึงทางอีเมลด้วย ดังนั้นผลลัพธ์อาจเพียงพอหรือไม่)
ใครสามารถช่วยฉันเขียนหรืออย่างน้อยให้คำแนะนำในการเริ่มต้น? ฉันไม่รู้ว่าจะเริ่มจากตรงไหน ฉันพยายามรวบรวมไฟล์อื่น ๆ เข้าด้วยกัน แต่มันก็ไปได้ไม่ดีนัก ... :(