ขอถาม squidguard หน่อยครับ

รูปภาพของ truepookpix
truepookpix
Rating 2
Posts: 50
Joined: 15-12-2007

ก่อนอื่นคงต้องบอกก่อนว่าเป็น Freebsd นะครับ พอดีใช้ทั้ง linux และ FreeBSD อะครับ (ถามในบอร์ดนี้ได้หรือป่าวไม่แน่ใจ แหะๆ)

พอดีหาข้อมูลในบอร์ด FreeBSD แล้วยังไม่ได้คำตอบที่เข้าใจอะครับ

คือผมลง squid 2.5 STABLE 13+DB-4.0.14+squidGuard 1.2.0

(เป็นเวอร์ชั่นที่ลงแล้วผ่าน) ปัญหาก็คือผมสั่ง

/usr/local/bin/squidGuard -C all แล้วก็ค้างไปเลยอะครับ

มาเช็คเว็บที่บล๊อคไปก็เข้าได้ฉลุยเลยครับ

..........วิธีการของผมก็คือ.......................

การติดตั้ง BerkeleyDB
ดาวน์โหลดได้จากhttp://www.sleepycat.com/มาไว้ในตำแหน่งที่เหมาะสม
ในที่นี้ผมดาวโหลดมาติดตั้งไว้ที่ /root (db-4.2.52.tar.gz)
ให้เข้าไปยังตำแหน่งที่ได้ดาวน์โหลดมาแล้วใช้คำสั่งดังนี้

# tar xvfz db-4.2.52.tar.gz
# cd db-4.2.52/dist
# ./configure –prefix=/usr/local/BerkeleyDB สั่ง configure ก่อนที่จะคอมไพล์
# make
# make install ติดตั้ง Berkeley DB library
# echo “/usr/local/BerkeleyDB/lib” >> /etc/ld.so.conf
# ldconfig บรรทัดนี้ถ้าไม่ใส่จะไม่สามารถ compile squidGuard ได้
การติดตั้ง squidGuard
ดาวน์โหลดได้จากhttp://www.squidguard.org/มาไว้ในตำแหน่งที่เหมาะสม จากนั้นก็ให้เข้าไปยังตำแหน่งที่ดาวน์โหลดมาแล้ว

# tar xvfz squidGuard-1.2.0.tar.gz
# cd squidGuard-1.2.0
#./configure เพื่อจะติดตั้ง squidGuard executable เป็น /usr/local/bin/squidGuard
# make
# make install
การคอนฟิก squidGuard
หลังจากคอมไพล์ squidGuard แล้วก็ต้องทำการสร้างไฟล์ squidGuard.conf ขึ้นมาเองดังนี้

# cd /usr/local/
# mkdir /usr/local/squidGuard
# vi squidGuard.conf เป็นการสร้างไฟล์ config ของ squidGuard โดยเนื่อหาไฟล์สามารถจะเป็นได้หลาย ๆ แบบ
ซึ่งในที่นี้จะขอยกตัวอย่างการคอนฟิกเพื่อบล็อก site ที่ไม่เหมาะสม (Blocking inappropriate sites) ซึ่งจะมีเนื้อหาของไฟล์ดังนี้ :

-------------------------------- start -------------------------------------
logdir /usr/local/squidGuard/log
dbhome /usr/local/squidGuard/db

dest porn {
domainlist porn/domains
urllist porn/urls
}

acl {
default {
pass !porn all
redirect
http://www.itwizard.info/blocked.php?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&url=%u
}
}
-------------------------------- End -------------------------------------
อธิบายเพิ่มเติม
เมื่อมีการเรียกใช้งานไปยังเว็บไซต์ที่เราบล็อก ก็จะ redirect ไปยัง url ที่เราได้กำหนดไว้ โดยส่งค่าตัวแปรต่าง ๆ ไปด้วย ดังนี้
- clientaddr
- clientname
- clientuser
- clientgroup
- url
หมายเหตุ
%a เป็น IP ของเครื่อง Client ที่เข้าเว็บนั้น ๆ
%u เป็น url ที่เครื่อง client เรียกใช้งาน

ตัวอย่าง php script file บน Web Server ที่ถูก redirect ไป
<?
echo "<center><br><br><br>";
echo "<font site=4>";
echo "เว็บนี้ ($url) เป็นเว็บต้องห้าม <br>";
echo "This is prohibitive URL ($url)";
echo "</font>";
echo "</center>";
?>

สร้างตำแหน่งเก็บ log file และสร้างฐานข้อมูล web ที่ไม่ต้องการให้เรียกใช้งาน

# cd /usr/local/squidGuard/
# mkdir log สร้างตำแหน่งเก็บ log
# mkdir db
# mkdir db/porn สร้างตำแหน่งที่เก็บฐานข้อมูล web
# cd db/porn
# vi domains สร้างไฟล์ที่ใช้เก็บค่าของ domain ที่ถูกบล็อก โดยอาจะมีเนื้อหาดังนี้
porn.com
sex.com

# vi urls # สร้างไฟล์ที่ใช้เก็บค่าของ url ที่ถูกบล็อค โดยอาจจะมีข้อมูลดังนี้
foo.com/~porn
bar.com/img/sex

ความหมายคือเครื่อง Client สามารถเรียกใช้งาน foo.com และ bar.com ได้ (ไม่ได้บล็อคโดเมน) แต่ไม่สามารถเรียกใช้งาน
foo.com/~porn และ bar.com/img/sex ได้ (บล็อค url)
เสร็จแล้วก็สร้างฐานข้อมูลจากไฟล์ domains และ urls ที่ได้เตรียมไว้โดยใช้คำสั่ง

# /usr/local/bin/squidGuard –C all
# chown –R nobody:nobody /usr/local/squidGuard
แก้ไขคอนฟิกของ squid

# vi /usr/local/squid/etc/squid.conf สำหรับการติดตั้ง Squid จากไฟล์ประเภท tar.gz หรือ
# vi /etc/squid/squid.conf สำหรับการติดตั้ง Squid จากไฟล์ประเภท RPM
โดยเพิ่มบรรทัดต่อไปนี้
redirect_program /usr/local/bin/squidGuard
และเอาเครื่องหมาย # หน้าบรรทัดต่อไปนี้ออก
redirect_children 5

สุดท้ายก็ให้ restart squid โดยใช้คำสั่งดังนี้ครับ

# /usr/local/squid/bin/squid –k reconfigure (ท่านอาจจะติดตั้ง squid ไว้ตำแหน่งอื่น ก็ให้ใช้คำสั่งนี้ตรงกับตำแหน่งที่ติดตั้งครับ)
เส็จแล้วก็ลองเข้า www.porn.com หรือ www.sex.com ดูครับ

หมายเหตุ ทุกครั้งที่คุณแก้ไฟล์ไฟล์ domains, urls ต้องทำการเพิ่มเข้าไปในฐานข้อมูทุกครั้งด้วย โดยใช้คำสั่ง :
# /usr/local/bin/squidGuard –C all
# chown –R nobody:nobody /usr/local/squidGuard

หมายเหตุ ชื่อของโดเมนและชื่อ URL (รวมถึง Blacklist อื่น ๆ) ที่เป็นที่ไม่พึงประสงค์สามารถดาวน์โหลดไดจาก
http://www.squidguard.org/blacklist

............ผมทำตามนี้อะครับ แต่เวอร์ชั่นไม่ตรงกันนะครับ แต่เป็นทุกเวอร์ชั่นเลยครับ...........

 อืม ...ใครพอมีประสบการ config squidguard ก็แนะนำหน่อยนะครับ

 

 

Syndicate content