|
แนะนำ
SquidGuard
squidGuard ทำงานร่วมกับ Squid
Proxy เพื่อบล็อคการเข้าถึงไซต์ต่าง ๆ
โดยการบล็อคสามารถบล็อคด้วยค่าของ โดเมน IP
Address หรือแม้แต่ keyword
นอกจากนี้สามารกกำหนดได้ว่าจะบล็อดในช่วงเวลาไหนของแต่ละวันและสามารถกำหนดกลุ่มในการบล็อคได้
แต่ในที่นี้จะเป็นตัวอย่างการบล็อคที่เป็นการบล็อคโดเมน
และ URL ครับ
โปรแกรมที่ต้องติดตั้ง
1. Squid
2. BerkeleyDB
3. squidGuard
การติดตั้งและคอนฟิก squid
ดูตัวอย่างการติดตั้งได้จาก
http://www.itwizard.info/technology/linux/squid_install_and_config.html
การติดตั้ง 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 |