ค้นหาเว็บไซต์

การกำหนดค่า SquidGuard การเปิดใช้งานกฎเนื้อหา และการวิเคราะห์บันทึก Squid - ตอนที่ 6


LFCE (Linux Foundation Certified Engineer) เป็นมืออาชีพที่มีทักษะที่จำเป็นในการติดตั้ง จัดการ และแก้ไขปัญหาบริการเครือข่ายในระบบ Linux และรับผิดชอบด้าน การออกแบบ การใช้งาน และการบำรุงรักษาสถาปัตยกรรมระบบอย่างต่อเนื่องอย่างครบถ้วน

ขอแนะนำโปรแกรมการรับรอง Linux Foundation

ในโพสต์ก่อนหน้านี้ เราได้พูดคุยถึงวิธีการติดตั้ง Squid + squidGuard และวิธีกำหนดค่า squid เพื่อจัดการหรือจำกัดคำขอการเข้าถึงอย่างเหมาะสม โปรดตรวจสอบให้แน่ใจว่าคุณได้อ่านบทช่วยสอนทั้งสองบทนี้แล้วติดตั้งทั้ง Squid และ squidGuard ก่อนที่จะดำเนินการต่อเนื่องจากตั้งค่าพื้นหลังและบริบทสำหรับสิ่งที่เราจะกล่าวถึงในโพสต์นี้: การบูรณาการ squidguard ในสภาพแวดล้อมของ squid ที่ใช้งานได้เพื่อใช้กฎบัญชีดำและการควบคุมเนื้อหาเหนือ พร็อกซีเซิร์ฟเวอร์

ความต้องการ

  1. ติดตั้ง Squid และ SquidGuard – ตอนที่ 1
  2. การกำหนดค่า Squid Proxy Server ด้วยการเข้าถึงแบบจำกัด - ตอนที่ 5

ฉันสามารถ/ไม่สามารถใช้ SquidGuard เพื่ออะไรได้บ้าง?

แม้ว่า squidGuard จะเพิ่มและปรับปรุงคุณสมบัติของ Squid อย่างแน่นอน แต่สิ่งสำคัญคือต้องเน้นย้ำว่าอะไรทำได้และอะไรทำไม่ได้

squidGuard สามารถใช้เพื่อ:

  1. จำกัดการเข้าถึงเว็บที่อนุญาตสำหรับผู้ใช้บางรายให้อยู่ในรายชื่อเว็บเซิร์ฟเวอร์และ/หรือ URL ที่ได้รับการยอมรับ/เป็นที่รู้จักเท่านั้น ในขณะที่ปฏิเสธการเข้าถึงเว็บเซิร์ฟเวอร์และ/หรือ URL ที่อยู่ในบัญชีดำอื่นๆ
  2. บล็อกการเข้าถึงเว็บไซต์ (ตามที่อยู่ IP หรือชื่อโดเมน) ที่ตรงกับรายการนิพจน์ทั่วไปหรือคำสำหรับผู้ใช้บางราย
  3. กำหนดให้ต้องใช้ชื่อโดเมน/ห้ามใช้ที่อยู่ IP ใน URL
  4. เปลี่ยนเส้นทาง URL ที่ถูกบล็อกไปยังหน้าข้อผิดพลาดหรือข้อมูล
  5. ใช้กฎการเข้าถึงที่แตกต่างกันตามเวลาของวัน วันในสัปดาห์ วันที่ ฯลฯ
  6. ใช้กฎที่แตกต่างกันสำหรับกลุ่มผู้ใช้ที่แตกต่างกัน

อย่างไรก็ตาม ทั้ง squidGuard และ Squid ไม่สามารถใช้เพื่อ:

  1. วิเคราะห์ข้อความภายในเอกสารและดำเนินการตามผลลัพธ์
  2. ตรวจจับหรือบล็อกภาษาสคริปต์ที่ฝังไว้ เช่น JavaScript, Python หรือ VBscript ภายในโค้ด HTML

บัญชีดำ – พื้นฐาน

บัญชีดำเป็นส่วนสำคัญของ squidGuard โดยพื้นฐานแล้ว ไฟล์เหล่านี้เป็นไฟล์ข้อความธรรมดาที่จะช่วยให้คุณสามารถใช้ตัวกรองเนื้อหาตามคำหลักเฉพาะได้ มีทั้งบัญชีดำที่ใช้งานได้ฟรีและบัญชีดำเชิงพาณิชย์ และคุณสามารถค้นหาลิงก์ดาวน์โหลดได้ในเว็บไซต์ของโครงการบัญชีดำของ squidguard

ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีการรวมบัญชีดำที่ Shala Secure Services มอบให้กับการติดตั้ง squidGuard ของคุณ บัญชีดำเหล่านี้ให้บริการฟรีสำหรับการใช้งานส่วนบุคคล/ไม่ใช่เชิงพาณิชย์ และมีการอัพเดททุกวัน ซึ่งรวมถึงรายการมากกว่า 1,700,000 ณ วันนี้

เพื่อความสะดวกของเรา เรามาสร้างไดเร็กทอรีเพื่อดาวน์โหลดแพ็คเกจบัญชีดำกันดีกว่า

mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

ลิงก์ดาวน์โหลดล่าสุดจะมีให้ใช้งานเสมอตามที่ไฮไลต์ด้านล่าง

หลังจากยกเลิกการตั้งค่าไฟล์ที่ดาวน์โหลดใหม่แล้ว เราจะเรียกดูโฟลเดอร์บัญชีดำ (BL)

tar xzf shallalist.tar.gz 
cd BL
ls

คุณสามารถนึกถึงไดเร็กทอรีที่แสดงในผลลัพธ์ของ ls เป็นหมวดหมู่แบ็คลิสต์ และไดเร็กทอรีย่อยที่เกี่ยวข้อง (เป็นทางเลือก) เป็นหมวดหมู่ย่อย จากมากไปน้อยจนถึง URL และโดเมนที่ระบุ ซึ่งแสดงอยู่ในไฟล์ urls และ โดเมน ตามลำดับ ดูภาพด้านล่างสำหรับรายละเอียดเพิ่มเติม

การติดตั้งบัญชีดำ

การติดตั้งแพ็คเกจ blacklist ทั้งหมด หรือแต่ละหมวดหมู่ ทำได้โดยการคัดลอกไดเร็กทอรี BL หรือไดเร็กทอรีย่อยรายการใดรายการหนึ่ง ตามลำดับ ไปยัง /var/ ไดเรกทอรี lib/squidguard/db

แน่นอนคุณสามารถดาวน์โหลด tarball บัญชีดำ ลงในไดเร็กทอรีนี้ได้ตั้งแต่แรก แต่วิธีการที่อธิบายไว้ก่อนหน้านี้ช่วยให้คุณควบคุมได้มากขึ้นว่าหมวดหมู่ใดที่ควรบล็อก (หรือไม่) ในเวลาที่กำหนด

ต่อไป ฉันจะแสดงวิธีติดตั้งบัญชีดำ anonvpn, แฮ็ก และ แชท และวิธีการกำหนดค่า squidGuard เพื่อใช้งาน

ขั้นตอนที่ 1: คัดลอกไดเร็กทอรี anonvpn, hacking และ chat ซ้ำจาก /opt/3rdparty/ BL ถึง /var/lib/squidguard/db

cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

ขั้นตอนที่ 2: ใช้ไฟล์โดเมนและ URL เพื่อสร้างไฟล์ฐานข้อมูลของ squidguard โปรดทราบว่าคำสั่งต่อไปนี้จะใช้ในการสร้างไฟล์ .db สำหรับบัญชีดำที่ติดตั้งทั้งหมด แม้ว่าบางหมวดหมู่จะมีหมวดหมู่ย่อย 2 หมวดหมู่ขึ้นไปก็ตาม

squidGuard -C all

ขั้นตอนที่ 3: เปลี่ยนความเป็นเจ้าของไดเรกทอรี /var/lib/squidguard/db/ และเนื้อหาเป็นผู้ใช้พร็อกซีเพื่อให้ Squid สามารถอ่านไฟล์ฐานข้อมูลได้

chown -R proxy:proxy /var/lib/squidguard/db/

ขั้นตอนที่ 4: กำหนดค่า Squid เพื่อใช้ squidGuard เราจะใช้คำสั่ง url_rewrite_program ของ Squid ใน /etc/squid/squid.conf เพื่อบอก Squid ให้ใช้ squidGuard เป็นตัวเขียน URL ใหม่/ตัวเปลี่ยนเส้นทาง

เพิ่มบรรทัดต่อไปนี้ใน squid.conf ตรวจสอบให้แน่ใจว่า /usr/bin/squidGuard เป็นเส้นทางสัมบูรณ์ที่ถูกต้องในกรณีของคุณ

which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

ขั้นตอนที่ 5: เพิ่มคำสั่งที่จำเป็นลงในไฟล์การกำหนดค่าของ squidGuard (อยู่ใน /etc/squidguard/squidGuard.conf)

โปรดดูภาพหน้าจอด้านบน หลังจากโค้ดต่อไปนี้เพื่อการชี้แจงเพิ่มเติม

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

ขั้นตอนที่ 6: รีสตาร์ท Squid และทดสอบ

service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

เปิดเว็บเบราว์เซอร์ในไคลเอนต์ภายในเครือข่ายท้องถิ่นและเรียกดูไซต์ที่พบในไฟล์บัญชีดำ (โดเมนหรือ URL - เราจะใช้การแชท http://spin.de/ ในตัวอย่างต่อไปนี้ ) และคุณจะถูกเปลี่ยนเส้นทางไปยัง URL อื่น www.lds.org ในกรณีนี้

คุณสามารถตรวจสอบได้ว่าคำขอนั้นส่งไปยังพร็อกซีเซิร์ฟเวอร์ แต่ถูกปฏิเสธ (การตอบสนอง 301 http – ย้ายอย่างถาวร) และถูกเปลี่ยนเส้นทางไปที่ www.lds.org แทน

การลบข้อจำกัด

หากด้วยเหตุผลบางอย่างคุณจำเป็นต้องเปิดใช้งานหมวดหมู่ที่ถูกบล็อกในอดีต ให้ลบไดเร็กทอรีที่เกี่ยวข้องออกจาก /var/lib/squidguard/db และแสดงความคิดเห็น (หรือลบ) acl ที่เกี่ยวข้อง ในไฟล์ squidguard.conf

ตัวอย่างเช่น หากคุณต้องการเปิดใช้งานโดเมนและ URL ที่อยู่ในบัญชีดำตามหมวดหมู่ anonvpn คุณจะต้องทำตามขั้นตอนต่อไปนี้

rm -rf /var/lib/squidguard/db/anonvpn

และแก้ไขไฟล์ squidguard.conf ดังนี้

โปรดทราบว่าส่วนที่ไฮไลต์ด้วยสีเหลืองใต้ BEFORE ได้ถูกลบไปแล้วใน AFTER

ไวท์ลิสต์เฉพาะโดเมนและ URL

ในบางครั้ง คุณอาจต้องการอนุญาต URLs หรือ โดเมน บางส่วน แต่ไม่ใช่ไดเรกทอรีที่อยู่ในบัญชีดำทั้งหมด ในกรณีนั้น คุณควรสร้างไดเร็กทอรีชื่อ myWhiteLists (หรือชื่ออะไรก็ได้ที่คุณเลือก) และแทรก URLs และ โดเมน ที่ต้องการไว้ใต้ /var/lib/squidguard/db/myWhiteLists ในไฟล์ชื่อ url และโดเมน ตามลำดับ

จากนั้นเริ่มต้นกฎเนื้อหาใหม่เหมือนเมื่อก่อน

squidGuard -C all

และแก้ไข squidguard.conf ดังนี้

เช่นเคย ส่วนที่ไฮไลต์ด้วยสีเหลืองบ่งบอกถึงการเปลี่ยนแปลงที่ต้องเพิ่ม โปรดทราบว่าสตริง myWhiteLists จะต้องอยู่อันดับแรกในแถวที่ขึ้นต้นด้วย pass

สุดท้ายนี้ อย่าลืมรีสตาร์ท Squid เพื่อใช้การเปลี่ยนแปลง

บทสรุป

หลังจากทำตามขั้นตอนที่ระบุไว้ในบทช่วยสอนนี้ คุณควรมีตัวกรองเนื้อหาที่มีประสิทธิภาพและตัวเปลี่ยนเส้นทาง URL ที่ทำงานร่วมกับพร็อกซี Squid ของคุณ หากคุณประสบปัญหาใด ๆ ในระหว่างกระบวนการติดตั้ง/กำหนดค่าหรือมีคำถามหรือความคิดเห็นใด ๆ คุณอาจต้องการดูเอกสารประกอบเว็บของ squidGuard แต่อย่าลังเลที่จะติดต่อเราโดยใช้แบบฟอร์มด้านล่าง แล้วเราจะติดต่อกลับโดยเร็วที่สุด เป็นไปได้.